normis_161 Posted September 17, 2012 Report Share Posted September 17, 2012 (edited) Diemžēl nevarēju atrast atbildi šajā topikā, un tāpēc veidoju jaunu. Situācija ir tāda, ka tagad lasu, kā tiek veidotas MySQL injekcijas un gribējās arī prakstiski izmēģināt tās. Bet problēma radās ar to, ka nezinu kādu vidi nepieciešams izveidot, lai varētu izmēģināt pēc iespējas dažadāka veida MySQL injekcijas. Uz doto brīdi studēju šo rakstu. Pagaidām ir sanācis izmēģināt tikai viena veida MySQL injekciju. Izmantotais kods ir sekojošs: <form action = "index.php" method = "post"> <table> <tr><td>Uzvārds:</td><td><input type = "text" name = "surname"/></td></tr> <tr><td>Parole:</td><td><input type = "password" name = "password"/></td></tr> <tr><td><input type = "submit" name = "login" value = "Ienākt"/></td></tr> <tr><td><input type = "submit" name = "epasts" value = "Aizmirsta parole"/></td></tr> <tr><td><input type = "submit" name = "register" value = "Reģistrēties"/></td></tr> </table> </form> <?php if(isset($_POST['login'])){ $uzvards = $_POST['surname']; $parole = $_POST['password']; $query = mysql_query("SELECT * FROM lietotaji WHERE uzvards = '$uzvards' AND parole = '$parole'"); $count = mysql_num_rows($query); if($count){ echo "Sveiks $uzvards";} else {echo "nepareizs lietotajs";} } ?> Kā redzams nekādas pārbaudes netiek veiktas. Pagaidām ir sanācis izveidot vienu veiksmīgu MySQL injekciju, kad ievadlaukā laukā tiek ievadīta sekojoši dati: ' or '1' = '1 Bet ja vēlētos jau šādu variantu, piemēram, izmantot: $query = mysql_query("SELECT * FROM lietotaji WHERE parole = 'c'; DROP TABLE lietotaji;") Tad jau rodas problēma ar to, ka mysql_query neatbalsta divu vaicājumu izveidošanu vienā. Šī iemesla dēļ rodas jautājums, kādu vidi vislabāk izmantot, kuru būtu pēc iespējas būtu tūvāka reālai dzīvei, lai varētu nodemonstrēt kā strādā MySQL injekcijas izmantojot tādus ievadlaukus, kas man piemēra ir parādīti? Edited September 17, 2012 by normis_161 Quote Link to comment Share on other sites More sharing options...
zintis8789 Posted September 17, 2012 Report Share Posted September 17, 2012 (edited) http://www.unixwiz.n...-injection.html Un jautājums kapēc tu mācies injekcijas? Bet fakts: Kā var aizsargāt lapu, ja nezini kā viņu nogāzt.. Edited September 17, 2012 by zintis8789 Quote Link to comment Share on other sites More sharing options...
normis_161 Posted September 17, 2012 Author Report Share Posted September 17, 2012 Lai labāk izprastu šo tēmu, un man ir jāizstrādā darbs par datu bāžu drošību mācību nolūkos. Šī iemesla dēļ man radās ideja, ka varētu izveidot vidi, kur varētu nodomonstrēt kā strādā šīs injekcijas. Bet pie paša vnk piemēra, nesanāk visu reālizēt kā gribētos. Quote Link to comment Share on other sites More sharing options...
zintis8789 Posted September 17, 2012 Report Share Posted September 17, 2012 salidzini: mysql_query("SELECT * FROM lietotaji WHERE parole = 'c'; DROP TABLE lietotaji;") Un: SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; DROP TABLE members; --'; Quote Link to comment Share on other sites More sharing options...
krikulis Posted September 17, 2012 Report Share Posted September 17, 2012 Nu ... variants, kad uztaisa DROP TABLE īsti nav IRL redzēts. Reālāks keiss ir discloure ar UNION SELECT (SELECT no informaction_schema palīdz atrast DB struktūru). Palasi bugtraq pameklē open source PHP appu exploitus un papēti tos :)). Quote Link to comment Share on other sites More sharing options...
Kemito Posted September 18, 2012 Report Share Posted September 18, 2012 Loģiski veido vienu vaicājumu, ar apakšvaicājumiem? Quote Link to comment Share on other sites More sharing options...
codez Posted September 18, 2012 Report Share Posted September 18, 2012 Liels paldies par skaidrojumu , tagad es nedarīšu šādu kļūdu . Gaidu to brīdi, kad boti sāks iesaistīties arī flamewar diskusijās un pie tam spēs pateikt arī kaut ko sakarīgu. Tad cilvēks savu laiku būs nokalpojis un varēs paiet malā. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.