NSSCTF EasyP
2024-01-09 09:36:20
开启环境:
?这一题我们通过分析需要知道一些知识:
1.$_SERVER[‘PHP_SELF’] :正在执行脚本的文件名
例子:127.0.0.1/pikachu/index.php 显示:/pikachu/index.php
2.S?ERVER[′REQUESTU?RI′]:与?_SERVER[‘PHP_SELF’]的区别是会加上参数
例子:127.0.0.1/pikachu/index.php?file=1.php 显示:/pikachu/index.php?1.php
3.basename():返回路径中的文件名部分
例子:127.0.0.1/pikachu/index.php?file=1.php 显示:1.php
127.0.0.1/pikachu/index.php?file=flag.php/1.php 显示:1.php
利用的点:如果传入的参数中出现了非ascii字符则会把它给丢弃。
4.正则绕过–show_source:
[ (空格) + . 这四个都可以被处理为_
5.highlight_file有读取文件的作用
知道这些知识后,分析代码:可以输出flag但if ($guess?===?$secret)这个secret)这个secret根本找不到,应该是迷惑人的
开头有:include?'utils.php'
大胆的读它
绕过:preg_match('/utils\.php\/*$/i',?$_SERVER['PHP_SELF'])
/index.php/utils.php/%a0
页面显示成正常,成功绕过
再绕过:isset($_GET['show_source']))
利用: [ (空格) + .
/index.php/utils.php/%a0?show+source=1
flag!
文章来源:https://blog.csdn.net/weixin_74336671/article/details/135377742
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!