| 全部分类 |
| 2007年08月 |
| 1.天方听书网有声图书领域的技术航母航母航母 | |
| 2133333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333... | |
|
--匿名
|
|
| 2.天方听书网有声图书领域的技术航母航母航母 | |
| tst | |
|
--匿名
|
|
| 3.动网论坛短消息模块过滤不严格的注入漏洞 | |
| 不错 | |
|
--woaishei
|
|
| 4.天方听书网有声图书领域的技术航母航母航母 | |
| 我来测试一下超长的文字,是否能全部显示?我来测试一下超长的文字,是否能全部显示?我来测试一下超长... | |
|
--woaishei
|
|
| 5.天方听书网有声图书领域的技术航母航母航母 | |
| 枯栽奔要棋霜 | |
|
--woaishei
|
|
| 6.天方听书网有声图书领域的技术航母航母航母 | |
| 我来测试一下超长的文字,是否能全部显示?我来测试一下超长的文字,是否能全部显示?我来测试一下超长... | |
|
--我是谁?
|
|
| 7.天方听书网有声图书领域的技术航母航母航母 | |
| asdfasdf | |
|
--asdf
|
| 1. 天方听书网有声图书领域...(1552) |
| 2. 免费的数字证书-Cacert (442) |
| 3. 动网论坛短消息模块过滤...(417) |
| 4. 一次ASP字符串连接“&”...(355) |
| 5. 谷歌栽在中国程序员 (316) |
危害:可构造特殊SQL语句注入动网论坛
测试环境:Dvbbs 7.1.0 Sql版 Sp1 20051114 (到目前2007年3月15日为止最新版本)
实施条件:有论坛后台管理论坛基本信息的权限。(怎么获得?自己想吧)
write by :flower.b
漏洞原因:动网论坛中有很多自动发送PM的地方,很多地方都没有做参数的过滤就直接构造了SQL语句,如:
'文件 reg.asp
'发送注册短信
Dim sender,title,body,UserMsg,MsgID
sender=Dvbbs.Forum_Info(0)
title=Dvbbs.lanstr(2)&Dvbbs.Forum_Info(0)
body = template.html(18)
body = Replace(body,"{$Forumname}",Dvbbs.Forum_Info(0))
sql="insert into dv_message(incept,sender,title,content,sendtime,flag,issend) values('"&username&"','"&sender&"','"&title&"','"&body&"',"&SqlNowString&",0,1)"
Dvbbs.Execute(sql)
Set rs=Dvbbs.execute("select top 1 ID from [Dv_message] order by ID desc")
MsgID=rs(0)
Rs.close:Set Rs=Nothing
UserMsg="1||"& MsgID &"||"& sender
Dvbbs.execute("UPDATE [Dv_User] Set UserMsg='"&Dvbbs.CheckStr(UserMsg)&"' WHERE UserID="&Dvbbs.userid)
End If
上面代码中的 sender,title,body 虽然不是用户输入的内容,但配置文件中的字符串就一定没有问题不用过滤?
此时只要有后台的管理权限,修改下论坛的标题或注册注册消息的模板....嘿嘿。
同样的问题,还出现在 savepost.asp 中的用户订阅短消息更新提示部分:
解决办法:对这些变量增加 Dvbbs.CheckStr() 过滤后再构造SQL。
后记:动网论坛的注入漏洞层出不穷,与日月同辉。自从SQL注入这门编程“新科学”,被小猪之流在中国发扬光大,动网论坛是所有系统中被爆SQL注入最多、最严重、波及范围最广的ASP网站程序。动网论坛最烂?不是,动网论坛做为结构话编程来说论坛已经太大了!向上面两个地方在使用ADO.NET中的参数方法完全可以避免,但是动网论坛的这种方式,仅依靠程序员个人能力,小心、小心+小心,根本注意不过来这么大的系统,也就不可避免的出现各种各样的注入漏洞。动网论坛做为国内ASP编程的领军人,应该把ASP向面向对象方向发展了!而不是去做什么并不占优势的PHP版!(沙滩的市场是怎么考虑的?)