万博企业网站管理系统注入漏洞(MemberLogin.asp) -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

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

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

万博企业网站管理系统注入漏洞(MemberLogin.asp)

。因为已经找到了一个,我就没兴趣接着往下看了。

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

    MemberLogin.asp源码如下:

    复制代码

代码如下:

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

    <% Option Explicit %>

    <%Response.Charset="utf-8"%>

   

   

   

    <%

    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未作过滤,直接代入查询,因此产生了这个注入,就是利用的方法有点麻烦,我试了下,没办法用工具,郁闷了,

电脑资料

万博企业网站管理系统注入漏洞(MemberLogin.asp)》(https://www.unjs.com)。

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

    修复方法:LoginName=trim(request.form("LoginName"))

    用LoginName=server.htmlencode(trim(request.form("LoginName")) )

    或加入include目录里面的NoSqlHack.Asp记载一下也可以。

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

最新文章