實戰,不安全寫法引發的注入
這個bc靶場源碼沒有,看老師演示
打開很明顯的tp框架源碼
拿到tp框架之后第一步,搜索版本信息5.0.5
兩個思路
1.代碼的不安全寫法
2.版本自身存在的漏洞
全局搜索where看看也沒有不安全的
哎?!
然后記錄一下文件路徑名字,方法名字,參數
然后直接按照tp框架的訪問路徑,構造一下url
這里先前臺注冊一個賬號登陸進去
哎?訪問路徑報錯哈
但是看調試是正常執行了
不回顯那就直接盲注好了
成功
全局搜索到了第二個存在不安全寫法的文件
.號,一個連接符號,相當于直接拼接上了
危險方法是chicjisopen,然后就看誰調用了他,右鍵查找用法
看到在
goods里面有一個調用
看到傳遞的值pid,那看看這個pid這個值從那獲取
從goods方法獲取,那就可以直接構造url了
就把上一個方法改成goods方法進行,因為別的文件和參數都一樣
版本漏洞引發的安全問題.
sql注入漏洞
測試一下下面提供的源碼,寫在代碼里面測試版本漏洞是否真實存在
根據復現poc,即使是安全寫法,依然存在漏洞問題
這個漏洞的入口點是因為exp,如果不存在這個exp就沒有辦法
而這個源碼,沒有寫exp這個函數在sql語句里面,就沒有入口點,無法利用這個漏洞
文件包含漏洞
有這兩句代碼就能觸發tp的文件包含漏洞
寫一個測試點
然后根據文檔的poc
成功文件包含
但這個利用條件很苛刻,因為get是接受get傳輸的任意值,那就是發送的get變量要完全可控
assign(可控變量)
有很多但是assign內容不可控
也是沒找到入口點
緩存漏洞
這個接受tp的一個應用功能,有設置緩存就可以訪問目標地址的時候url帶著后門信息,tp就會把后門信息緩存到一個固定的php文件里面,造成后門寫入
寫一個測試點
可控變量是username
訪問
就自動多了一個php文件
利用條件也是用了那個函數加上可控變量
命令執行漏洞(存在)
5.0.5版本的命令執行
試一試,這個倒是存在
這個語法第一個fileput是寫文件函數,2.php是文件名字,后面是木馬代碼
我們這里就復現一下只需要執行命令,把函數緩存system,文件名換成要執行的命令就行
存在
反序列化漏洞無
xss挖掘
存儲型xss才有這個擴大危害的可能,而tp框架挖掘xss要困難一些,因為retuen在tp框架可能是返回結果也可能是輸出
反射性xss一般要發鏈接給管理員釣魚,利用難度高
然后存儲型xss得讓管理員主動去看,才有最大的價值,這里就要想管理員喜歡看什么東西,然后不知不覺觸發xss。
這就登陸到后臺看看,管理員喜歡看什么,流水和自己的用戶
而這些顯示內容的信息都可以測試也沒有存儲xss
黑盒思路就是盲猜那些信息會在后臺顯示,管理員也經常看
而這里,用戶名這里就會造成存儲xss
注冊的時候寫一個存儲xss直接拖cookie。
從代碼中看,根據路徑找代碼,admin下的user的list函數,就是數據區查詢東西,然后this返回,沒有看到什么過濾
再去看前端文件,userlits.html
就獲取用戶名然后顯示在前端,沒有任何過濾,直接造成存儲xss漏洞
邏輯漏洞(脆弱的權限驗證)
不登陸訪問后臺界面,提示請先登錄
直接在源碼中搜索請先登錄在哪出現
首先驗證userid是否存在,存在在進行下一個token驗證,而token驗證的值就是固定死md5加密值,這就可以偽造登錄
正常的驗證邏輯是token是隨機值來判斷,輸入正確的密碼生成隨機token值
這里就很抽象了抓一下他正確登陸之后的cookie
字段是denglu,值是下面那些
直接在cookie寫入這個字段和值
在訪問admin
直接進后臺
還有后臺可以上傳任意文件,沒有任何檢測
如何擴大戰果(同種資產)
思路
特定圖標
特定文件
特定url鏈接
特定的盲注
這里就可以打組合拳,最容易搜索到
像這種特有的js文件
url那個就是搜特定鏈接語法,script就是搜特定js鏈接
而這個是有一個特殊的圖標,
這個可以直接保存下來,然后在queke上傳
、
jian
kang