1、利用dict协议
Dict是一种在线字典服务,你可以尝试寻找一个存在漏洞的服务,并使用dict协议构造请求进行查询。例如,可以使用Merriam-Webster等在线字典服务,并通过dict协议来查询单词的定义。
以下是一个使用dict协议利用SSRF漏洞的示例:
dict://your-vulnerable-server.com:80/DEFINE/some_word_here
在这个示例中,your-vulnerable-server.com是存在漏洞的服务器地址,DEFINE是dict协议的命令,后面跟上需要查询的单词或短语。如果该服务器存在SSRF漏洞,便可以返回相关信息。需要注意的是,不是所有服务器都支持dict协议。
2、利用sftp协议
sftp协议是安全文件传输协议,它通常与SSH一同使用。如果目标服务器支持sftp协议并且存在漏洞,我们可以利用其进行敏感文件的读取或上传等操作。具体步骤如下:
确定目标服务器上要读取或上传的文件路径。
假设目标服务器有一个用户名为user,密码为password的sftp账户。使用sftp客户端连接目标服务器。
sftp user@your-vulnerable-server.com
在sftp客户端中,可以使用get命令下载文件,或者使用put命令上传文件。例如,可以使用以下命令在本地创建一个名为test.txt的文件,并将其上传到目标服务器:
put /local/path/to/test.txt /remote/path/on/vulnerable/server
如果存在SSRF漏洞并且我们成功登录了sftp账户,则可以执行相应的操作访问敏感文件。
3、利用gopher协议
Gopher协议是一种早期的互联网协议,它主要被用于传输文本数据。在利用SSRF漏洞时,gopher协议可以被用来进行类似于端口扫描的操作,也可以通过发送http请求来模拟漏洞利用等。
以下是一个使用gopher协议进行漏洞利用的示例:
gopher://your-vulnerable-server.com:80/_GET%20/%20HTTP/1.1%0AHost:%20internal-service
在这个示例中,_GET表示需要获取数据,/表示路径,HTTP/1.1表示协议版本,Host表示主机名,后面跟上需要访问的服务地址。如果目标服务器允许gopher协议流量,并存在SSRF漏洞,则可以返回目标页面的内容或执行相应操作。