SSRF无回显如何深度利用?

请先 登录 后评论

2 个回答

myfeng

在没有回显的情况下,利用 dict、sftp、gopher 等协议进行深度利用可能比较困难。因为在利用过程中无法判断攻击是否成功,并且无法获取目标系统的响应信息。

不过,以下是一些尝试利用这些协议的方法:

  1. Dict 协议:Dict 协议通常用于在线字典查询。你可以尝试通过 SSRF 漏洞构造一个包含字典查询语句的请求,以获取一些信息。例如,在 Linux 上,你可以使用 dict 命令来查询字典,构造一个包含以下命令的请求:

    attach-f21feaccac097940bd7c792ee072aa86394583e2.png

    这将查询本地的 Dict 服务,查找单词 "hello" 的定义。

  2. SFTP 协议:如果你可以使用 SSRF 漏洞访问受限制的网络或系统,你可以尝试使用 SFTP 进行文件传输。例如,你可以使用类似以下代码的 PHP 脚本从 SFTP 服务器上下载文件:

    attach-b170bc9c3bfd0936673395d7a82ae0ce84e9408b.png

    在此示例中,SFTP 服务器位于恶意站点 "evilsite.com",并且需要用户凭据。如果攻击成功,文件将被下载到本地目录。

  3. Gopher 协议:Gopher 通常用于传输文本文件,你可以尝试使用 SSRF 漏洞通过 Gopher 协议执行一些简单的命令。例如,你可以使用类似以下代码的 PHP 脚本在远程服务器上创建文件:

    attach-327f23497996415052283d441a05b03d98d4d8d6.png

    在此示例中,攻击者可以在 Gopher 服务器上监听端口 1337,并执行任何传入的字符串。当 PHP 脚本运行时,它将尝试从 Gopher 服务器上获取文件。由于请求字符包含一个命令,在服务器上触发了一个 shell 命令,该命令创建了一个名为 "evil" 的文件。

请先 登录 后评论
a1most _qax_butian

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漏洞,则可以返回目标页面的内容或执行相应操作。

请先 登录 后评论