荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: ethanwy (∶∴∷), 信区: Newsoftware
标  题: 测试LBII5000 XP V0403的安全性
发信站: 荔园晨风BBS站 (Thu Jul  4 11:13:18 2002), 转信

写于5月4日
LBII5000是一个非常优秀的论坛,操作方便、界面美观,现在越来越多网站都在使用它
。但它也不是十全十美的,今天在测试LBII5000 XP V0403的安全性的时候,发现几个问
题,都是注册用户的问题!过程如下:
1、注册一个名为test的用户,注册成功。
2、注册一个名为test#的用户,注册成功。
3、注册一个名为#test的用户,注册成功。
4、注册一个名为~test的用户,问题出来了,提交注册页面后,系统居然说该用户名已
经被注
册!
论坛是最新的,怎么会这样?接着又注册!test、@test系统均提示该用户名已被注册,
如图:
这是怎么回事呢?为什么test、test#、#test都没有问题,!test、@test却不行了,我
马上又注册#test#,嘿!成功了,为什么#test#又可以注册呢?我初步断定#test这个用
户名有问题,一时摸不清楚是怎么回事,就到管理中心看看这几个用户,直接查看T开头
的用户列表,test和test#都很正常,如图:
当打开以#t开头的用户列表的时候,居然显示一片空白!如图:
这么说连坛主都没有办法修改以#t开头的用户吗?这不是由这群人“逍遥法外”?编辑
test,注意看URL,显示的是:http://127.0.0.1/lb/setmembers.cgi?action=edit&me
mber=test
我们把后面的test换成#test看看,应该可以修改了吧?恩?可恶,居然说没有这个用户
,如图:
编辑不了就删除他吧!删除用户的URL是:
http://127.0.0.1/lb/setmembers.cgi?action=deletemember&member=用户名,把用户
名改为#test, 这时出现了警告信息,只有点击下面的链接才可以删除用户""注意到没有
?“”里面是空的,我删除test的时候是“”里面是test,也就是只有点击下面的链接
才可以删除用户"test",不管他,点击“删除用户”,出现删除成功,但我猜想#test肯
定是安然无恙,我猜的没有错,用户列表里还有他,看来#test还是老顽固,就是动他不
得,先放下这些,我用~!@$%^&*()放在一些用户名前面注册,比如~rose,注册完以后,
系统会自动去掉~,而用户名就变成了rose,看来是过滤了,自动消去那些字符,看来花
无缺可能漏了过滤#这个符号了吧!现在连坛主都对他无可奈何,为了测试这个漏洞(暂
时这么说吧),我注册20多个用户,在管理中心里,除开用户名开头为#的都可以任意修
改,但#开头的任何用户都修改不了,资料是根本不显示,而且上面的红字显示查看所有
以 "" 开头的用户那个“”就是没有东西,如图:
这个漏洞比较烦人,为什么呢?因为注册者虽然只是普通用户,但却可以恶意灌水、发
送大量的消息、帖子,占用服务器的资源,管理员只能删除帖子了,却对这个用户无可
奈何!希望无缺大哥在下一个版本中能补好这个漏洞!但应该有补救的方法啊,但我一
时还没有找到,先放着……
另外一点,就是有些论坛的某个分论坛里没有斑竹,坛主便在设定斑竹那里打上“无人
”、“等你”、“招聘中”等,这样是很危险的做法,因为这样就等于你事先给这个用
户加上了斑竹的权限或者说在斑竹的队伍里添加了这个人,但实际这个人并不存在,只
要有人注册,那么这个分论坛就是他管了,也就是“一出世就是神仙”,这样的危害呆
过论坛的人几乎都会知道,如果是个大论坛,里边有几百张帖子,过不了几天那些帖子
就会全部被删了。我做了如下测试:
先在一个分论坛设定斑竹为“招聘中”然后去注册一个名叫“招聘中”的用户,登陆后
去那个分论坛,看到什么,已经拥有斑竹的权限了,虽然头像还是普通用户,但却可以
在这个版中为所欲为了,我认为这个方面也需要修正一下。如图:
防范方法:其实也很简单,如果你设定了斑竹为未注册用户名,就一定要在管理中心的
注册管理保留特殊用户名(*)里面加上这个名字,以防被一些不怀好意的人注册后做坏事

