1.加入單引號 ’提交,
結果:如果出現錯誤提示,則該網站可能就存在注入漏洞。
2.數字型判斷是否有注入;
語句:and 1=1 ;and 1=2 (經典)、' and '1'=1(字符型)
結果:分別返回不同的頁面,說明存在注入漏洞.
分析:and 的意思是“和”如果沒有過濾我們的語句,and 1=1就會被代入SQL查詢語句進行查詢,
如果and前后的兩條語句都是真的話就不會出錯,但如果前后語句有一個為假的話,程序就會暴錯。
也就表明程序有注入漏洞
防注入解決辦法:
使用or 2>1 ; or 1>2來進行判斷
結果:分別返回不同的頁面,說明存在注入漏洞.
分析:or注入只要求前后兩個語句只要有一個正確就為真,如果前后兩個語句都是正確的,反而為
假。
記住:or注入時,or后面的語句如果是正確的,則返回錯誤頁面!如果是錯誤,則返回正確頁面
,說明存在注入點。
使用xor 1=1; xor 1=2
結果:分別返回不同的頁面,說明存在注入漏洞.
分析:xor 代表着異或,意思即連接的表達式僅有一個為真的時候才為真。
記住:xor注入時,xor后面的語句如果是正確的,則返回錯誤頁面積,如果是錯誤,則返回正確
頁面,說明存在注入點。
把and 1=1轉換成URL編碼形式后在提交
and 1=1 URL編碼:%41%4E%44%20%%31%3D%31
使用-1;-0
分析:如果返回的頁面和前面不同,是另一則新聞,則表示有注入漏洞,是數字型的注入漏洞;在
URL地址后面加上 -0,URL變成 news.asp?id=123-0,返回的頁面和前面的
頁面相同,加上-1,返回錯誤頁面,則也表示存在注入漏洞.
3.字符型判斷是否有注入:
語句:' and '1'=1;' and '1=2(經典)
結果:結果:分別返回不同的頁面,說明存在注入漏洞.
分析:加入' and '1'=1返回正確頁面,加入' and '1=2返回錯誤頁面,說明有注入漏同。
防注入解決辦法:
在URL的地址后面加上'%2B'(字符型)
分析:URL地址變為:news.asp?id=123'%2B',返回的頁面和1同;加
上'2%2B'asdf,URL地址變為:news.asp?id=123'%2Basdf,返回的頁面和1
不同,或者說未發現該條記錄,或者錯誤,則表示存在注入點,是文本型的。
4.搜索型判斷是否有注入:
簡單的判斷搜索型注入漏洞存在不存在的辦法是先搜索',如果出錯,說明90%存在這個漏洞。然后搜
索%,如果正常返回,說明95%有洞了。
說明:加入如"&;"、"["、"]"、"%"、"$"、"@"等特殊字符,都可以實現,如果出現錯誤,說明有問題
操作:
搜索一個關鍵字,比如2006吧,正常返回所有2006相關的信息,再搜索2006%'and 1=1 and '%'='和
2006%'and 1=2 and '%'=',存在異同的話,就是100%有洞了。
關鍵字%' and 1=1 and '%'='%
關鍵字%' and 1=2 and '%'='%
將and 1=1 換成注入語句就可以了
