在CTF比赛中,PHP伪协议常被用来绕过服务器的安全限制,执行本不应该执行的操作,如读取敏感文件、执行远程代码等。攻击者可以利用这些伪协议来探测目标系统的文件结构、读取敏感信息或执行恶意代码。 5. CTF题目实例及解题思路 以下是一个利用PHP伪协议进行文件包含的CTF题目实例及解题思路: 题目描述: 给定一个URL,如ht...
首先,利用data伪协议,text参数便可以绕过if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")),顺利进入判断语句内 然后,包含了useless.php文件,从而在原代码中引入了Flag对象,只有如此,在password参数反序列化才可输出flag.php文件的内容 传入的password参数经过反序列化后,得到一个$f...
preg_match() 作为黑名单,屏蔽关键字 flag、system、php eval() 则是获取 flag 的关键所在 以PHP代码 角度,我们一般想到的采用拼接方式绕过黑名单,还需要考虑是否使用函数绕过、函数替代 (1)字符拼接 我们获取 flag 需要执行的命令为 ?c=system("cat flag.php");//但这里有两个关键字被屏蔽 我们需要先将这...
看上面php代码可知当读取文件的内容是thisis test时才显示flag,我们并不知道那个文件有这个内容,我们可以使用php://这个协议php://input可以得到原始的post数据,访问请求的原始数据的只读流,将post请求中的数据作为PHP代码执行,如下操作来绕过: 使用条件: allow_url_fopen:off/on allow_url_include:on 第二个例子 ...
resource=index.php: 这是指定要读取的资源文件 ailx10 1942 次咨询 4.9 网络安全优秀回答者 网络安全硕士 去咨询 难度系数:3 文件包含,一般都是任意文件读取 http://114.67.175.224:13805/index.php?file=/etc/passwd PHP伪协议,读取index.php文件 http://114.67.175.224:13805/index.php?file=php://filter/...
伪协议第一次利用: if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")) 这里需要我们传入一个文件且其内容为welcome to the zjctf,才可以进入判断进行下一步 由于:在官方手册中file_get_contents()是用来将文件的内容读入到一个字符串中的首选方法...
allow_url_include开启,可以使用php://input伪协议来列出当前目录下的文件。 payload: 绕过waf 的方法 字典绕过 在一些CTF中会对一些伪协议的关键词进行过滤,如read、resource等等,下面总结了几条绕过方法,在实战中作为字典来跑。 ?f=php://filter/convert.base64-encode/resource=login.php(过滤了操作名read) ...
看上面php代码可知当读取文件的内容是thisis test时才显示flag,我们并不知道那个文件有这个内容,我们可以使用php:这个协议php:input可以得到原始的post数据,访问请求的原始数据的只读流,将post请求中的数据作为PHP代码执行,如下操作来绕过
方法1:代码审计一下 使用php://input伪协议绕过(需要抓包) 方法2 :根据if($ac === $f),构造?fn=flag.txt,&ac=bugku,最后得到flag payload:http://114.67.175.224:16481/?&ac=bugku&fn=flag.txt 需要管理员: 使用御剑扫一下后台:robots.txt访问一下看看 然后定义了一个传入的参数x,但是并没有告诉这个...