CGI扫描器的原理和实现过程
日期:2004年3月12日 作者:清风网络学院 查看:[大字体 中字体 小字体]-
有很多网站为了安全起见,在WEB Server前面架了防火墙,或者做了TCP/IP过滤,对外只开放TCP 80 端口。从入侵者角度来看,要入侵那么从80上跑的CGI入手是比较可行的,当然也可以用别的办法,例如旁敲侧击,呵呵。从网管角度来看,一是要保证CGI的安全性,另外网络的整体安全性也是很重要的。针对基于80端口入侵、防范而出的CGI扫描器数不胜数,但基本上原理都一样。
CGI扫描器原理说起来其实非常简单,可以用四句话来概括:<1>连接目标WEB SERVER;<2>发送一个特殊的请求;<3>接收目标服务器返回数据;<4>根据返回数据判断目标服务器是否有此CGI漏洞。
当管理的服务器达到一定数量的时候,手工检测自己的服务器是否存在各种各样的CGI漏洞,那就太消耗时间和精力了,所以一个网管手上有个比较好用的CGI漏洞扫描器还是必要的。OK!今天我们就自己来动手用C写一个简单的CGI扫描器,帮助自己在日常工作中检测服务器:))
源代码如下,很多地方我都加了注释,别嫌我烦哦:))编译好的程序可以从http://eyas.3322.net/program/cgicheck.exe下载。
/*************************************************************************
说明:这是一个Console下多线程,带有进度显示的CGI扫描器的模板,更改一下szSign和SendBuff就可以扫描其他CGI漏洞,设置了连接、发送、接收超时,速度还可以哦。希望可以帮助到admins检测自己的服务器:))
*************************************************************************/
#include <stdio.h>
#include <winsock2.h>
#include <time.h>
#define iPort 80//目标Web Server端口
#define szSign "500 13\r\nServer: Microsoft-IIS/5.0"//根据此标志来检查目标是否有漏洞
#pragma comment(lib,"ws2_32.lib")
///////////////////////////////////////////////////////////////////////////
//
file://定义&初始化全局变量
//
char *SendBuff="GET /NULL.printer\n",//发送的请求buff
CurrentTarget[52]={0},//存放最后一个线程将扫描的目标
turn[4][2]={"-","\\","|","/"};//显示进度时的字符
int SendBuffLen=strlen(SendBuff),//发送的buff长度
iConnTimeout,//TCP Connect TimeOut
ii=0,//扫描进度
iTotal;//服务器总数
HANDLE hSemaphore=NULL,//信标内核对象句柄,用来控制线程数量
hStdout;//console标准输出句柄,做进度显示的时候用的 - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
-
- CGI扫描器的原理和实现过程 相关文章:
- ·CGI扫描器的原理和实现过程
- CGI扫描器的原理和实现过程 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:通过集线器连接的对等网
下一篇:正则表达式语法
精品推荐
热点TOP10
- ·Perl实例:
- ·怎样一次打印多个文件
- ·Perl教学 第九篇 关联数组(哈希表)
- ·关于CGI读写COOKIE的编程
- ·Perl 新手必读
- ·谈谈cgi得速度问题
- ·PERL CGI 常见问题
- ·Linux系统环境下的Socket编程详细解析
- ·Perl教学 第十四篇 Perl5的包和模块
- ·Perl教学 第十篇 格式化输出之二
- ·Perl教学 第九篇 关联数组之三
- ·Perl教学 第九篇 关联数组之二
- ·Perl教学 第九篇 关联数组之一
- ·Perl教学 第六篇 模式匹配之二
- ·Perl教学 第六篇 模式匹配之一
- ·Perl教学 第四篇 列表和数组变量之二
- ·Perl教学 第四篇 列表和数组变量之一
- ·Perl教学 第三篇 操作符之二
- ·Perl教学 第三篇 操作符之一
- ·Perl程序设计中常用的函数之四
