大家好我是衬衫(投稿作者) 今天给大家分享的是关于ssrf这个漏洞的挖掘思路和分析 概念:SSRF(Server-Side Request Forgery),服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制 这里的Server-side-request-forgery不知道同学们有没有发现他和我们的csrf Cross-site request forgery 很像,其实啊csrf针对的是客户端,而我们的ssrf针对的是服务端 比如我们发现了某网站存在ssrf我们可以去让该网站访问本地的127.0.0.1还可以去进行探测内网等操作,所以ssrf的危害还是很大的 口说无凭,我们启动我们的ssrf靶机 ![]() 这个就是我们的ssrf靶机环境了,首先我们可以尝试输入一些东西在url内 ![]() 这里输入123456之后报错了,我们发现他有一个file-get-contents函数 这是就要给大家引入这个函数的用法了 该函数功能有两个可以是post或者get,我们这里贴出get请求的代码 ![]() 如上是演示代码 ![]() 如上是ssrf的靶场的代码 我们发现了这个file_get_contents函数我们只需吧url作为参数传进去就可以了 我们尝试让目标机器去访问百度 ![]() 成功加载了百度的页面我们这是就要理解一下他的原理了 ![]() 可能图不太好看但是理论没问题 简单的理论过后我们走入最简单的一个ssrf漏洞 首先我们在百度搜索ip并复制url ![]() 这就是我的ip 111开头的 我们打开百度翻译粘贴url 我们打开某翻译平台然后粘贴url ![]() 成功获取了该翻译平台的ip 这里利用的是平台的网页翻译功能,能够辅助用户去翻译网页的内容,当服务器去访问时也就产生了ssrf漏洞 ,那么我们如何挖掘ssrf漏洞呢? 1. 漏洞扫描器的发现 这里我们推荐burpsuite_pro的scnner模块 ![]() 图为burpsuite_pro支持的漏洞,这里只截图了一小部分,后面还有很多很多,而且可扩展 ![]() 我们把正常的请求包直接进行active scan 这样就可以去发现ssrf漏洞了 这里他扫出来的时外部服务交互,其实也就是ssrf漏洞 2. 手工发现很多地方的url可能时被base64位加密过的这个需要大家自己去发现 然后就是常出现漏洞的位置,比如我们提到的翻译处,还有图片的引用,以及其他的地方可能导致服务端去请求我们可控url的都可以作为我们的ssrf漏洞挖掘点 这里我们有些事无回显的那么我们怎么能去挖掘ssrf呢 这里我们就要介绍一款工具netcat,这款工具在反弹shell的时候我相信大家都不陌生吧,我们只需要在服务器上开启我们的netcat工具 执行命令为"nc -l -p 1234"这个时候我们用ssrf漏洞去尝试访问,这样我们通过nc来验证我们的ssrf漏洞了 这里我们的nc在监听1234端口,然后我们去利用ssrf漏洞去访问, ![]() 最终成功验证了ssrf漏洞,大家在验证的时候公网中也是同样的方法 在这里我们顺便介绍一下nc吧 我们用到了 –l 和 -p 这样就能监听连接我们服务器1234端口了 总结 关于ssrf漏洞我个人认为危害比较大,因为可以利用的姿势太多太多,也就导致了危害的增大,希望大家能够早日挖到ssrf漏洞哦! |
| 本文出处: https://www.toutiao.com/a6585669393194156548/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|