Mysql & SQL injection
Tänapäeval on väga väga suur hulk veebilahendusi n.n LAMP (Linux, Apache, MySql, Php) tüüpi. Paar huvitavat MySql apsu mida võib kergelt teha.
Meil on tabel test id int, name varchar(255)
http://ftp.margusja.pri.ee/mysql/?id=1
Meil on php sees sql $query =”SELECT * FROM demo where id = $id” kui see niimoodi kirjutada ja GET parameetrit id ei kontrollita siis on võimalik kasutada n.n blind sql meetodit.
http://ftp.margusja.pri.ee/mysql/?id=1 annab meile tulemuse. Proovime siis muuta urli real get parameetrit id. http://ftp.margusja.pri.ee/mysql/?id=1+and+1=2 – tulemust ei ole, kuigi id=1. Järelikult on meil võimalus mõjutada SLQ lauset mida php käivitab. Mida huvitavat selle tulemuselt teha saab on nüüd igaühe oskuste asi aga paar näidet siia.
http://ftp.margusja.pri.ee/mysql/?id=2+union+select+12,version() – MySql serveri versioon
http://ftp.margusja.pri.ee/mysql/?id=2+union+select+12,user() – kasutaja ja host antud koodi suhtes.
Oletame et tabelis on mitmeid kirjeid. Üks võimalus on proovida id=x, id=x+1 jne…
Samas kui on jäetud selline auk siis toimiba ka
http://ftp.margusja.pri.ee/mysql/?id=0+or+id>0 = http://ftp.margusja.pri.ee/mysql/?id=0+or+id%3C0 st. %3E =>
Siin on veel palju ja palju võimalusi. Aga mida siis annab teha et teie tehtud lahendust seda
kaudu nii kergelt ei saaks lammutada?
Kindlasti kontrollige oma GET/POST/ muutujad enne kui annate need koodi kätte.
Kuidas oleks cool ennast ära tappa
Kergelt ametitsest
Insener
Mees sõidab oma mootorrattal mööda käänulisi metsateid ja märkab, et
on eksinud. Kurvi taga näeb ta tee ääres seismas teist ratast ja üht
baikerit seda remontimas. Mees peatub ja küsib: “Vabanda, kas
saaksid mind aidata?
Lubasin ühele sõbrale, et saan temaga juba tund aega tagasi kokku,
aga ma ei tea, kus ma olen.”
Mootorratast parandav mees vastab: “Muidugi saan, istud oma tuttuuel
mootorrattal ja sinu asukoht on 40-41 põhjalaiust ja 59-60 idapikkust.”
“Sa pead olema insener,” ütleb eksinud mootorrattur.
“Olen jah,” vastab mees, “aga kust sa teadsid?”
“No kõik, mida sa rääkisid, on küll tehniliselt õige, aga mul ei ole
aimugi, mida sinu infoga peale hakata ja tegelikult olen endiselt
eksinud.”
Tööriistad maha pannud baiker vastab: “Sa pead olema juht.”
“Olen jah,” vastab mees, “aga kuidas sa teadsid?”
“No sa ei tea, kus sa oled ja kuhu lähed. Oled andnud lubaduse ja
sul pole aimugi, kuidas seda täita, ja sa ootad, et mina lahendaksin
su probleemi.
Tegelikult oled täpselt samas olukorras, kui enne meie kohtumist,
aga nüüd on see millegipärast minu viga.”
———————————————–
Konsultant
Sõites autoga golfiväljakult koju nägi üks juhtimiskonsultant tee
ääres heinamaal hiiglasuurt lambakarja. Kui konsultant märkas ka
lambakarjust, peatas ta auto ja ütles karjasele: “Küll sul on suur
kari karjatada. Kui ma suudan täpselt ära arvata, mitu lammast su
karjas on, kas saan siis ühe lamba endale?”
Karjus mõtles hetke, leidis, et konsultandi pakkumisega nõustumine
on riskivaba ja lubas talle ühe lamba.
Konsultant võttis välja oma simulaatori, lõi satelliitühenduse,
mõõtis heinamaad jne. Kaks tundi hiljem sulges ta oma arvuti, läks
karjase juurde ja ütles: “Sinu karjas on 5147 lammast.”
Karjane oli hämmingus, aga tunnistas, et konsultandil on õigus.
Konsultant võttis lähima lamba sülle ja viis auto tagaistmele.
Karjane ütles konsultandile: “Kas ma saan oma lamba tagasi, kui
arvan ära sinu ameti?”
Konsultant oli küsimusest üllatunud, aga temagi arvestas, et risk on
olematult väike ja jäi nõusse.
Karjane ütles: “Oled juhtimiskonsultant, eks ole?”
Nüüd oli konsultandi kord hämmingusse sattuda ja ta tõdes: “Kuidas
sa seda teadsid?”
Karjane ütles: “See oli lihtne. Esiteks – keegi ei ole palunud sul
siia tulla. Teiseks – nägid kõvasti vaeva, et ütelda mulle midagi
sellist, mida ma juba niigi tean. Ja kolmandaks – ilmselt ei tea sa
minu alast midagi, sest sinu võidulammas on tegelikult minu koer.”
—————————————————————————-
Projektijuht
Turist tuli loomapoodi ja jälgis kõrvalt eelmist klienti:
“Kas ma saaksin ühe C-ahvi, palun?”
Müüja noogutas, läks seina ääres oleva puuri juurde ja tõi kliendile
ahvi.
Ta pani ahvile kaelarihma ja ulatas looma kliendile sõnadega: “See
teeb kokku 25 000 eurot.”
Klient maksis ja väljus koos ahviga. Turist läks kohkununa müüja
juurde ja
küsis: “Oli see vast kallis ahv! Miks ta nii palju maksis?”
Müüja vastas: “Jaa, see ahv oskab programmeerida C-keeles eriti
kiiresti.
Head koodid, vigu ei tee. Vägagi kogu raha väärt ahv.”
Turist vaatas teises puuris olevat ahvi: “See on veel kallim! 50 000
eurot!
Mida see ahv teha oskab?”
“Nii, see on C++ahv. Ta oskab objektorienteeritud programmeerimist,
C++programmeerimist ja isegi Java-keelt. Tulemus on eriti
kasutuskõlblik,”
ütles müüja.
Turist vaatas veel veidi ringi ja nägi kolmandat ahvi oma privaatses
puuris.
Silt ahvi kaelas teatas tema hinnaks 250 000 eurot. Turist ütles
müüjale:
“See maksab sama palju kui kõik teised kokku! Mida IMET see ahv teeb?”
Müüja vastas: “No ma ei ole kunagi näinud teda midagi tegemas, aga
teised ahvid kutsuvad teda projektijuhiks.”
imapsync
Aegajalt tuleb ikka ette et on tarvis ühest masinast teise postkast tõsta. Antud juhul on meil kaks serverit 1. Fedora Core release 4 (Stentz) / cyrus-imapd-2.2.12-6.fc4 2. Fedora Core release 4 (Stentz) / cyrus-imapd-2.2.12-6.fc4.
Plaan siis 1. masinast user@domeen mailbox saada 2. masinasse. 2. masinas tegin valmis kasutajaKuna ei soovinud oma ilusat distrot rikkuda ise kompileeritud kolaga siis tõmbasin kohale http://dag.wieers.com/rpm/packages/imapsync/imapsync.spec spec failis muutsin versiooni uuemaks.
src tõmbasin aadressilt http://www.linux-france.org/prj/imapsync/dist/
1. katse andis # rpmbuild –ba imapsync.spec
error: Failed build dependencies:
perl(Mail::IMAPClient) is needed by imapsync-1.99-1.noarch
vajaliku srpm-i leidsin aadressilt http://apt.sw.be/packages/perl-Mail-IMAPClient/perl-Mail-IMAPClient-2.2.9-1.rf.src.rpm
# rpmbuild –rebuild perl-Mail-IMAPClient-2.2.9-1.rf.src.rpm
Installing perl-Mail-IMAPClient-2.2.9-1.rf.src.rpm
Peale seda oli ka imapsync kenasti nõus toimetama.
imapsync –host1 localhost –user1 kasutaja_domeen –password1 xxx–host2 host2.domeen –user2 kasutaja_domeen –password2 xxx
Natuke aega tegi asja ja kena. Uues kohas oli kenasti kõik olemas, v.a IMAP kataloogid ei olnud aktiivsed.
Tegin need aktiivseks ja kasutaja oli väga rahul.
Juhtus nii, et kopeerides kirju IMAPD serverist Cyrus IMAP serverisse sain:
From Folder [INBOX.Sent]
To Folder [INBOX/Sent]
To Folder INBOX/Sent does not exist
Creating folder [INBOX/Sent]
Couldn’t create [INBOX/Sent]190 NO Invalid mailbox name
Abiks oli –prefix1 INBOX.
Sai timmitud asja. Uuendasin 1.239 peale.
imapsync -host1 remotehost-user1 user -password1 xxx -host2 localhost -user2 username -password2 xxxx –noauthmd5 –prefix1 INBOX.
Nostalgia
Ull pani suvel varu, noh juhtub.
Kuna sellel teemal siin seal natuke targutatud siis sattusin pildile mida polnud enne näinud.
Ja huvitavad tunded tulid… Mingi aeg Kodilas mina olin suht paha paha ja Ull oli hea hea. Mina aga kärutasin traadist kokku
seotud tsikliga staadionil ja ull piilus oma maja aiast. Küll temagi oleks tahtnud meie kombel seal
staadionit lõhkuda, aga ei olnud kombekas. Samas ei suutnud ta veel vastuolulisemale tundele vastu panna! Meie tsiklite juhtmed ei olnud
mitte kokku tinutatud või siis ühenduskarpide all vaid oh õudust, lihtsalt kokku keritud ja isoleerimata!
Vot seda ei suutnud Ull välja kannatada! Vedas kutt ennast siis üle tara ja tuli ligi kui me oma tsikleid vahtisime, et miks ei pela!
Ull taris tsikli oma kuuri ja ütles et nüüd läheb natukene aega… umbes hommikuni läks.
Peale seda oli mul üle-küla tsikkel, kõik juhtmed kenasti mitte lihtsalt tinutatud kokku vaid kenasti ühenduskarbis. Noh umbes nii see oli.
Üldiselt pean ma vist tänama et ma sellise tsikliga seal paarutasin, Ullul on minu edaspidises
elus sigapalju osalust olnud. Aga allolevat pilti vaadates tuli lihtsalt sellised mõtted.
Dee, kui hea on olla!
Paljud ehk ei m6ista, aga deem-deem kui rahul ma sellel hetkel enda ja oma elug olen!!! Ma usun et ma sellel hetkel t6esti teadsin miks linnud laulavad. Ma ei tea mul on mingi kiiks nende sygiseste pimedata maandumistega… viimane t6us, 6pilasi peaaegu enam ei ole… k6ik on maha rahunenud… l2hed ylesse, p2ikest on veel n2ha 2.5 km. pealt. hypad v2lja taevas on hoopis teist v2rvi. J6ud maha, praktiliselt pime, minnes ei olnud veel 🙂 peale maanudmist ei ole enam kiiret kuhugi, p2ev on l2bi. deem, deem, deem kui lahe!!!