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即可繞過 得到上傳路徑,...