靶場練習 Sqli labs通關記錄(1 4關)

2022-02-19 09:29:22 字數 2472 閱讀 8950

本地:win 10

靶場:sqli-labs(共65關,每日一關)

簡介:一天一關!

簡單的注入:

首先嘗試',會出現報錯:

然後嘗試使用:and 1=1 --+ ,會發現顯示正常,這是因為該查詢語句不再看前面的id=2'的報錯引數,轉而發現and 1=1 是一條正常的語句:

and 1=2後就會出現異常,且不會顯示任何資料:

然後以列單位進行排序操作:當order by 到第三列,都是正常的,order by第四列就會報錯,因為**的列僅為三列:

然後即可使用聯合查詢語句進行查詢,之後的操作將慢慢通關敘述:

第二關其實與第一關雷同,主要是數字型與字元型的區別:

$sql="select * from users where id=$

idlimit 0,1";

這裡的查詢語句中,$id並未進行處理,因此可以直接執行其查詢操作,使用 and 1=2時,會出現錯誤,故該條查詢語句無法執行。

而and 1=1為真,故返回正常查詢結果

同樣是3列,與第一關差不多,僅僅是id為數字型的區別。

猜測此處的閉合語句應是如下的:

select login_name, select password from table where id= ('our input here')

$sql="select * from users where id=('$id')limit 0,1";

') and 1=1--+    #顯示正常

') and 1=2--+  #顯示不正常
所以可以判斷此處使用的閉合語句無誤! 接下來的查詢語法與上兩關一致。

嘗試',無任何回顯,嘗試",發現出現報錯:

發現報錯內容為:

the right syntax to use near'"1"")limit 0,1

' at line 1

因**當中對id引數進行了 "" 和 () 的包裝,故嘗試使用閉合語句判斷查詢型別:

and 1=1--+ 回顯正常:

and 1=2--+回顯不正常,判定可能存在注入:

sql查詢語句,31行:

$sql="select * from users where id=("$id")limit 0,1";

所以可以判斷此處使用的閉合語句無誤! 接下來的查詢語法與上兩關一致。

docker部署sqli labs靶場

目錄 一 部署vmware 二 安裝docker 三 docker部署sqli labs 四 訪問測試 部署位址 環境 centos7.4 主機ip位址 192.168.80.80 1 移除之前安裝過的docker sudo yum y remove docker docker client doc...

Sqli LABS通關筆錄 2

在這個關卡學習到了 1.程式的錯誤不是學校收費亂來的,單引號的錯誤和減號的錯誤要明白 單引號報錯。用第一關的payload嘗試了下。來看看原始碼 那麼我們構造的sql也就變成了 sql select from users where id 1 or 1 1 limit 0,1 如此一來id 1 就不...

Sqli LABS通關筆錄 4

這一關卡讓我學習到了 1.管他如何,想方設法先讓sql報錯再說。從報錯中構造sql注入語句。2.單引號不行就來雙引號。括號等等的。這次單引號沒反應了。以後我們先來黑盒測試,實在沒轍再看 1有反應但是沒資料 想辦法把他弄報錯。正在掙扎之際。成功了。不下心看了一下原始碼的。否則還真不好搞。測試了很多方法...