pikachu-ssrf源码分析及修复

ssrf概述

在这里插入图片描述

ssrf源码分析

ssrf(curl)

在这里插入图片描述
在这里插入图片描述
将url参数的值设为https://www.baidu.com/,得到返回页面,可知已访问了www.baidu.com的资源

在这里插入图片描述
代码分析
curl 模拟浏览器请求的,比如获取获取远程的网页,文件等,虽然可以使用file_get_contents函数 但是 curl支持cookie 自定义浏览器类型,来源 ip等等。
在这里插入图片描述

ssrf(file_get_contents)

在这里插入图片描述
url换成www.baidu.com

在这里插入图片描述
这里file_get_contents函数还有一个文件包含漏洞,利用php伪协议读取文件的源码,url赋值php://filter/read=convert.base64-encode/resource=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info2.php读取源码
在这里插入图片描述

在这里插入图片描述
代码分析
file_get_contents也可以抓取远程网页内容,详情google。
在这里插入图片描述

ssrf修复

1.白名单
2.对返回内容进行识别
3.需要使用互联网资源(比如贴吧使用网络图片)而无法使用白名单的情况:首先禁用
CURLOPT_FOLLOWLOCATION;然后通过域名获取目标ip,并过滤内部ip;最后识别返回的内容是否与假定内容一致
如果curl爬取过程中,设置CURLOPT_FOLLOWLOCATION为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面

发布了27 篇原创文章 · 获赞 8 · 访问量 8246

猜你喜欢

转载自blog.csdn.net/weixin_41652128/article/details/100620419