curl_setopt($curl,CURLOPT_POST, 1); $n = urldecode('%00'); $o = 'O:4:"come":2:{s:12:"'.$n.'come'.$n.'method";s:5:"echos";s:10:"'.$n.'come'.$n.'args";a:1:{i:0;s:3:"&ls";}}'; curl_setopt($curl,CURLOPT_POSTFIELDS, ['come'=>$o]); curl_exec($curl)...
通过检验之后,$url会被curl_setopt进行处理,最终通过curl_exec造成SSRF漏洞,同时请求的结果$data最终会被写进到$save_to并返回值给客户端。 下面是漏洞潜在利用的一个基本展示。 根据返回结果,访问保存内容生成的图片URL,可成功回显出请求的数据。 提出一些问题 PHP 已经是N年前的产物了,花样也已经被研究得差不多...
curl_exec($ch); curl_close($ch); ?>//这段代码直接将get请求中的url直接放在里面,并且没有屏蔽回显。 一般这种请求都需要使用libcurl库。 我们看一下curl支持地协议(curl -V). 我们看到确实支持很多的协议,首先我们看一下file协议,他是一个读取任意文件的协议,又因为这里面没有关闭回显,所以我们直接在浏览...
fsockopen() curl_exec() fopen() readfile() ... 函数使用不当会造成SSRF漏洞 利用的相关协议: file协议: 在有回显的情况下,利用file协议可以读取任意的内容 dict协议: 泄露安装软件版本信息,查看端口,操作内网redis服务等 gopher协议: gopher支持发出GET,POST请求,可以通过抓包然后构造成gopher协议的请求 http/s...
即以存在SSRF漏洞的服务器为跳板取得其他应用服务器的信息。 数据流:攻击者 ---> 服务器 ---> 目标地址 根据后台使用的函数的不同,对应的影响和利用方法又有不一样 PHP中下面函数的使用不当会导致SSRF: file_get_contents() fsockopen() curl_exec() 如果一定...
curl_setopt($curlobj,CURLOPT_URL,$link); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); $result=curl_exec($curlobj); curl_close($curlobj); $filename = './curled/'.rand().'.txt'; file_put_contents($filename, $result);
curl_exec($curl); curl_close($curl); ?> 不过有更快的方法。。。直接通过postman的urlencode/urldecode即可。因为0x00也就是url编码中的%00。所以url编码一下就完事。要用%00包裹住类名,不能包多了也不能包少了,虽然%00也算一个字符,但是Php序列化的时候已经帮我们算好了,所以不需要修改,或者说,我们之...
curl_exec($curl); curl_close($curl); ?> 不过有更快的方法。。。直接通过postman的urlencode/urldecode即可。因为0x00也就是url编码中的%00。所以url编码一下就完事。要用%00包裹住类名,不能包多了也不能包少了,虽然%00也算一个字符,但是Php序列化的时候已经帮我们算好了,所以不需要修改,或者说,我们之...
除了上面提到的标准库函数,很多常见的PHP扩展也提供了一些可以读取文件的函数。例如,php-curl扩展(文件内容作为HTTP body)涉及文件存取的库(如数据库相关扩展、图片相关扩展)、XML模块造成的XXE等。这些通过外部库函数进行任意文件读取的CTF题目不是很多,建议对涉及的题目进行实例分析。与其他语言不同,PHP向用户...
在函数UseCurl中,调用curl_exec函数执行了一个curl会话,只有$url参数可控,即可造成ssrf漏洞 进入info_deal.php 跟进AddOrRev函数 接着跟进PostStr函数,发现其调用了post函数。跟进post函数。$img参数通过POST方式传入,并且无过滤措施 继续跟进SaveRemoteFile函数 第二个参数被带入GetUrlContent函数,跟进GetUrl...