45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > ASP教程 >

ASP动网论坛漏洞分析

电脑软硬件应用网 45IT.COM 时间:2005-12-30 19:26 作者:45IT收集

动网论坛作为国内一个优秀的asp论坛,深受广大站长和网友们的喜爱,但既然是程序代码,就不可能是十全十美,今天在这里,我就要说一下它近期比较流行的两个漏洞(好耶!快说快说,说完了我就去找常删我帖的论坛算帐,faint,各位千万不要抱着这种心态看下面的文章)。

  1、这个漏洞不算太严重,用过动网论坛的人都知道,发帖时直接写javascript会被过滤拆分,写http会自动加上链接,漏洞就在此,在这两个地方变通一下,把两个单词的某个字母换成编码形式,然后系统再对应地解码回字母,就达到了避免被过滤的目的。例子说明一下,在发帖时写入 很清楚地看到,#x63解码的字母是“c”,#x70解码的字母是“p”,&起到连接作用,最后加上[img],使JS被触发,如果论坛支持flash插入,用[swf]也可。利用这个漏洞可以搞些恶作剧,写上诱人的主题,点进去结果是他的主页(骗点击率,作广告),甚至更绝,连到一个有病毒、木马的网页上,让你直想骂娘。这个漏洞存在于动网的各个版本,包括较新的0519版,覆盖面积之广让人瞠目,个人认为应该对某些非法字符进行检测剔除,而非简简单单地拆分了事,真希望动网开发者能尽早补上这漏洞。

  2、比起前者,第二个漏洞问题就大啦,利用该漏洞可以破解掉论坛上所有注册会员的密码(恐怖~~~),由于论坛管理员通常直接把论坛程序载下来稍加以美工就拿来使用了,图方便直接导致了漏洞的出现,我们也载一个回来,只要看一下动网的数据库,就知道了密码的字段为userpassword,接着例如要破一个名叫abc的用户密码,首先察看abc的用户资料,给出的连接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=“select * from [User] where username='abc' and len(UserPassword)=5 and '1'='1'”,现在明白点了吧,%20是空格,abc后面的单引号和’1’=’1里的单引号都是为了和sql语句相匹配。奇怪,该用户不存在,喔?那就说明符合这个条件的用户没有,继续,把5换成6,7,8,依此类推,只要能显示出用户资料了,就说明密码位数猜对了。接下来要做的就是试每位的密码是多少了,继续要用到VBS,可以用left或right或mid函数http://xxxxx/dispuser.asp?name=abc'%20and%20left(userpassword,1)='a,如果猜对了就给出用户资料,猜错了就给出该用户不存在的提示,这样子还是嫌太慢,那就在外面再套个asc函数http://xxxxx/dispuser.asp?name=abc'%20and%20asc(mid(userpassword,1,1))>'50 试出用户密码的ASCII码是否大于50,不断地缩小范围,相信很快就能将范围缩小至个位数,看到这里你是否惊出了一身冷汗,起码我是如此,靠几个函数的灵活运用,保守地说,不出半小时就能破解出密码。真是不幸中的大幸,动网开发者在后来的05**版后使用了MD5的加密,这下子总算放心了,但介于国内还有许多地方在使用老版本的动网论坛(包括一个小有名气的flash站点),我在这里还是有必要说明一下,以此警戒。

  后记:我在写本文时一直很顾虑,不知这篇文章是否正中某些别有用心之人的下怀,在这里我奉劝一句:任何破坏论坛秩序,非法盗他人密码的行为都是极不道德的,请各位自重!
 

顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识