东文网络  
     首页 焦点推荐 网站设计 网络安全 网站运营 经典网站 菜鸟学校 数字传媒 网站推广 搜索优化 域名拍卖 风云人物 电脑常识 电脑专家 专业建站 网店圈圈
 
  您现在的位置: 东文网络/网站设计/程序设计
很严重的mu页面asp程序漏洞
 
双击自动滚屏 发布者:东文网络 来源网络发布时间:2008-2-26

不知道各位admin有没有好好看过你们自己使用的注册、转生等等功能页面,不少站点用的都是这些问题页面,或许你会问:“那么多人用,会有什么问题啊?“ 来,我这里简单说明一下:

我拿清红名的页面举例,问题代码如下:
set rs1 = server.createobject("adodb.recordset")
sql="select * from character where accountid=’"&n&"’ and name=’"&p&"’ and pklevel<>3"
rs1.open sql,conn,1,3

这个时候有人又要问了:“这个有什么问题啊?“,好,请仔细看一下,MSSQL执行的语句纪录在sql这个变量中,然而sql这个变量中却包含了 n 和 p 2个变量,而在这个清红名页面的最前面我们可以看到:

n=request.form("username")
p=request.form("userchr")

n就是账号名 p就是用户id,然后后面有这样的校验语句:

if instr(n,"’")<>0 or instr(n,"=")<>0 or instr(n,"&")<>0 or instr(n,"%")<>0 then
response.write "您所输入的数据包含非法字符,对不起!"
response.end
end if

问题来了。。。。既然写这个页面的大哥知道去判断变量n是否含有非法字符,那为什么不去判断一下变量p呢???不要告诉我提交数据的时候有内容长度限制,想来捣蛋的只需要自己写个htm仿造一下清红名的提交页面就可以轻而易举的篡改数据,具体修改办法就不说了,反正网上多的一塌糊涂。。。不光是清红名页面,好多个页面都是同样的问题,没有想法了。。。

简单说一下修复办法,首先各位去查看一下自己所有的功能页面,凡是有类似前面我提到内容的页面都要改动,这类页面开始的地方会有一些语句用来获取前一页面post过来的数据,格式类似 xxxx=request.form("yyyy") ,只要有这种语句我们就需要用以下语句来判断变量xxxx是否拥有非法字符

if instr(xxxx,"’")<>0 or instr(xxxx,";")<>0 or instr(xxxx,"&")<>0 or instr(xxxx,"%")<>0 then
response.write "您所输入的数据包含非法字符,对不起!"
response.end
end if

当admin修改完所有页面后,这个漏洞就算防住了。。哎,整个sf中是否还存在别的漏洞我就不清楚了,大家好自为之吧。。。 -东文网络专业建站,您信赖的网络专家-

不知该信息是否给您解决了问题,还有疑问请到留言建议向我们咨询 :)

 
也许你对下面的相关信息感兴趣:
ASP程序网站漏洞SQL通用防注入程序
ASP程序漏洞解析及黑客入侵防范方法
常见ASP程序漏洞---防范补救篇
很严重的mu页面asp程序漏洞
ASP程序漏洞全接触-高级篇
ASP程序漏洞全接触-进阶篇
ASP程序漏洞全接触-入门篇
ASP程序设计中如何防止漏洞全接触-高级
热点推荐新闻:
李彦宏:创业仅仅有一个好主意是不够的
55BBS韩华:80后美丽女孩的创业生活
360提示有漏洞,但win2000安装不
N70手机自动发彩信的病毒描述及解决方法
手机病毒N70已不容我们忽视,它威胁到我
组图:中国最美的六大草原及其传说
奇图探秘:唐三藏徒弟孙悟空真实原型之谜
二OO七年木马病毒“英雄榜”,你中过几个
小心“机器狗木马”破坏电脑系统(附查杀)
谁能娶女首富杨惠妍?将财色双得


打印本页 | 关闭窗口

------------------------

------------------------

------------------------
    Powered by dongwen.net 2007-2010 东文网络