Mysql聞喘SQL議芦畠諒籾?Mysql契峭SQL廣秘
<貧匯准
和匯准>
SQL廣秘酒峰
SQL Injection好似醤嗤載寄議裡墾?好似宀辛參旋喘万響函、俐個賜宀評茅方象垂坪議方象?資函方象垂嶄議喘薩兆才畜鷹吉樗湖佚連?封崛辛參 資誼方象垂砿尖埀議幡尫。泌惚嬬校壅旋喘SQLServer制婢贋刈狛殻才徭協吶制婢贋刈狛殻栖峇佩匯乂狼由凋綜?好似宀珊辛參資誼乎狼由議陣崙幡。遇拝?SQL Injection 匆載佃契袈。利嫋砿尖埀涙隈宥狛芦廾狼由温供賜宀序佩酒汽議芦畠塘崔序佩徭厘隠擦?匯違議契諮能匆涙隈盛舜SQL Injection 好似。SQL Injection 圻尖?
潤更晒臥儂囂冱(SQL)頁匯嶽喘栖才方象垂住札議猟云囂冱。SQL Injection 祥頁旋 喘蝶乂方象垂議翌何俊笥委喘薩方象峨秘欺糞縞議方象垂荷恬囂冱(SQL)輝嶄?貫遇器欺秘盃方象垂痛崛荷恬狼由議朕議。万議恢伏麼勣頁喇噐殻會斤喘薩補秘 議方象短嗤序佩冢鯉議狛陀?擬崑掲隈方象垂臥儂囂鞘議峇佩。
泌和中議喘薩鞠遜刮屬殻會?
$sql = "SELECT * FROM user WHERE username='$username' AND password='$password'";
$result = mysql_db_query($dbname, $sql);
泌惚厘断戻住泌和url?
http://127.0.0.1/injection/user.php?username=angel' or '1=1
椎担祥辛參撹孔鞠遜狼由?徽頁載?堡師皺〜司芭卉敗て攀庁mq稹卉拝何敏埓虵?sql議廣瞥囂鞘糞孖sql廣秘?泌和中議箭徨?
http://127.0.0.1/injection/user.php?username=angel'/*
http://127.0.0.1/injection/user.php?username=angel'%23
宸劔祥委朔中議囂鞘公廣瞥渠阻?傍傍宸曾嶽戻住議音揖岻侃?厘断戻住議及匯鞘頁旋喘貸辞塰麻?及屈、眉鞘頁功象mysql議蒙來?mysql屶隔/*才#曾嶽廣瞥鯉塀?侭參厘断戻住議扮昨頁委朔中議旗鷹廣瞥渠?峙誼廣吭議頁喇噐園鷹諒籾?壓IE仇峽生戦戻住#氏延撹腎議?侭參厘断壓仇峽生戻住議扮昨?哘乎戻住%23?嘉氏延撹#?祥撹孔廣瞥阻? 宸倖曳貸辞塰麻酒汽誼謹阻。
蝕窟嶄辛參寡函議企仏
1) prepareStatement + Bind-variable斤Java才Jsp 蝕窟議哘喘?辛參聞喘 prepareStatement + Bind-variable 栖契峭sql廣秘?総翌貫PHP 5蝕兵?匆壓制婢議mysqli嶄屶隔prepared statements?侭參壓聞喘宸窃囂冱恬方象垂蝕窟扮?膿倉秀咏聞喘prepareStatement + Bind-variable 栖糞孖?遇勝楚音勣聞喘憧俊議sql。
2) 聞喘哘喘殻會戻工議廬算痕方
載謹哘喘殻會俊笥脅戻工阻斤蒙歩議忖憲序佩廬算議痕方?如輝議聞喘宸乂痕方?辛參契峭哘喘殻會喘薩補秘聞哘喘殻會伏撹音豚李議丼惚議囂鞘議方峙。
- MySQL C API?聞喘mysql_real_escape_string() API距喘。
- MySQL++?聞喘escape才quote 俐蔑憲。
- PHP?聞喘mysql_real_escape_string()痕方?癖喘噐PHP 4.3.0?岻念議井云萩聞喘mysql_escape_string(), PHP 4.0.3岻念議井云萩聞喘addslashes())。貫PHP 5蝕兵,辛參聞喘制婢議mysqli?宸頁斤MYSQL仟蒙來議匯倖制婢屶隔?凪嶄議匯倖單泣祥頁屶隔prepared statements。
- Perl DBI ?聞喘placeholders賜宀quote()圭隈。
- Ruby DBI ?聞喘placeholders賜宀quote()圭隈。
- Java JDBC ?聞喘PreparedStatement才 placeholders。
3) 徭失協吶痕方序佩丕刮
泌惚孖嗤議廬算痕方挽隼音嬬諾怎勣箔?夸俶勣徭失園亟痕方序佩補秘丕刮。補秘刮屬頁匯倖載鹸墫議諒籾。補秘刮屬議余抄辛參蛍葎參和叱嶽?
- 屁尖方象聞岻延誼嗤丼?
- 詳蒸厮岑議掲隈補秘?
- 峪俊鞭厮岑議栽隈議補秘。
侭參泌惚?勣資誼恷挫議芦畠彜蓑?朕念恷挫議盾畳一隈祥頁斤喘薩戻住賜宀辛嬬個延議方象序佩酒汽蛍窃?蛍艶哘喘屎夸燕器塀栖斤喘薩戻工議補秘方象序佩冢鯉議殊霞才刮屬。
<貧匯准
和匯准>