SSRF常用的伪协议
file:// 从文件系统中获取文件内容,如file:///etc/passwd
dict:// 字典服务协议,访问字典资源,如 dict:///ip:6739/info:
ftp:// 可用于网络端口扫描
sftp:// SSH文件传输协议或安全文件传输协议
ldap://轻量级目录访问协议
tftp:// 简单文件传输协议
gopher://分布式文档传递服务
1.file伪协议
file:// 从文件系统中获取文件内容,格式为file://[文件路径]
file:///etc/passwd #读取文件passwd
file:///etc/hosts #显示当前操作系统网卡的IP
file:///proc/net/arp #显示arp缓存表(寻找内网其他主机)
file:///proc/net/fib_trie #显示当前网段路由信息
在初始时候:SSRF其实就是A利用一个跳板B进行对C的攻击,我们在B上面执行命令:file:///proc/net/arp
通过ARP扫描出来的网段就只有几个,但是通过bp爆破端口之后,两者进行了通讯,尽管对面主机的防火墙可能会拒绝,但是在这之前,我们两台主机就已经进行了ARP请求,所以必然就能够扫描出很多的网段,这个是比较重要的点。
爆破之后,对c发送了请求,接下来就发现相比之前出来很多网段
ps:ARP(Address Resolution Protocol)是一种网络协议,用于将IP地址(Internet Protocol address)映射到MAC地址(Media Access Control address),以便在局域网中正确地发送数据帧。在计算机网络中,每个设备都有一个唯一的MAC地址和一个IP地址。MAC地址是网络接口的硬件地址,而IP地址则是逻辑地址,用于在网络上唯一标识设备。
一句话:file伪协议最主要使用在查找内网存活主机IP。
2.dict伪协议
- dict 协议最初是为 UNIX 和类 UNIX 系统设计的,用于从远程服务器上查询词典或字典内容。
- 在互联网上存在一些公共的 dict 服务器,允许用户通过 dict 协议查询广泛的词典资源。
直接使用dict协议扫描端口,会发现速度很快。
一句话:dict伪协议最主要查找内网主机开放端口。
3.Http伪协议
将名字进行爆破,可以查询目录
4.gopher伪协议
Gopher 协议是早期互联网上的一种文档检索协议,与 HTTP 类似,但它更加简单和结构化。
gopher伪协议POC构造GET提交
gopher伪协议POC构造POST提交:
这样就直接返回了相应的name
希望文章能够帮助大家了解常用的SSRF的伪协议应用,谢谢!
参考资料:重启橙子科技陈腾老师----<<SSRF信息搜集>>