前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[复现] [RoarCTF 2019]Easy Calc

[复现] [RoarCTF 2019]Easy Calc

作者头像
YanXia
发布2023-04-07 10:21:47
8960
发布2023-04-07 10:21:47
举报
文章被收录于专栏:YX’blog

0X01前言

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

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

02747-uc1eocwg7h.png
02747-uc1eocwg7h.png

随后我发现,好像并不是在这里操作。查看其网页源代码

81208-iryxzywewq.png
81208-iryxzywewq.png

发现个文件地址,打开一看。好家伙

04697-1qeliwzc1k4.png
04697-1qeliwzc1k4.png

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

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

还用到了scandir()

39714-lpmv0h98a2.png
39714-lpmv0h98a2.png

var_dump()

01837-8xfm4zwhpsg.png
01837-8xfm4zwhpsg.png

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

14185-5ehplimuq7j.png
14185-5ehplimuq7j.png

知道了文件名f1agg,所以得%20num=var_dump(include(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))搞定手工

43974-i8ozisj715c.png
43974-i8ozisj715c.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年01月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0X01前言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档