NewStarCTF2023week2-include 0。0

NewStarCTF2023week2-include 0。0_第1张图片

简单审一下代码:

1、flag在flag.php

2、使用get请求方式给file传参

3、存在正则匹配,会过滤掉base和rot(i表示不区分大小写,也就是我们无法使用大小写绕过)

正则匹配详细知识请参考我之前的博客 http://t.csdnimg.cn/gef7W

4、存在文件包含函数include,第一方向考虑使用php伪协议

文件包含利用以及常用伪协议的理解也是建议各位可以先看我之前的博客 

http://t.csdnimg.cn/f82xF 

http://t.csdnimg.cn/C5QIo

回到这道题,我先尝试的是使用php://input(用于执行PHP代码)

但是没有回显,查看源码也没有发现

NewStarCTF2023week2-include 0。0_第2张图片

换用php://filter(用于读取源码)

因为flag在flag.php,并且这里过滤掉了base和rot,没关系我们使用其他编码方式输入输出即可

构造payload:?file=php://filter//convert.iconv.SJIS*.UCS-4*/resource=flag.php

NewStarCTF2023week2-include 0。0_第3张图片

或者使用utf编码

构造payload:?file=php://filter/convert.iconv.utf8.utf16/resource=flag.php 

NewStarCTF2023week2-include 0。0_第4张图片

拿到 flag{d7e2325b-6358-49c3-8c0d-0c17addf7a1e} 

你可能感兴趣的:(CTF,web,PHP,php,伪协议,web安全,正则表达式)