代码审计:shopxp pinglun.asp文件SQL注入漏洞分析

  • A+
所属分类:Seay信息安全博客

显示不全请点击全屏阅读

分析了下 漏洞播报:ShopXp网店系统 v3.x 越权+SQL注射 这个漏洞,顺便发到博客来吧。

打个广告,公司安全宝目前正在组建安全团队,招收安全研究员一枚,安全服务工程师多名,详情戳http://www.cnseay.com/3440/,欢迎来跟我搞基。

 

漏洞作者:zpino

 

漏洞存在于/admin/pinglun.asp 文件
 

<!--#include file="xp.asp"-->
<html><head><title><%=webname%>--用户评论</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../img_shopxp/css.css" rel="stylesheet" type="text/css">
</head>
<body leftmargin="0" topmargin="5" marginwidth="0" bgcolor="#D9E6FF">
<%dim shopxpptid,action
pinglunid=request.QueryString("id")
action=request.QueryString("action")
if action="save" then
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from shopxp_pinglun where pinglunid="&pinglunid,conn,1,3
rs("huifu")=HTMLEncode2(trim(request("huifu")))
rs("huifudate")=now()
rs.update
rs.close
set rs=nothing

…………………/*省略*/…………………..
<%set rs=server.CreateObject("adodb.recordset")
rs.open "select * from shopxp_pinglun where pinglunid="&pinglunid,conn,1,3
%>

 

 首先看到<!–#include file=”xp.asp”–> 引用了xp.asp文件,

 

<!--#include file="database_name.asp" -->
<%
dim conn,connstr,db
startime=timer()
db="../shopxp/"&dataname&"" '数据库
on error resume next '尝试连数据库,一直到超时,但可以加强SQL注入过滤
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>

 

 

这个文件的作用是获取数据库连接对象,继续回到/admin/pinglun.asp 文件, 

pinglunid=request.QueryString("id")
action=request.QueryString("action")

 

获取id的值赋给pinglunid,跟进pinglunid,走到

 

<%set rs=server.CreateObject("adodb.recordset")
rs.open "select * from shopxp_pinglun where pinglunid="&pinglunid,conn,1,3
%>

可以看到没有过滤就被带入到数据库,接下来在下面打印出了查询结果,导致一个SQL漏洞注入产生。

Tags:

shopxp漏洞, 代码审计,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡
代码审计:shopxp pinglun.asp文件SQL注入漏洞分析