您的位置:首页 > 编程语言 > ASP

安全至上---ASP“动网论坛”漏洞分析

2004-11-23 14:34 387 查看
  动网论坛作为国内一个优秀的asp论坛,深受广大站长和网友们的喜爱,但既然是程

序代码,就不可能是十全十美,今天在这里,我就要说一下它近期比较流行的两个漏洞

(好耶!快说快说,说完了我就去找常删我帖的论坛算帐,faint,各位千万不要抱着这

种心态看下面的文章)。

  1、这个漏洞不算太严重,用过动网论坛的人都知道,发帖时直接写javascript会被

过滤拆分,写http会自动加上链接,漏洞就在此,在这两个地方变通一下,把两个单词

的某个字母换成编码形式,然后系统再对应地解码回字母,就达到了避免被过滤的目的

。例子说明一下,在发帖时写入 很清楚地看到,#x63解码的字母是“c”,#x70解码的字母

是“p”,&起到连接作用,最后加上[img],使JS被触发,如果论坛支持flash插入,用[

swf]也可。利用这个漏洞可以搞些恶作剧,写上诱人的主题,点进去结果是他的主页(

骗点击率,作广告),甚至更绝,连到一个有病毒、木马的网页上,让你直想骂娘。这

个漏洞存在于动网的各个版本,包括较新的0519版,覆盖面积之广让人瞠目,个人认为

应该对某些非法字符进行检测剔除,而非简简单单地拆分了事,真希望动网开发者能尽

早补上这漏洞。

  2、比起前者,第二个漏洞问题就大啦,利用该漏洞可以破解掉论坛上所有注册会员

的密码(恐怖~~~),由于论坛管理员通常直接把论坛程序载下来稍加以美工就拿来使用

了,图方便直接导致了漏洞的出现,我们也载一个回来,只要看一下动网的数据库,就

知道了密码的字段为userpassword,接着例如要破一个名叫abc的用户密码,首先察看ab

c的用户资料,给出的连接是http://xxxxx/dispuser.asp?name=abc,在dispuser.asp中

,读取参数的语句是: username=trim(request(“name”)),数据库的查询的语句是:

sql=”select * from [user] where username=’”&username&”’”,看得出来, abc

就是直接被作为了dispuer的一个参数username。另外,如果该用户不存在,程序就会给

出提示,既然如此,我们就再写入个查询密码的条件,在where username=abc后面加上

and userpassword=”******”,理论上这样就可以实现对密码的破解了,但这么破要破

到何年何月,现在就要轮到VBS函数大显身手了,可以先用len函数试出用户的密码位数

,地址就这么写http://xxxxx/dispuser.asp?name=abc'%20and%20len(userpassword)=5

%20and%20'1'='1,这么看可能不好理解,放到sql语句里其实就是这副样子:sql=“sel

ect * from [User] where username='abc' and len(UserPassword)=5 and '1'='1'”

,现在明白点了吧,%20是空格,abc后面的单引号和’1’=’1里的单引号都是为了和sq

l语句相匹配。奇怪,该用户不存在,喔?那就说明符合这个条件的用户没有,继续,把

5换成6,7,8,依此类推,只要能显示出用户资料了,就说明密码位数猜对了。接下来

要做的就是试每位的密码是多少了,继续要用到VBS,可以用left或right或mid函数,ht

tp://xxxxx/dispuser.asp?name=abc'%20and%20left(userpassword,1)='a,如果猜对了

就给出用户资料,猜错了就给出该用户不存在的提示,这样子还是嫌太慢,那就在外面

再套个asc函数,http://xxxxx/dispuser.asp?name=abc'%20and%20asc(mid(userpasswo

rd,1,1))>'50 试出用户密码的ASCII码是否大于50,不断地缩小范围,相信很快就能将

范围缩小至个位数,看到这里你是否惊出了一身冷汗,起码我是如此,靠几个函数的灵

活运用,保守地说,不出半小时就能破解出密码。真是不幸中的大幸,动网开发者在后

来的05**版后使用了MD5的加密,这下子总算放心了,但介于国内还有许多地方在使用老

版本的动网论坛(包括一个小有名气的flash站点),我在这里还是有必要说明一下,以

此警戒。

  后记:我在写本文时一直很顾虑,不知这篇文章是否正中某些别有用心之人的下怀

,在这里我奉劝一句:任何破坏论坛秩序,非法盗取他人密码的行为都是极不道德的,

请各位自重!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: