sql注入攻擊登入頁面

2021-07-25 16:24:41 字數 794 閱讀 3611

適用範圍:

1. 如果乙個系統是通過

select * from accounts where username='admin' and password = 'password'這種顯式的sql來進行登陸校驗,

也就是執行這個sql語句,如果資料庫中存在使用者名為admin, password為password的使用者,就登陸成功,否則就登陸失敗。

2. 系統沒有對使用者輸入進行全面的過濾

3. 系統後台使用的是mysql資料庫

4. 系統中存在乙個user name為admin的使用者

攻擊原理:

利用mysql的注釋功能,也就是"/*", mysql執行sql指令碼時,如果遇到/*標示符,就會把之以後的sql當做注釋而不會執行,

正常情況下使用者在使用者名稱框內輸入"admin",在password框內輸入"password", 後台執行的sql語句就為

select * from accounts where username='admin' and password = 'password'

但是如果在使用者名稱框內輸入"admin' and 1=1 /*", 在密碼框內輸入任意字串,那麼後台執行的sql就為

select * from accounts where username='admin' and 1=1 /* and password = 'aa', 可以看到資料庫實際執行的sql為

select * from accounts where username='admin' and 1=1, 而/*後面的sql就被當做注釋而忽略掉了,登陸成功!

sql注入攻擊

使用者可以利用向php表單輸入的資料完成對mysql的注入攻擊。例如我的查詢是 insert table into xx values 使用者名稱 號碼 檔案 0 在使用者輸入時最後一位只能是0.使用者不需要輸入 這時使用者在號碼處輸入 10000 x.gif.1 雙連字元後加乙個空格是sql的注釋...

sql注入攻擊

簡單判斷是否有漏 www.abc.asp?id 1,www.abc.asp?id 1 and 1 1 kali 檢視所有的資料庫 sqlmap u www.abc.asp?id 1 dbs current user 是否有漏洞會有相應資訊 檢視所有的表 sqlmap u www.abc.asp?id...

注入攻擊之sql注入

在1998年,一位名為rfp的黑客發表了一篇題為 nt web technology vulnerabilities 的文章 注入攻擊的兩個條件 1 使用者能夠克制資料的輸入 在這裡,使用者能夠控制變數 2 原本要執行的 憑藉了使用者的輸入 一般輸入乙個 單引號就能引起執行查詢語句的語法錯誤,有些伺...