snach15 Posted January 21, 2013 Report Share Posted January 21, 2013 nekad nēesmu mēģinājis iepriekš veikt injekciju, gribēju pastīties kā tas notiek, lai saprastu un tad arī labāk var aizsargāties no viņas, uztaisīju vienkāršu neaizsargātu formu un caur inputu nosūtīju injekciju, piemēram drop table users--' ,bet nav reakcijas nekādas, neskaitot to kad viņš to tekstu kuru sūtu ieliek manā tabulā, mēģināju citus kodus un arī neiet.. kā pareizi veic injekciju un ja daru pareizi tad kpc nenotiek tas kam vajadzētu notikt? Quote Link to comment Share on other sites More sharing options...
snach15 Posted January 21, 2013 Author Report Share Posted January 21, 2013 mēģināju arī šādi un vēl 30 citādāka veida kodus x'; DROP TABLE users; -- Quote Link to comment Share on other sites More sharing options...
waplet Posted January 21, 2013 Report Share Posted January 21, 2013 Acīmredzot esi drošs pret injekciju. Ar mysql php nestradās šaids. Jo php mysql neļauj multiple querie exec'ūtot. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 21, 2013 Report Share Posted January 21, 2013 Tieši tā. Bet vari izdarīt šādi... `DELETE FROM `users` WHERE `user_id` = {{ user_id }};` `1 OR 1 = 1` Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted January 26, 2013 Report Share Posted January 26, 2013 (edited) daGrevja piemērs ir reālākais variants. Injekcijas notiek tad, ja nevalidē datus. Pašsaprotami, ka visus datus, kas nāk no nedrošiem avotiem, ir jāvalidē. Visi dati, kas nāk no interneta, ir nedroši. Arī tie, kas nāk caur hidden laukiem, JS/Ajax, Flash, kurus normāls lietotājs neredz, bet prasmīgs lietotājs var viegli pamainīt. $userId = (int) $_POST['user_id']; un visādi tur OR i pazudīs. Protams, vēl jāpārbauda, vai POST mainīgais eksistē un vai attiecīgo user_id ir tiesības dzēst. Bet, ja rīkojas šādi: $sql = 'DELETE FROM users WHERE user_id = ' . $_POST['user_id']; tad pazudīs datubāzes ieraksti, pazudīs arī reputācija, arī darbs... tad viss pazudīs! Tekstu gadījumā, protams, escape string. Elementāri! Un nekādā gadījumā risinājums nav kaut kas vairāk par iesācēja izmēģinājuma kodu, ja tas neļauj meklēt un atrast, piemēram, «SIA "Traktors"». Starp citu, ` un ' ir atšķirīgas lietas. Edited January 26, 2013 by Mr.Key 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.