青创文章系统安全性分析

最近受到了点打击,精神恍惚,所以被请到精神病院兼职做研究工作去了,研究什么?嘿嘿,当然是被人家研究!每天都被研究很是不爽,而且好久没写Blog了,所以今天我也得来研究点东东才是 。
研究对象偶找的是青创网络文章系统(QcNews),这是一套;ASP; ;Access;的文章系统,它的最新版是去年2月出的1.5.2.23.7.0,呵呵,看来作者好久没有更新了 。
一不小心发现了几个洞洞,估计有人早就发现了的,哇,大哥啊这样你就不对了嘛,发现了漏洞不公布出来还要自己玩,那多不好,偶帮你发布了哈 。
估计本文发布的时候,漏洞补丁已经出来了,使用这套系统的朋友快去打补丁吧 。
另:在官方下的exe里面默认安装模式带了一个浏览器插件,不爽 。

1、;;;任意会员登陆/资料修改漏洞

系统只是通过cookies的username值判断用户的,看代码:

if;Request.Cookies("qcdn")("user_name")="";then

呵呵,但是cookies我们是可以伪造的,所以呢现在我们能够以任意前台帐号登陆了 。同理,在前台用户修改资料那里也是根据cookies的username判断的,我们也可以随便修改任何人的资料的哦 。

2、;;;SQL注入漏洞

第一个地方是用户评论那里,也就是;remarkList.asp;这个文件 。;Unid;没有过滤危险字符就直接带入了;SQL;语句,直接可以用工具注射 。当条件为真就会有评论,为假就没有评论,所以你得找一个有评论的文章注射 。
第二个地方有点隐蔽,是在每篇文章的“推荐好友”那里(;SendMail.asp;文件) 。这里不可以直接注射,但是它的;Unid;会放到页面的隐藏域,当你填上好友邮箱提交的时候;Unid;就会被带入;SQL;语句,同样没有过滤危险字符 。条件为真就会弹出“邮件发送失败”(因为我没有装JMail的),假的条件页面就会报错 。
这个SQL注射漏洞将导致后台用户名及其;MD5;加密密码泄漏,如果密码不是很复杂,那么入侵者将很快暴破 。

3、;;;后台普通帐户修改任意后台帐户密码漏洞

我们先看看;admin_EditPass.asp;的关键代码:

if;request("method");=;1;then
Unid;=;Request.Form("Unid")
if;Trim(Request.Form("username"));=;"";then
Errmsg;=;"
请输入用户名 。"
FoundErr;=;true
else
username;=;Qcdn.checkStr(Trim(Request.Form("username")))
end;if
if;Trim(Request.Form("pass1"));=;"";or;Trim(Request.Form("pass2"));=;"";then
Errmsg;=;Errmsg; ;"
请输入密码及确认密码 。"
FoundErr;=;true
elseif;Trim(Request.Form("pass1"))〈〉Trim(Request.Form("pass2"));then
Errmsg;=;Errmsg; ;"
输入的密码和确认密码不符 。"
FoundErr;=;true
else
password;=;Qcdn.checkStr(Trim(Request.Form("pass1")))
password;=;md5(password,16)
end;if
if;FoundErr;then
Call;Qcdn.Err_List(Errmsg,1)
Response.end
end;if
sql;=;"Update;article_admin;set;username;=;’"&;username;&"’,[password];=;’"&;password;&"’;where;id;=;";&;Unid
conn.execute(sql)
Response.write("")
Response.end
end;if

注意;SQL;语句“"Update;article_admin;set;username;=;’"&;username;&"’,[password];=;’"&;password;&"’;where;id;=;";&;Unid”,Unid、username、password都是通过表单提交的,而且都没有验证,所以我们只要知道后台用户的;id;,然后更改密码修改隐藏域中的unid,就可以修改他的密码了 。

4、;;;后台帐户删除网站任意文件漏洞

在后台有个“上传文件管理”功能,可以删除上传的文件 。观察其;URL;,形式是:http://localhost/QcNews/admin_picmang.asp?Action=Del&FileName=2003121162475.jpg

推荐阅读