SunFTP是一个用Delphi编写的小型FTP服务程序。在这个产品的socket模块中发现了少量易受攻击的弱点。
首先,我们有可能使它的接受缓冲器溢出。
其次,如果没有收到一个完整的命令而断开(disconnecting)连接,SunFTP将会崩溃。
受影响的系统:
SunFTP Build: 9(1)
缓冲溢出问题:
可以这样测试这个漏洞,连接到FTP服务器并向缓冲器发送2100字节的字符。
(Cmd: perl -e "print \"GET @{[xx2100]} HTTP/1.0\n\n\"" nc 127.1 80
系统将崩溃,这个漏洞将允许攻击者对系统进行DoS攻击。
Half-open DoS攻击
可以这样测试这个漏洞,不通过FTP程序连接到系统(例如使用telnet)。然后立即断开(或者在向缓冲区发送几个字节之后),但确保你没有发送一个新的命令行(\r\n)。系统将几乎立即崩溃。
工作区/解决方案:
由于这是一个即将废弃的产品,并且作者并没有回应我们发出的email,所以我们建议换成另一种FTP服务程序。
探测:
如果看见下面的FTP标语(banner),就表明这是一个受到影响的系统:
220 hostname FTP Server (SunFTP b9) ready on port 21
……