upload-labs_pass10_点空点绕过_pass11_双写文件扩展名
關(guān)于靶場(chǎng)說(shuō)幾點(diǎn):單純用phpstudy 可能無(wú)法復(fù)現(xiàn)所有的漏洞,而且phpstudy中的php可能是線(xiàn)程不安全的,所以建議大家在自己本機(jī)或者虛擬機(jī)的中親自搭建一下apache和php的環(huán)境,便于復(fù)現(xiàn)upload-labs的所有靶場(chǎng)環(huán)境。配置有問(wèn)題的可以參考我寫(xiě)的這篇文章:
https://blog.csdn.net/qq_51550750/article/details/124062273
pass10-觀察源碼,思路生成
看源碼:
$file_name = deldot($file_name);//刪除文件名末尾的點(diǎn) $file_ext = strrchr($file_name, '.'); $file_ext = strtolower($file_ext); //轉(zhuǎn)換為小寫(xiě) $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA $file_ext = trim($file_ext); //首尾去空對(duì)比pass5的源碼:
$file_name = deldot($file_name);//刪除文件名末尾的點(diǎn) $file_ext = strrchr($file_name, '.'); $file_ext = strtolower($file_ext); //轉(zhuǎn)換為小寫(xiě) $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA $file_ext = trim($file_ext); //首尾去空pass10貌似沒(méi)有什么變化。
如果我們嘗試先加一個(gè)“.”,再加個(gè)空格,再加個(gè)“.”呢?最后是不是就是剩了一個(gè)點(diǎn)呢?
pass10-嘗試上傳
首先說(shuō)明我用的靶場(chǎng)環(huán)境是phpstudy,其中php的版本是7.3.4nts:
然后上傳文件,抓包,改名稱(chēng):
然后forward:
貌似是上傳成功了:
查看文件路徑,
嘗試連接:
連接成功。
pass11-觀察源碼
發(fā)現(xiàn)對(duì)比于第10關(guān)就只有一行:
$file_name = str_ireplace($deny_ext,"", $file_name);其實(shí)功能就是在下面的黑名單中,如果發(fā)現(xiàn)了匹配,就替換成空:
"php","php5","php4","php3","php2","html","htm","phtml","pht","jsp","jspa","jspx","jsw","jsv","jspf","jtml","asp","aspx","asa","asax","ascx","ashx","asmx","cer","swf","htaccess","ini"利用這個(gè)思路,是不是可以寫(xiě)成shell.phphpp
在過(guò)濾之后,是不是就變成了shell.php?
試試這個(gè)方法:
pass11-上傳文件
抓包,改名:
貌似是上傳成功了:
蟻劍測(cè)試連接:
簡(jiǎn)單總結(jié)一下
pass6:大小寫(xiě)過(guò)濾不全面
pass7:擴(kuò)展名最后加一個(gè)空格
pass8:擴(kuò)展名最后加一個(gè)點(diǎn)
pass9:擴(kuò)展名最后加上::$DATA
pass10:擴(kuò)展名最后加點(diǎn)空點(diǎn)
pass11:雙寫(xiě)文件擴(kuò)展名
覺(jué)得寫(xiě)的還不錯(cuò)的師傅點(diǎn)個(gè)贊吧!知識(shí)分享是無(wú)價(jià)的。
總結(jié)
以上是生活随笔為你收集整理的upload-labs_pass10_点空点绕过_pass11_双写文件扩展名的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: upload-labs_pass 9_:
- 下一篇: Excel操作