前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >moeCTF WriteUp之Dynamic

moeCTF WriteUp之Dynamic

作者头像
字节脉搏实验室
发布2020-03-23 14:53:25
7060
发布2020-03-23 14:53:25
举报
文章被收录于专栏:字节脉搏实验室

相信我,坚持就一定会失败!

打开之后是代码审计,P1是原题,P2是我放在编辑器里面(能让大家看全)

审计一下发现关键问题

首先我们要给cmd GET值,然后最后eval()函数会执行cmd中的东西。

我们来了解一下eval()函数,这个函数的用法就是将()中的字符串直接当作php代码执行。

但是!前面我看分析看出有一个过滤机制,它将很多函数都过滤了,它都过滤了什么呢?

除去过滤掉的函数,只剩下了print()。

惊不惊喜,意不意外?

所以是需要想办法绕过判断机制。

所以在这里我们需要用到变量拆解函数,然后URL编码即可!

所以构造如下请求:

$a=”syste”;$b=”m('ls');”;$c=$a.$b;eval($c);

经过URL转码就是

%24a%3D%22syste%22%3B%24b%3D%22m('ls')%3B%22%3B%24c%3D%24a.%24b%3Beval(%24c)%3B

然后一路顺风,getflag

(似乎直接访问flag也可以哦,这个非预期解就很厉害了!)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 字节脉搏实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档