Woow micsoda cím. Hekkerkedjünk egy kicsit! Először vázolom miért folyamodtam ilyen eszközhöz utána elmondom mire lehet még használni.
Szükségem volt a BME egyik tárgyának egyik régi zárthelyi dolgozatára. Fel szokták tölteni őket a http://cs.bme.hu/~wiener/bsz2 oldalra. A gond az, hogy amikor nekem kellett, akkor már nem volt kint a link, így már nem tudtam letölteni. Reménykedtem, hogy a szerverről még nem törölték le. Végül igazam lett. Mi kellett, hogy megtaláljam? Egy URL pásztázó szkript!
Ezt lehet használni arra, hogy megtaláljunk elveszett fájlokat - illetve arra, hogy rábukkanjunk a netre nem linkelt, de a szerveren elérhető rejtett fájloka. Szóval csak óvatosan! :D
Az ötlet: generáljunk random fájlneveket, mindegyiket teszteljük le, hogy elérhető-e a megadott url-en, és egyszer csak meglesz a fájl. Vannak ilyen penetration test eszközök online is, de a többségük fizetős. Az első próbálkozásom az volt, hogy megpróbáltam legenerálni a-z és 0-9 betűkből és számokból az összes permutációt, lényegében az összes létező n darab karakterből álló szót:
a, b, c, d ... aa, ab, ac, ad ... aaa, aab, aac, aad ... aba, abb, abc, abd ...
Első ötletnek jó, de ha belegondolunk, már egy 8 karakteres fájlnévnél is 36^8 = 2'821'109'907'456 (2821 milliárd) lehetőség van - és emlékeim szerint igen hosszú 10-14 karakteres volt a keresett dolgozat fájlneve.
Ez nem jó - kell valami más ötlet. Arra emlékeztem hogyan szokták elnevezni a feltöltött ZH-kat. PL így: zh_2014.pdf vagy: bsz2_zh1_tavasz.pdf
Itt a megoldás: állítsunk össze egy szólistát, amiből szokott állni a fájlok neve, és ezeket felhasználva generáljuk le az összes lehetőséget. Például itt egy szólista amiben vannak számok, aláhúzás- és kötőjel, és pár fontos szó:
bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav
Ezekből a szavakból kellene kirakni a fájlneveket. Például: tavasz-2014-zh1.pdf vagy zh_pontozas_14_osz.pdf Ezeket szépen ki lehet "pázlizni".
A kirakós szkript:
#!/bin/bash
echo -e http://cs.bme.hu/~wiener/bsz2/{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}.pdfecho -e http://cs.bme.hu/~wiener/bsz2/{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}.pdf
echo -e http://cs.bme.hu/~wiener/bsz2/{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}.pdf
echo -e http://cs.bme.hu/~wiener/bsz2/{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}{bsz,zh,14,_,-,2014,tavjav,bsz2,tavasz,osz,1,2,3,4,pontozas,tav}.pdf
Igen ez sajnos ilyen ronda - mivel vannak benne { } kapcsos zárójeles tartománylisták, ezért nem is lehet ráhúzni for ciklust, így hát sokszor le kell írni dolgokat.
Ezt szeretném egy fájlba generálni úgy, hogy minden fájlnév egy külön sorba kerüljön. Ehhez a szkript kimenetét átpipeolom a tr-nek ami lecseréli a szóközöket enterre végül az egészet kiírom fájlba a > jellel.
./gen.sh | tr " " "\n" > list.txt
Íme a kimenet egy részlete. Öszesen ~70'000 sor
Ezt kell odaadni a wget-nek, ami szépen végigpróbálgatja a linkeket és letölti ami elérhető.
wget -i list.txt
Le is jött 4 fájl, a teljes folyamat csak 20 percig tartott. Szegény szerver biztos nyögött egy nagyot a sok HTTP kéréstől:
Fakje meglett a keresett 4 fájl is:
Szóval akkor ezentúl minden ZH előtt gyorsan pásztázok egyet, hátha rábukkanok valami érdekesre :D
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
pythonozok · http://visszabeszelo.blog.hu 2015.01.24. 00:34:51
(szóval ilyen próbálgatást ha lehet, inkább ne... ami nincs publikusan linkelve, annak oka van többnyire)
numlockholmes 2015.02.20. 11:23:22
Persze a rendszergazdi letilthat, ahogy írtad. Paranoiásoknak VPN-ről vagy TOR ról kell nyomulnia :)
423. § (1) Aki
a) információs rendszerbe az információs rendszer védelmét biztosító technikai intézkedés megsértésével vagy kijátszásával jogosulatlanul belép, vagy a belépési jogosultsága kereteit túllépve vagy azt megsértve bent marad,
b) az információs rendszer működését jogosulatlanul vagy jogosultsága kereteit megsértve akadályozza, vagy
c) információs rendszerben lévő adatot jogosulatlanul vagy jogosultsága kereteit megsértve megváltoztat, töröl vagy hozzáférhetetlenné tesz,
vétség miatt két évig terjedő szabadságvesztéssel büntetendő.
pythonozok · http://visszabeszelo.blog.hu 2015.02.20. 11:30:42
pythonozok · http://visszabeszelo.blog.hu 2015.02.20. 11:33:13
2colours 2017.06.04. 21:08:28
Szóval kötekedni én is tudok. :P