2017-05-30 59 views
1

我製作了一個易受SQLi攻擊的網站。 但是,當我運行GET請求與SQLi'--我得到錯誤的查詢輸出。有人可以幫我弄這個嗎?SQLi運行錯誤的查詢

這是我SQLI

enter image description here

這是怎麼運行的SQL查詢。

enter image description here

SQL查詢假設是不同的。應該是:SELECT * FROM product WHERE id LIKE '%'它應該輸出product表中的所有數據。

代碼片斷

enter image description here

+0

是什麼'$ _GET [ '測試']'回來嗎? – Akintunde007

+0

$ _GET ['test'] echo's:' - – melkawakibi

+0

爲什麼你甚至會建立一個可注入sql的網站? – Naruto

回答

2

這是正確的,它做什麼,你告訴它給定的輸入。

GET請求值是'--並且在您的SQL查詢字符串中替換變量$test。但它並沒有刪除之後之後的$test變量在SQL查詢字符串中。

讓我用一些顏色編碼向您展示:

SELECT * FROM產品WHERE ID LIKE '%$test%'

SELECT * FROM產品WHERE ID LIKE '%'--%'

字符--構成SQL註釋的開始,因此在SQL注入發生後,任何後面的內容都會被忽略。查詢的唯一功能部分是:

SELECT * FROM產品WHERE ID LIKE '%'

+0

很好的答覆,謝謝你的知識。 – melkawakibi