==''5'')&&(buf==''0'')) return true;
return FALSE;}
简要说明: SMTP保证高效可靠地传输邮件服务器上安装不同的服务软件后,可能会因程序错误和配置不当引起一些安全漏洞。可能导致服务器停止SMTP服务,也可能使存储在服务器上的用户邮件信息泄露、丢失或被篡改。
程序分三个步骤执行:首先与目标主机NT Mail3系统25端口建立TCP连接,发送“HELO\n”并在超时时间内判断有无接收;然后发送“MAIL FROM:<>\n”并在超时时间内判断有无接收;最后发送“RCPT TO: nobody@990.net\n”,如接收到代码“250”则存在安全漏洞。
(3)gain root remotely(远端获得根权限类):这类插件测试的目标主机一般都有操作系统平台上的漏洞或服务
程序配置不当。远程攻击者通过向主机发送特定的非法数据,如过长的命令行,可导致主机发生缓冲区溢出、处理器资源耗尽等故障,根据操作系统和服务软件的不同,有的故障还可能会提高远程用户的权限。
extern "C" __declspec( dllexport ) BOOL InitFunc(struct RECORD *record)
{strcpy(record->advice,"升级至最新版本或者过滤来自TCP 617端口的数据流");
strcpy(record->classname,"gain root remotely");
strcpy(record->filename,"Arkeia.nfs");
strcpy(record->ID,"4");
strcpy(record->membername,"Arkeia");
strcpy(record->risk,"高");
record->mark=true;return true;} //也可取自数据库,对漏洞划分等级提出建议
extern "C" __declspec( dllexport ) BOOL ApplFunc(struct HOST *host)
{ struct sockaddr_in sad; //structure to hold server''s address//
struct hostent *ptrh; //pointer to host entry//
SOCKET sd; char buf[10000];
memset(buf, ’a’, 10000); // buf中存储了10000字节的“a”
memset((char *)&sad,0,sizeof(sad));//clear sockaddr structure//
ptrh=NULL; sad.sin_port=htons(617); // 连接端口设为617
sad.sin_addr.s_addr=inet_addr(host->ip);
sad.sin_family=AF_INET;
sd=socket(PF_INET,SOCK_STREAM,0); //本地创建套接字
if (sd<0) {return FALSE;} //建立套接字连接
if (connect(sd,(struct sockaddr *)&sad,sizeof(sad))<0)
{closesocket(sd);return FALSE;}
send(sd,buf,sizeof(buf),0); //发送buf中的数据
closesocket(sd); sd=socket(PF_INET,SOCK_STREAM,0);
if (sd<0){closesocket(sd);return FALSE;} //再次建立连接
if (connect(sd,(struct sockaddr *)&sad,sizeof(sad))<0)
{closesocket(sd);return FALSE;} closesocket(sd);
return true;}
调试说明:插件调试时由于没有找到相应的服务程序,服务器只打开了默认通信端口617来模拟服务
程序;在与主机建立连接后,向其发送10000个字节数据企图使服务器缓冲区溢出。关闭这个连接再试图建立新连接,如失败则认为达到了预先的攻击目的。
四 结束语
随着Internet的高速发展,国家社会信息化建设脚步的加快,包括政府机关、军队、企业与商业在内的各行各业进入了一个前所未有的网络建设时代。但由于黑客活动日益猖獗,网络入侵事件越来越多,网络系统的安全已经成为网络建设面临的一个重大问题:如何能够有效地防止网络系统被攻击,是网络建设需要首先解决的问题,同时了解网络安全状