有很多网站为了安全起见,在WEB Server前面架了防火墙,或者做了TCP/IP过滤,对外只开放TCP 80端口。从入侵者角度来看,要入侵那么从80上跑的CGI入手是比较可行的,当然也可以用别的办法,例如旁敲侧击,呵呵。从网管角度来看,一是要保证CGI的安全性,另外 *** 的整体安全性也是很重要的。针对基于80端口入侵、防范而出的CGI扫描器数不胜数,但基本上原理都一样。
CGI扫描器原理说起来其实非常简单,可以用四句话来概括:连接目标WEB SERVER;发送一个特殊的请求;接收目标服务器返回数据;根据返回数据判断目标服务器是否有此CGI漏洞。
当管理的服务器达到一定数量的时候,手工检测自己的服务器是否存在各种各样的CGI漏洞,那就太消耗时间和精力了,所以一个网管手上有个比较好用的CGI漏洞扫描器还是必要的。OK!今天我们就自己来动手用C写一个简单的CGI扫描器,帮助自己在日常工作中检测服务器:))
源代码如下,很多地方我都加了注释,别嫌我烦哦:))编译好的程序可以从http://eyas.3322.net/program/cgicheck.exe下载。
/************************************************************************* Module:CGICheck.cpp Author:ey4s Date:2001/5/16说明:这是一个Console下多线程,带有进度显示的CGI扫描器的模板,更改一下szSign和SendBuff就可以扫描其他CGI漏洞,设置了连接、发送、接收超时,速度还可以哦。希望可以帮助到admins检测自己的服务器:))
*************************************************************************/ #i nclude
#define iPort 80//目标Web Server端口#define szSign “500 13rnServer: Microsoft-IIS/5.0”//根据此标志来检查目标是否有漏洞
#pragma comment(lib,“ws2_32.lib”)
/////////////////////////////////////////////////////////////////////////// // //定义&初始化全局变量// char *SendBuff=“GET /NULL.printern”,//发送的请求buff CurrentTarget[52]=,//存放最后一个线程将扫描的目标turn[4][2]=;//显示进度时的字符int SendBuffLen=strlen(SendBuff),//发送的buff长度iConnTimeout,//TCP Connect TimeOut ii=0,//扫描进度iTotal;//服务器总数HANDLE hSemaphore=NULL,//信标内核对象句柄,用来控制线程数量hStdout;//console标准输出句柄,做进度显示的时候用的struct timeval timeout;//连接、发送和接收的超时值DWORD SleepTime;//每个一个线程后等待的时间/* SleepTime值根据用户输入的线程数量[ThreadNum]和TCP ConnectTimeOut[CONNTIMEO]来计算。确保在CONNTIMEO时间左右开ThreadNum个线程。这样在CONNTIMEO时间后,所开的线程开始陆续超时退出,可以继续稳定的开线程,可以有效的保证同时有ThreadNum个线程在运行。
*/ /////////////////////////////////////////////////////////////////////////// void ShowError(char *);//显示出错信息函数,可以写完善一些,偶偷懒了:)
BOOL ResetCursor(void);//重置光标位置,线程输出的时候调用的DWORD WINAPI ShowProInfo(LPVOID);//显示进度信息DWORD WINAPI scan(LPVOID);//扫描函数void usage(char *);//帮助函数/////////////////////////////////////////////////////////////////////////// int main(int argc,char **argv)
{ HANDLE hThread=NULL;//线程句柄DWORD dwThreadID;//线程ID struct sockaddr_in sa;int i,MaxThread;//更大线程数量WSADATA wsd;long PreviousCount;clock_t start,end;//程序运行的起始和结束时间double duration;
大家都知道,母乳是宝宝最好的食物。对于妈妈来说,最大的担心就是宝宝的口粮问题。家里人也会想尽办法帮助催奶。比如多喝汤,鸡汤鱼汤排骨汤,每天都不重样。喝汤真的能催奶吗?哺乳期如何科学喝汤呢? 催奶...
本文导读目录: 1、家里想安装wifi怎么弄 2、如果我现在想要给自己家里办理wifi套餐的话,最快捷的方式有什么呢? 3、我们需要装wifi需要打什么电话 4、装无线网打哪个电话?...
第一招:产品定位 在网上开个小店,和在网下开个实物店,是完全不一样的,在网下,只要你的店的位置不要太差,小生意就可以做 的还不错,就算是卖很大众化的东西,都一样可以赚的盆满钵满。在网上做生意,就要独...
在17秒内得到网络管理员的账号凭据图2 刺进的XSS代码220.170.79.195 21 80 443 3389 <-for(j=i+1; j < i+5; j++)拿到手首要接线子。...
24小时接单子的网络黑客完全免费接单子网络黑客联系电话“大家企业有80%全是‘白帽’”在找寻我国创业者第四季前沿技术电影路演深圳市盛典,墨云高新科技创办。免费接单黑客_免费黑客在线接单专业接单黑客联系...
本文导读目录: 1、求好看的医生文,一定要现代的!!!有虐无虐都可以的! 2、寻热血的日剧 最好主人公是天才或者有独特才能 3、推荐几本小说 4、求穿越到异界的后宫小说(主角要用醉拳的)...