[Dest0g3520迎新赛]EasyPHP

admin 2026-07-26 05:01:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文解析Dest0g3520迎新赛EasyPHP题目,通过PHP代码审计发现无法直接绕过时间条件判断,利用seterrorhandler函数和类型混淆漏洞,将POST参数ctf设为数组触发错误处理输出flag。关键点包括字符串比较ASCII特性、错误处理函数利用及类型混淆技巧。可操作建议:构造payloadctf[]=1。 综合评分: 91 文章分类: CTF,代码审计,WEB安全,漏洞分析,实战经验


cover_image

[Dest0g3 520迎新赛]EasyPHP

原创

devildollking devildollking

熔城Sec

2026年7月22日 09:00 辽宁

在小说阅读器读本章

去阅读

01

题目简介

  • 题目名称:[Dest0g3 520迎新赛]EasyPHP
  • 题目平台:CTF²
  • 题目类型:Web

02

解题步骤

启动并访问靶机

源码是这样的

<?phphighlight_file(__FILE__);include&nbsp;"fl4g.php";$dest0g3&nbsp;=&nbsp;$_POST['ctf'];$time&nbsp;=&nbsp;date("H");$timme&nbsp;=&nbsp;date("d");$timmme&nbsp;=&nbsp;date("i");if(($time&nbsp;>&nbsp;"24")&nbsp;or&nbsp;($timme&nbsp;>&nbsp;"31")&nbsp;or&nbsp;($timmme&nbsp;>&nbsp;"60")){&nbsp; &nbsp;&nbsp;echo&nbsp;$fl4g;}else{&nbsp; &nbsp;&nbsp;echo&nbsp;"Try harder!";}set_error_handler(&nbsp; &nbsp; function()&nbsp;use(&$fl4g) {&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;print&nbsp;$fl4g;&nbsp; &nbsp; });$fl4g&nbsp;.=&nbsp;$dest0g3;?>

看到代码我们首先就是要绕过三个判断条件,但是这三个判断条件我们是怎么也绕不过去的

$time&nbsp;=&nbsp;date("H");$timme =&nbsp;date("d");$timmme =&nbsp;date("i");if(($time&nbsp;>&nbsp;"24") or ($timme&nbsp;>&nbsp;"31") or ($timmme&nbsp;>&nbsp;"60")){&nbsp; &nbsp; echo $fl4g;

在PHP中,字符串比较是按字符的ASCII码逐位比较的。日期最大值”31″,比较”31″>”31″为false;分钟最大值”59″,比较”59″>”60″也为 false。无论什么时间访问,这三个条件永远为假,$fl4g 永远不会在这里输出。

所以真正能输出的点就在下面

set_error_handler(&nbsp; &nbsp;&nbsp;function()&nbsp;use(&$fl4g) {&nbsp; &nbsp; &nbsp; &nbsp; print $fl4g;&nbsp; &nbsp; }

set_error_handler 会接管 PHP 的常规错误处理。一旦发生任何错误或警告,都会调用这个匿名函数,看最后一行:

$fl4g&nbsp;.=&nbsp;$dest0g3;

这里的 .= 是字符串拼接操作符,期望 $dest0g3 是一个字符串。所以我们只需要把$dest0g3 变成一个数组就行了,所以构造payload

POST&nbsp;/&nbsp;HTTP/2Host:&nbsp;ccf35bb2a50283a7941cc9f8.http-ctf2.dasctf.comContent-Type:&nbsp;application/x-www-form-urlencodedContent-Length:&nbsp;7
ctf[]=1


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:熔城Sec devildollking devildollking《[Dest0g3 520迎新赛]EasyPHP》

评论:0   参与:  0