审查:测试系统:


bbsxp2008访问的版本是目前的最新版本

安全审查:


BBSXP是一个简单的ASP SQL和Access作为开发bbsxp2008多风格论坛的最新版本


脆弱性描述:


该manage.asp文件就执行SQL语句没有任何过滤,导致注入漏洞的发生

漏洞代码:


<






测试系统:


bbsxp2008访问的版本是目前的最新版本

安全审查:


BBSXP是一个简单的ASP SQL和Access作为开发bbsxp2008多风格论坛的最新版本


脆弱性描述:


该manage.asp文件就执行SQL语句没有任何过滤,导致注入漏洞的发生

漏洞代码:


<


如果cookieusername =空然后错误(你还没有登录到论坛)

如果request_method 后然后(误差< >提交错误的方式!你使用的是request_method提交!)

forumid = requestint(forumid )


就=请求(就) /程序员这里不知道是不是晚上睡觉加班


如果IsNumeric(就)然后


就= int(就) / / SQL语句在这里虽然数字类型判断,但我们必须跳出这里继续执行以下


forumid =执行(选择forumid从{ tableprefix线程},就=就)(0)


最后如果


如果BestRole < > 1


主持=执行(选择适中{tableprefix论坛},forumid =forumid )(0)


% < %


最后如果


如果bestrole = 1 ForumID<1


forumidsql =


其他的


forumidsql = 和forumid = forumid


最后如果


选择案例请求(菜单)


案例顶部


如果bestrole = 1


在要求各豪(就)


= int(HO)


执行(更新{{{tableprefix线程}集threadtop = 2,stickydate = DateAdd(sqlchar yyyysqlchar


下一个


succtitle =质量公报的主题,主题ID:的要求(就)


其他的


错误(您的权限不够)


最后如果


案例untop


如果bestrole = 1


在要求各豪(就)


= int(HO)


执行(更新{{{tableprefix线程}集threadtop = 0,stickydate = ,sqlnowstring就=hoforumidsql )


下一个


succtitle =批量取消公告,主题ID:的要求(就)


其他的


错误(您的权限不够)


最后如果


…这里省略了一些代码


下一个


updatethreadstatic(就)


succtitle =批量删除帖子,帖子ID:的要求。形式(,)

案例undelpost


在要求各豪。形式(,)


= int(HO)


rs.openSELECT * FROM { 的帖子在tableprefix }就=就和,豪


if not rs.eof then


Rs()= 1


rs.update


如果Rs(ParentID)= 0,然后执行(更新{ tableprefix线程}设置可见= 1 } )


最后如果


rs.close


下一个


updatethreadstatic(就)


succtitle =批量恢复后,邮政编号:的要求。形式(,)

'''''''''''''''''''''''''''''''''''岗位管理端''''''''''''''''''''''''''''''''''


最后选择


如果succtitle = 然后错误(无效的指令)

日志(succtitle )


消息= succtitle


成功消息,


%>

第二百三十一行到第二百三十五行如下


rs.openSELECT * FROM { 的帖子在tableprefix }就=就和,豪


if not rs.eof then


Rs()= 2


rs.update


如果Rs(ParentID)= 0,然后执行(更新{ tableprefix线程}设置可见= 2 } )

你可以看到,就没有任何过滤,查询漏洞发生的原因

试验方法:


您可以看到文件头仅限制POST提交,因此不允许直接在IE中进行测试。