流光™IV CGI扩展及Plugins

©小榕软件实验室 19952001

版权所有


一、CGI扩展

流光IV中CGI规则库很容易进行扩展,对应于NT和UNIX的CGI规则库分别在流光IV安装目录下名为ntcgi.datunixcgi.dat。增加规则的时候只需要用notepad打开对应的文件,将规则加入即可。

二、Plugins

流光IV中实现了一些简单的Plugins,对于一些简单的漏洞规则可以很容易加入其中。

流光IV中所有的Plugins都放在安装目录中的plugins目录下,扩展名为.flux。我们用一个例子来具体说明Plugins的具体写法。

Example of IIS5.Printer Plugin

"//"是为了说明Plugin功能的注释,实际的plugin是不支持注释的,请务必注意。


Name=IIS5.0 NULL.Printer Exploit    //Plugin 的功能说明,Name=xxxxxxxxxxxxxxx,Name是关键字。
Type=NT    //
说明这一个Plugin适用于NT系统。
Detail=IIS5.0 .Printer Exploit(Grant System Privileges)    //
Plugin的详细说明,产生报告时使用。
port=80    //
目标的TCP端口号,目前流光IV的Plugin仅支持TCP端口。
#start    //
程序开始标志
send=GET /NULL.printer HTTP/1.1\0x0d\0x0aHost:%host\0x0d\0x0a\0x0d\0x0a    //
当连接到Port指定的端口以后,发送指定的数据
recv=100    //
接受100个字节的数据
?<>HTTP/1.1 500 13\0x0d\0x0aServer: Microsoft-IIS/5.0    //
数据中是否包含指定的字符串,如果条件满足程序正常结束。
#start^    //
程序结束标志,只要程序能够执行到这里,就说明检测成功,否则说明失败(即没有这个漏洞)


说明:

以上四项必须有。

例:判断用户FTP主机是否可以匿名登陆。

通常手动的方法如下:

D:\>ftp 203.212.4.19
Connected to 203.212.4.19.
220 scsi Microsoft FTP Service (Version 5.0).    //220
    表示连接成功,输入用户名
User (203.212.4.19:(none)): ftp    //
输入用户名
331 Anonymous access allowed, send identity (e-mail name) as password.    //
表示输入密码
Password:ftp@203.212.4.19    //
输入密码
230 Anonymous user logged in.    //230
表示登陆成功
ftp>

//至此说明匿名登陆成功

对应的Plugins

文件:Anonymous.flux

Name=FTP Anonymous Login
Type=ALL
Detail=FTP Server Anonymous Login Enable
Port=21    //
FTP的端口
#start
recv=10
?<>220    //
是否出现了220标志,如果成功就继续,否则结束
send=user ftp\0x0d\0x0a    //发送user ftp,回车换行
recv=10
?<>331    //
是否出现了输入密码的标志
send=pass ftp@%host    //发送密码ftp@<主机的IP>
recv=10
?<>230    //
是否找到登陆成功标志
#start^    //程序成功结束

将此文件保存到流光IV目录中的Plugins目录下,后缀为".flux"(注意:不是.flux.txt),重新启动高级扫描模式即可。