本类共有 159 篇文章,今日更新 0

飞龙文章管理系统 Ver 2.0 Build 20040620 正式版安全测试

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-18 18:10:32 | 浏览: 人次 ]


近日对飞龙文章管理系统 Ver 2.0 Build 20040620 正式版进行了简单的测试。发现其后台登录验证部分竟如此薄弱,令人担忧。


其中的xl.com是俺在本机架设的DNS服务器上的域名。
----------------------------------------
本次测试版本:飞龙文章管理系统 Ver 2.0 Build 20040620 正式版



http://xl.com/flnews/admin_usermanage.asp?Action=Add
返回login.asp
看代码:
call checkFlag()
sub checkFlag()
  if request.cookies("12912")("UserName")="" then
     response.redirect "login.asp"
  else
     if request.cookies("12912")("Flag")>1 then
        response.write "

您没有操作的权限

"
        response.end
     end if
  end if
end sub



这是程序中对这个文件权限的验证。很幸运,暂时只看到COOKIES验证。
用俺的COOKIES浏览器先登录一次,登录后得到的COOKIES信息如下:
ASPSESSIONIDAACTDSCQ=JJLJPDOCEKIEIANDMGGNEIID;12912=password=469e80d32c0559f8&UserName=admin&UserID=1&Flag=1&usercookies=0; iCount=0



分析:由于这一页并不要SESSION验证,所以ASPSESSION可以去掉;



然后先退出登录。再输入
http://xl.com/flnews/admin_usermanage.asp?Action=Add
这时会返回login.asp、
在cookies那里填上这段COOKIES信息:12912=UserName=admin&Flag=1
再输入
http://xl.com/flnews/admin_usermanage.asp?Action=Add
回车。
看到了可爱的添加管理员页面,呵呵。
添加test管理员,密码也是test
权限当然是超级管理员啦.点增加,添加成功。再用这个帐号登录即可。



00000000000000000000



为什么会这样呢。。这是程序作者的经验不足造成的。
一,只在admin_admin.asp一页中加入了
<%
session.Timeout=sessionTimeOut
if session("username")="" then
  response.Redirect("login.asp")
end if
%>
但这只是一个框架页,其它子框架中的页面并没有这一验证。



二,COOKIES的验证太草率,只凭简单的有或无来进行验证。很容易进行欺骗的。
......................

临时解决方法:
在checkflag()作修改
if request.cookies("12912")("UserName")="" or session("username")="" then
......
。。。。。。。。。。。。。。

在此先告一段落,从这一处漏洞来看,这套程序中一定还有其它的漏洞,有兴趣的朋友可以自个研究。

文章上传类型限制更改页面/文章添加/上传ASP文件/都只是COOKIES进行验证。其实不添加管理员也可以进行任何操作的。
此漏洞己通知作者http://www.flylong.net/了。

到google.com搜Article.asp?ArtID=关键字出来的基本上都是。



希望大家不要破坏,帮助管理员把漏洞修补好。




还有,
admin_upfile.asp
user_upfile.asp这两个文件简直动网以前那个上传漏洞的再现,晕。而且这两个文件不要登录也可以操作。不过在用本站的上传工具上传时注意在cookies一栏中填上
ArtID=1111;



加为他的文件名是以artid为依据的。

广告位