[复现] [RoarCTF 2019]Easy Calc

admin 2025年1月11日12:37:16评论4 views字数 692阅读2分18秒阅读模式

0X01前言

很久没更新文章啦。
前段时间忙于应对期末考试也就没时间更新文章了。这段时间也去某个公司实习,增加点工作经验。趁着周末比较闲,给大家更新文章

0x02正文
打开文章。发现是一个类似于计算题的题目。我还以为像是前段时间那道工控比赛的math题一样。
[复现] [RoarCTF 2019]Easy Calc

随后我发现,好像并不是在这里操作。查看其网页源代码
[复现] [RoarCTF 2019]Easy Calc

发现个文件地址,打开一看。好家伙
[复现] [RoarCTF 2019]Easy Calc

本就菜逼的我更加雪上加霜。这TM该怎么做?
该说不说,还是百度大法好用,很快,就找到了一个师傅的 WP
这里利用到了:
PHP的字符串解析特性

我们知道PHP将查询字符串(在URL或正文中)转换为内部$_GET或的关联数组$_POST。例如:/?foo=bar变成Array([foo]
=> “bar”)。值得注意的是,查询字符串在解析的过程中会将某些字符删除或用下划线代替。例如,/?%20news[id%00=42会转换为Array([news_id]
=> 42)

还用到了scandir()
[复现] [RoarCTF 2019]Easy Calc

var_dump()
[复现] [RoarCTF 2019]Easy Calc

OK,我们继续
由于这里给出的代码拦截了 / 所以说我们可以尝试用chr来绕过黑名单(可能有人想问,chr是干嘛的? 答案:chr()里头是1-255的整数数字,其是对应ascii码值。也就是说chr(47)也就是等价于 / 懂吧)
这里构造calc.php?%20num=var_dump(scandir(chr(47)))
[复现] [RoarCTF 2019]Easy Calc

知道了文件名f1agg,所以得%20num=var_dump(include(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))搞定手工
[复现] [RoarCTF 2019]Easy Calc

©著作权归作者所有 - source: 535yx.cn

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日12:37:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [复现] [RoarCTF 2019]Easy Calchttps://cn-sec.com/archives/3619373.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息