實驗吧之 簡單的sql注入 1 2 3

2021-09-24 17:29:50 字數 2963 閱讀 1595

實驗吧的三道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'

and (select count(*) from 表名)>0 %23

只能簡單的拿?id=1' and (select count(*) from flag)>0 %23測試一下,返回了hello說明flag表存在

猜列的手法如出一轍

?id=1'union select 列名 from flag %23可以拿個字段字典放burp裡跑,我這裡還是進行簡單的測試

?id=1'union select flag from flag %23後返回了hello,說明存在flag列

接下來就是最重要的一步——猜字元

?id=1'

and ascii(substr((select flag from flag),1,1))=ascii%23

對ascii碼進行爆破,值從30到127

猜解得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 會把所以結果都顯示出來一共三條記錄 接下...