当前位置: 代码网 > it编程>编程语言>Php > NSSCTF-Web题目27(Nginx漏洞、php伪协议、php解析绕过)

NSSCTF-Web题目27(Nginx漏洞、php伪协议、php解析绕过)

2024年08月02日 Php 我要评论
nginx漏洞、php伪协议、php非法传参

目录

[hnctf 2022 week2]easy_include

1、题目

2、知识点

3、思路

[nssround#8 basic]mydoor

4、题目

5、知识点

6、思路


[hnctf 2022 week2]easy_include

1、题目

2、知识点

nginx日志漏洞执行系统命令

3、思路

打开题目,出现源码

题目要我们上传一个file参数,但是对内容进行了过滤,对php、flag等进行过滤,首先想到php伪协议,但php被过滤了,抓个包

发现服务器用的是nginx1.8.0部署

这里的nginx存在一个日志文件漏洞,可以利用日志文件getshell

nginx的日志文件一般存在/var/log/nginx/access.log

可以读取到日志文件的内容

利用php执行系统命令

得到flag:nssctf{24b4c973-53b6-4c4c-9ad3-6c6aa77c05a2}


[nssround#8 basic]mydoor

4、题目

5、知识点

php伪协议,php解析绕过

6、思路

打开题目,什么都没有,只有一个file参数和index.php,没有其他提示

思路,使用php伪协议,盲猜flag在flag或者flag.php文件里

php://filter使用

php://filter/read=convert.base64-encode/resource=[文件名]

显示错误,说明有过滤,尝试读取index.php

有内容,进行解码:base64解码 base64编码 utf8 gb2312 utf16 gbk 二进制 十六进制 解密 - the x 在线工具 (the-x.cn)

得到源码,源码这里可以上传一个n_s.s参数,会执行eval函数,说明这里可以执行系统函数

但是没有内容,为什么呢?

因为php的解析问题

参考文章:nssctf-web题目19(数据库注入、文件上传、php非法传参)_ctf 通过网页提交文件写入数据 库-csdn博客

当php版本小于8时,如果参数中出现中括号[,中括号会被转换成下划线_,然后后面出现的点(.)就不会被转化成下划线,参数就正确了

?file=1&n[s.s=system(ls);

?file=1&n[s.s=system('ls /');

这里没有看到flag文件,执行phpinfo()

?file=1&n[s.s=phpinfo();

得到flag:nssctf{8691090f-d32c-4692-b7b0-685b6cd8c87e}


这篇文章就先写到这里了,哪里不足的欢迎指出

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com