在没有回显的情况下,利用 dict、sftp、gopher 等协议进行深度利用可能比较困难。因为在利用过程中无法判断攻击是否成功,并且无法获取目标系统的响应信息。
不过,以下是一些尝试利用这些协议的方法:
Dict 协议:Dict 协议通常用于在线字典查询。你可以尝试通过 SSRF 漏洞构造一个包含字典查询语句的请求,以获取一些信息。例如,在 Linux 上,你可以使用 dict 命令来查询字典,构造一个包含以下命令的请求:
这将查询本地的 Dict 服务,查找单词 "hello" 的定义。
SFTP 协议:如果你可以使用 SSRF 漏洞访问受限制的网络或系统,你可以尝试使用 SFTP 进行文件传输。例如,你可以使用类似以下代码的 PHP 脚本从 SFTP 服务器上下载文件:
在此示例中,SFTP 服务器位于恶意站点 "evilsite.com",并且需要用户凭据。如果攻击成功,文件将被下载到本地目录。
Gopher 协议:Gopher 通常用于传输文本文件,你可以尝试使用 SSRF 漏洞通过 Gopher 协议执行一些简单的命令。例如,你可以使用类似以下代码的 PHP 脚本在远程服务器上创建文件:
在此示例中,攻击者可以在 Gopher 服务器上监听端口 1337,并执行任何传入的字符串。当 PHP 脚本运行时,它将尝试从 Gopher 服务器上获取文件。由于请求字符包含一个命令,在服务器上触发了一个 shell 命令,该命令创建了一个名为 "evil" 的文件。