码迷,mamicode.com
首页 > 其他好文 > 详细

60cms Cookies欺骗漏洞审计

时间:2017-10-12 21:36:15      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:登录   login   输入   exe   代码   var   location   include   否则   

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

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

 技术分享

环境搭建完毕之后即可访问主页

技术分享

1.漏洞分析

首先,我们分析 login.asp

技术分享

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

技术分享

 继续往下看

技术分享

  可以看到,网页会把输入的管理员帐号和管理员ID分别赋值给cmsname和cmsid这两个cookies值,如果密码正确就会跳转到后台首页,并添加上述的两个cookies值.

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

技术分享

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

<!--#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为1

技术分享

  因此我们只要根据这两个信息伪造Cookies,即可实现越权访问后台。

 2.漏洞利用

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

注意这里的日期一定要修改超过当前时间,否则Cookies无法添加

技术分享

技术分享

这样就添加好了cookie

技术分享

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

 技术分享

参考文章:

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

60cms Cookies欺骗漏洞审计

标签:登录   login   输入   exe   代码   var   location   include   否则   

原文地址:http://www.cnblogs.com/ssooking/p/7657818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!