在這個關卡學習到了
1.程式的錯誤不是學校收費亂來的,單引號的錯誤和減號的錯誤要明白
單引號報錯。
用第一關的payload嘗試了下。
來看看原始碼:
那麼我們構造的sql也就變成了
$sql="select * from users where id=1' or 1=1 --+ limit 0,1";
如此一來id=1'就不被執行,語句也就成了:
用mysql測試一下,如下圖。的確如此!
那麼單引號不行就換負號,就是減號唄。
這回自然是可以了。
完整的sql語句如下:
$sql="select * from users where id=-1 or 1=1 --+ limit 0,1";
最終執行的mysql語句為:
select * from users where 1=1 --+ limit 0,1;該條語句是一條有效的sql語句,即可以成功執行。
這裡需要理解的是單引號的錯誤和負號的錯誤是什麼概念。
單引號的錯誤是指語法錯誤
負號的是因為不存在而提示的錯誤
如此知道了緣故那麼繼續操作哈。
Sqli LABS通關筆錄 4
這一關卡讓我學習到了 1.管他如何,想方設法先讓sql報錯再說。從報錯中構造sql注入語句。2.單引號不行就來雙引號。括號等等的。這次單引號沒反應了。以後我們先來黑盒測試,實在沒轍再看 1有反應但是沒資料 想辦法把他弄報錯。正在掙扎之際。成功了。不下心看了一下原始碼的。否則還真不好搞。測試了很多方法...
Sqli LABS通關筆錄 1
在第乙個關卡當中還是學到些知識。1.注釋語句多試試其他的幾個 2.不報錯可能是前面的語句沒有錯誤,union沒有得到執行。加單引號報錯了。從上面的錯誤提示當中,我們可以看到提交到sql中的1 在經過sql語句構造後形成 1 limit 0,1,多加了乙個 接下來想如何將多餘的 去掉 可以借鑑一下原始...
Sqli labs 通關函式寶典
1 include file path 快速呼叫指向的檔案,引數為檔案路徑。可以為絕對路徑和相對路徑。擴充 require file path 與include 相同。區別在於,遇到錯誤報告時,require停止執行,返回錯誤 include繼續執行,返回警告。2 error reporting x...