實驗吧的三道sql注入(感覺實驗吧大部分web都是注入)
這道題也是sql注入,輸入1,頁面顯示正常,輸出1',頁面報錯
還是走流程把 fuzz下
下面嘗試爆表名和字段,發現他過濾了很多關鍵字:and,select,from,union,where,這裡繞過關鍵字的方法有:關鍵字中間加/**/隔斷,/*!關鍵字*/,關鍵字中間加%0b隔斷,關鍵字重寫(關關鍵字鍵字),大小寫混合等等,嘗試後/*!*/可以繞過,
檢視資料庫:
2.查詢資料庫中的表
查詢欄位名
還是簡單手工測試 輸入1 不報錯 1' 報錯 嘗試1' or '1'='1 報錯
嘗試後 發現過濾了空格
後面發現union和select、#都沒過濾 就很簡單了
檢視資料庫
檢視表 發現flag表
後面就不貼了 這個也可以直接sqlmap跑
輸入1,頁面顯示hello,輸入1',頁面報錯
網上說直接sqlmap可以出來 我試了不行 還是手工吧
正確和錯誤返回的頁面不一樣 布林盲注
fuzz一下 發現sleep()應該是過濾了 那麼這裡需要替換函式
這裡既然是布林盲注可以跑盲注指令碼 乙個字元乙個的試 看了wp 發現還有更好的辦法
web/index_3.php?id=1'這裡會爆錯 得到我們的資料庫名and (select count(*) from ***.bb)>0 %23
由此我們得知資料庫名為web1,
接下裡跑錶的語句還是
?id=1'只能簡單的拿?id=1' and (select count(*) from flag)>0 %23測試一下,返回了hello說明flag表存在and (select count(*) from 表名)>0 %23
猜列的手法如出一轍
?id=1'union select 列名 from flag %23可以拿個字段字典放burp裡跑,我這裡還是進行簡單的測試
?id=1'union select flag from flag %23後返回了hello,說明存在flag列
接下來就是最重要的一步——猜字元
?id=1'對ascii碼進行爆破,值從30到127and ascii(substr((select flag from flag),1,1))=ascii%23
猜解得flag
實驗吧 簡單sql注入之3
簡單sql注入之3 以下皆根據布林盲注手工注入步驟並且借助burpsuite的intruder功能對資料庫名 表名等等進行爆破 需要注意 0x00 爆資料庫 方法一 可以通過burpsuite攔截資料報,更改ascii值重發獲取 1 and length database n 資料庫名長度是4 1 ...
實驗吧 簡單的sql注入之2
burp fuzz 發現過濾了 select 空格而且它是直接die sqli detected 無法雙寫繞過,換大小寫試一下,也被過濾了。無法大小寫繞過。0aselect 0a無法繞過,select 和 select 可以繞過 由於無法使用 所以我們無法使用函式,報錯和database 都無法使用...
實驗吧 簡單的SQL注入2
首先輸入1,發現有將資料庫的查詢結果顯示出來 輸入單引號,發現錯誤,這時候可以猜測後台查詢語句 select name from table where id 可以先嘗試萬能密碼 查詢語句就變成 select name from table where id 會把所以結果都顯示出來一共三條記錄 接下...