返回列表 发帖

Dvbbs Version 8.2.0 错误页面导致的跨站攻击

信息来源:Tosec信息安全团队 (www.Tosec.cn
影响版本:Dvbbs Version 8.2.0 及以下所有版本
漏洞页面:showerr.asp
简要描述:页面对action数据进行直接输出,却没有对其进行严格的过滤操作导致跨站
测试站点:http://bbs.dvbbs.net/
前我们测试的国内著名的A当SP论坛程序,首先对每一个页面进行简要的分析,鉴于篇幅大小,现直接进入分析过程。
我们点击搜索,地址如下:
http://bbs.dvbbs.net//showerr.asp?BoardID=0&ErrCodes=60&action=%B7%C3%CE%CA%B1%C8%CC%D8%C2%DB%CC%B3
尝试分析其中分别提交的值为boardid、errcodes、action三个,boardid为网站的板块,errcodes为错误代码,action是什么呢?后面是经过简单的URL16加密。


我们通过解密得知%B7%C3%CE%CA%B1%C8%CC%D8%C2%DB%CC%B3内容为“访问动网官方论坛”,从上面的图中分析   


这个红色部分便是我们输入的信息
分析有了思路,跟随这个目标我们继续构造XSS,我们输入<>/等特殊字符,输出也为如下

这里说明了程序页面没有对这些个字符进行输出过滤,那么我们继续写入语句<SCRIPT>ALERT(/nobug32/)</SCRIPT>,不过结果却十分遗憾,因为我们在输入的脚本   
3.jpg (34.7 KB)
2009-7-14 17:17
Script语句被过滤了,以及<>都被过滤,从这里可以知道程序应该是当达到某条件的时候将会自动过滤其危险代码,不过我们可以提交一个非script的语句,例如一个网页元素,因为其中的属性可以执行脚本语句,也能达到跨站的效果,当前我们选取IMG作为我们试验的网页元素
http://bbs.dvbbs.net/showerr.asp?BoardID=0&ErrCodes=60&action=<;img%20src=javascript:alert(/nobug32/)">
以上是检测的地址,但是结果没有任何效果,将整个语句全部过滤了,如果去掉了后面的封闭符,就是下面的这个效果了
  


看来成功不远了,我们查看一下X的代码:javascript:alert(/nobug32/)</font ,这样我们将在后面加入一个空格,但是直接在最后加入空格是不可以的,那样会被浏览器直接过滤,所以加上%20,实现了跨站脚本攻击的条件。

返回列表