freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

SSRF漏洞:URL绕过方法以及原理案例详细讲解
Hex 2024-05-25 15:14:52 314823

好久没写了文章了, 今天遇到 url 漏洞就顺便记录以及自己的理解和大家分享心得.

0x00 内容概括

本文章会结合一些靶场来进行说明SSRF漏洞来加深对SSRF的印象, 本文章主要和大家分享:

1.SSRF的场景绕过方式 URL by Pass

2.盲注SSRF

3.判断SSRF漏洞

4.靶场示例

5.防御方法

0x01 漏洞概述

SSRF(Server-Side Request Forgery:服务器端请求伪造),  该漏洞主要针对web中 跳转 相关, 如果你在进行网站检索时, 看到有关 “url跳转” 的场景, 可以联想到可能有SSRF漏洞.

punchline:  我们传递参数,服务器代替我们去访问.

SSRF 主要可以用来读取服务器内部或外部数据,  比如我们可以通过ssrf 获取系统用户信息 /etc/passwd, 如深挖得到也可以通过ssrf获取到源码内容(如php某个文件).

0x02 SSRF漏洞危害

  • 服务器内网交互
  • 跳板机(用你的服务器去攻击其他服务器,防止被追踪到 )
  • 获取服务器信息
  • 实现远程代码执行
  • ....

所以网站如果出现SSRF漏洞影响是非常大的.

0x03 查找/验证思路

我们通常可以在获取远程资源的应用程序中找到SSRF漏洞。在寻找SSRF漏洞时,我们应该寻找:

  • HTTP请求重定向、URL跳转处理业务逻辑
  • 文件导入转换等,如HTML、PDF、图像等。
  • 远程服务器连接来获取数据
  • 有关提供给外部链接进行业务处理的功能

验证 SSRF 首先先确定是否是由服务器进行访问的,

1.定位问题,尝试访问 http://www.dnslog.cn/, 如果有访问记录,大概存在ssrf漏洞

2.排他验证限制, 尝试绕过

3.愉快玩耍

0x04 URL 绕过 byPass

一般来说网站都会做一些简单url安全处理,来阻止攻击者,但是一般都不会过多处理, 这得分情况, 如果是码农, 他们只负责码和简单的处理,并不会过多对某个场景进行加深安全, 毕竟996没有给他们时间对某个功能做很大的防护, 能交付上线才是总重之中, 只能鞭策鞭策他们才会注意到.

没有防护的示例(实习生):

如果你抓包见到一个重定向,如:

HTTP/1.0 302 FOUND
Content-Type: text/html; charset=utf-8
Content-Length: 242
Location: http://<TARGET IP>/load?q=index.html
Server: Werkzeug/2.0.2 Python
Date: Mon, 18 Oct 2021 09:01:02 GMT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="/load?q=index.html">/load?q=index.html</a>. If not click the link.

那么你可以尝试:

http://<TARGET IP>/load?q=file:///etc/passwd

这样如果能访问到内容, 那么说明这个开发者比较放得开一点.

如果访问不了, 阻止了你的访问, 你可以考虑使用以下绕过方法检测:

1. 单斜线"/"绕过

http://<TARGET IP>/load?q=index.html/{file:///etc/passwd}

2. 利用"@"符号绕过(这个方法很实用)

https://link.csdn.net/?target=https://www.baidu.com@www.bing.cn

@ 是虚拟域名,  在浏览器输入后, 浏览器会识别@后面的域名, 前面则是域名的配置信息,

@ 在浏览器中的性质:

1.协议头取@域名前的协议, 

例1:https://www.baidu.com@bing.cn, 浏览器最终指向https://bing.cn

例2:https://www.baidu.com@http://bing.cn, 浏览器会执行 https://http//bing.cn.

2.带路经的不能识别,

例1:https://www.baidu.com/demo/@bing.cn, 浏览器无法识别, 因此当作为参数来执行

有过开发或了解一些服务器相关的大概知道, 我们可以在浏览器中链接ftp/ssh, 格式:

ftp://username:password@127.0.0.1

浏览器会取username/password 为 127.0.0.1 作为授权来进行登录认证, 如果不填写, 则需要访问后输入账号密码进行登录.

3.IP转换

如遇到对本地地址或指定IP地址限制时可以将IP进行转换, 例如可以转换成: 十进制的IP, 依旧是可以进行访问的

例如本地IP:

127.0.0.1

可以转换成:

1.十进制: 2130706433:

1716571733_6650ce551a14a994b17c5.png!small?1716571735865

2.十六进制:

http://0x7f000001

3.ipv6的地址:

http://[::ffff:7f00:1] 

4.ipv6的地址:

http://[::ffff:127.0.0.1] 

5.ipv6的地址:

http://127.1 

6.ipv6的地址:

http://127.0.1 

7. 0.0.0.0 IP地址

0.0.0.0

4.短域名生成

还有很多在线短域名生成,也可以通过生成短域名进行绕过

0x05 常见协议头

1. gopher://

定义:Gopher协议是一种早期的Internet信息检索协议,它允许用户通过文本菜单浏览和检索信息。
用途:在Web浏览器出现之前,Gopher是Internet上主要的文本信息检索工具之一。然而,随着Web的普及,Gopher逐渐被淘汰。

可试读前30%内容
¥ 19.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# SSRF # ssrf攻击 # SSRF漏洞 # SSRF参数扫描 # ssrf原理
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Hex 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Hex LV.3
这家伙太懒了,还未填写个人描述!
  • 10 文章数
  • 26 关注者
揭秘:如何攻破Web文件上传漏洞并巧妙绕过安全策略?
2024-10-14
登录账户密码字典暴力破解攻击——hydra 工具详细使用教程
2024-05-27
JavaScript 客户端原型污染漏洞原理讲解及分析教程
2023-08-13
文章目录