60cms Cookies欺骗漏洞审计

 源码地址:https://files.cnblogs.com/files/ssooking/60cms.ziphtml

 运行60cms目录下的Netbox.exe便可开启Asp Web服务,默认端口80web

 

环境搭建完毕以后便可访问主页数据库

1.漏洞分析

首先,咱们分析 login.aspbash

  在admin目录下找到login.asp,能够发现登陆页面的两个Cookies字段名分别为 cmsname 和 cmsidcookie

 继续往下看session

  能够看到,网页会把输入的管理员账号和管理员ID分别赋值给cmsname和cmsid这两个cookies值,若是密码正确就会跳转到后台首页,并添加上述的两个cookies值.spa

  咱们再来看一下后台首页(index.asp)的源代码,发现头部引用了check.asp文件3d

  这个文件的做用应该就是对登录操做进行验证,咱们跟踪分析其中的代码。htm

<!--#include file="../inc/md5.asp"--><%
'判断用户是否登录
if session("cmsname")="" and instr(CStr(Request.ServerVariables("SCRIPT_NAME")),site_install&AdminPath&"/login.asp")=0 then
	if request.Cookies("cmsname")="" then
		response.Redirect(site_install&AdminPath&"/login.asp")
	elseif Session("admin_id") =null then
     Response.Write("<script>alert('登录超时!');parent.location = '"&site_install&AdminPath&"/login.asp';</script>")
	else
		session("cmsname")=request.Cookies("cmsname")
		session("cmsid")=request.Cookies("cmsid")
	end if
end if
%>

   这里能够看到,网页虽然有验证用户登陆状态,但只仅仅验证了Cookies的内容,只要两个Cookies的内容都对得上,就能访问后台首页。咱们查看data目录下的数据库文件,发现60cms的默认管理员为admin,默认管理员ID为1blog

  所以咱们只要根据这两个信息伪造Cookies,便可实现越权访问后台。

 2.漏洞利用

 在firebug中分别添加两个cookie:cmsname,cmsid。

注意这里的日期必定要修改超过当前时间,不然Cookies没法添加

这样就添加好了cookie

 此时咱们访问http://localhost/admin则能够直接以admin身份进入管理后台

 

参考文章:

http://www.freebuf.com/articles/web/149232.html

相关文章
相关标签/搜索