1. 程式人生 > >SQL註入原理——萬能密碼註入

SQL註入原理——萬能密碼註入

網站 www. rom 用戶名 原理 結果 行數據 運算符 com

【萬能密碼】的原理
用戶進行用戶名和密碼驗證時,網站需要查詢數據庫。查詢數據庫就是執行SQL語句。針對此BBS論壇,當用戶登錄時,後臺執行的數據庫查詢操作(SQL語句)是【Selectuser id,user type,email From users Where user id=’用戶名’ And password=’密碼’】
由於網站後臺在進行數據庫查詢的時候沒有對單引號進行過濾,當輸入用戶名【admin】和萬能密碼【2’or’1】時,執行的SQL語句為【Select user id,user type,email From users Whereuser id=’ admin’ And password=’ 2’or1】。同時,由於SQL語句中邏輯運算符具有優先級,【=】 優先於【and】,【and】 優先於【or】,且適用傳遞性。因此,此SQL語句在後臺解析時,分成兩句【Select user id,user type,emall From users Where user id=’ admin Andpassword=’2’ 】和【’1’ 】 兩句bool值進行邏輯on運算,恒為TRUE。SQL語句的查詢結果為TRUE,就意味著認證成功,也可以登錄到系統中。

www.hanbotec.com

SQL註入原理——萬能密碼註入