曾有网友测试过,在网上下载了一个查看*号的工具,来查看密码栏的密码,由此引发一
个问题,如果在网吧或公众场合灌水,由于有事,暂时离开,正好那台机子上有查看*号
的工具,然后马上用来查看那人已经登陆的密码,如果那人是斑竹甚至是坛主,那后果
更加不看设想。
防范方法:在离开公众电脑之前,一定要记得退出,这是最重要的,另外强烈建议无缺
大哥修改一下论坛,就是在用户正常登陆以后,发帖子和回复的时候不要显示出密码框
,还要改成登陆以后才可以发表帖子,(开放论坛只显示用户名输入框)这样可以避免
别人用查看*号的工具查看已经登陆的用户,还可以避免一些不愿意登陆的人重复输入密
码,像“动网”那样只要发表了帖子就自动登陆那是最好的。
登陆管理中心以后,可能因为某种原因,不小心、遭到攻击、程序出错什么的,导致浏
览器被强行关闭了,这时可能你要离开网吧了,心想反正已经被关了,就不理了,谁知
道第二次上网的时候发现你的论坛已经空空一片或者面目全非了,更糟的是没有备份,
不要以为不可能,在安全方面怎么重视都不过分!这是因为进入管理中心以后,浏览器
在缓存里建立一个admincenter.cgi的文件,记录着管理者的用户名和密码,当你正常退
出后,又会建立一个admincenter.cgi?action=logout文件,这时Cookie 会失效并被自
动删除,在管理中心上有这么一句话:Cookie 只会存在于当前的浏览器进程中。为了安
全起见,当你关闭了浏览器后,Cookie 会失效并被自动删除。看到没有?只会存在于当
前浏览器进程中,IE是单页面的浏览器,关掉当然没什么,但Net Captor、魔装网神或
腾讯那种多页面浏览器呢?即使你非正常退出关了管理中心的窗口,但只要这个浏览器
没有关闭,那些Cookie还是存在的,别人接着上你的机子,调出原先的管理中心,哈哈
,看见没有?不用通过身份验证就可以进入管理中心,怪不得你的论坛已经空空一片或
者面目全非了。
防范方法:正常退出就是最好的防范方法,在多页面浏览器里如果没有正常退出,你就
要想尽一切办法消除现有的Cookie,或者重新登陆一次再正常退出即可。在此我还是建
议无缺大哥加强程序对多页面浏览器Cookie的处理。
本着不达目的决不罢休的精神,我回过头来继续研究一下test、test#、#test这三个用
户时,终于发现一个大漏洞,这虽然不会危害到主机,但会危害到用户,刚才已经说了
出现用户名被抢注的问题出在#test,那test、test#有没有问题呢?说一下原理,当一
个人注册name后,有一个心怀不轨的人注册一个name#,这时是可以注册的,因为在这里
#没有像“~!@$%^&*()”这些字符一样会自动过滤成空的,因此注册成功,但在管理中心
的时候,这个#放在用户名后面就会被过滤掉,name#在管理中心里就是name,坛主编辑
name#的资料时,就会编辑到name了,下面给大家看看一个实例。
刚才已经注册过了test、test#,现在登陆到管理中心进入用户管理,编辑test#看看,
如图(注意看URL后面的参数test#和下面的“要编辑的用户名称:test”) :
不同吧?我们是要编辑test#这个用户的,但却编辑了test,这个特殊字符#没有完全过
滤好,万一一个人用这种方法去论坛捣乱,而坛主要删了他,可是删错了,更要命的受
害者还是斑竹。OH~~~NO,现在知道这个#的厉害了吧?
防范方法:修改register.cgi这个文件,查找$inmembername =~ s/[\a\f\n\e\0\r\t\`
\~\!\@\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;会perl的朋友应该注意
到了吧?在特殊字符的过滤段,少了一个#,所以应该添上,改为$inmembername =~ s/
[\a\f\n\e\0\r\t\`\~\!\#\@\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
不会perl的朋友直接复制上去!放到服务器覆盖原文件,好了,到这里,用户用#注册的
问题也解决了。
最后还有一些细节,希望无缺大哥能改改,在个人状态那里对浏览器的识别能力不够强
,我明明是用Net Captor,但程序还是显示我用IE6.0,也不知道是不是受本机的IE6.0
影响。最重要的就是速度和资源消耗,希望无缺大哥能尽快做出新版本解决以上问题,
我的空间就是因为这两个原因被停了CGI权限,所以我才给LBII5000 XP V0403挑些毛病
,请原谅我的冒失,在此,我还罗嗦一句,perl程序员一定要严格过滤字符,多在这方
面下功夫。由于时间仓促,没有进一步测试,难免有错漏的地方,请原谅!
--

有人这么说,网上的人,都是孤独的。
我这么说,我是因为上网而孤独了。
他这么说,本来我是孤独的,上网之后更孤独。
她这么说了,我本来很孤独,但是看到其他网人我才感到自己原来不孤独。

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 218.16.44.13]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店