• 注册
  • BBS CTF 关注:71 内容:84

    moeCTF WriteUp之Dynamic

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 当前位置: 字节脉搏 > 网络安全 > CTF > 正文
    脚本小子

    moeCTF WriteUp之Dynamic
    相信我,坚持就一定会失败!

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

    moeCTF WriteUp之Dynamic
    moeCTF WriteUp之Dynamic
    审计一下发现关键问题

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

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

    但是!前面我看分析看出有一个过滤机制,它将很多函数都过滤了,它都过滤了什么呢?moeCTF WriteUp之Dynamic
    moeCTF WriteUp之Dynamic
    除去过滤掉的函数,只剩下了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

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

    请登录之后再进行评论

    登录
  • 做任务
  • 帖子间隔 侧栏位置: