60cms Cookies欺骗漏洞审计
源码地址: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欺骗漏洞审计的更多相关文章
- PHP代码审计2-常用超全局变量,常用命令注入,常用XSS漏洞审计,文件包含
超全局变量 $GLOBALS — 引用全局作用域中可用的全部变量$_SERVER — 服务器和执行环境信息$_GET — HTTP GET 变量$_POST — HTTP POST 变量$_FILES ...
- 再谈Cookies欺骗
在上一篇关于cookies欺骗的随笔中,提到的解决方案是把密码MD5加密之后存入cookies中,确实这种方法实现了效果,不过把密码留在客户端等待着去被破解不是一个合适的方法,在此也感谢 @老牛吃肉 ...
- Cookies欺骗分析与防护
今天来谈谈cookies欺骗是怎么回事以及如何避免. 用户在登录之后通常会保存用户信息,以便在其他需要权限的页面去验证用户信息是否具有访问权限. 有同学说我在登录的时候已经很注意SQL注入问题了,还有 ...
- Bugku-CTF之cookies欺骗
Day22 cookies欺骗 http://123.206.87.240:8002/web11/ 答案格式:KEY{xxxxxxxx} 本题要点:cookie欺骗.base64编码传参
- Linux安全漏洞审计工具Lynis
Linux安全漏洞审计工具Lynis Lynis是针对类Unix系统的审计工具,它支持Unix.Linux.FreeBSD.Mac OS多种操作系统.它能对系统实施大于400种测试,以发现39个方 ...
- dedecmsv5.7sp1远程文件包含漏洞审计
dedecms5.7 sp1版本存在远程文件包含漏洞,在此记录审计复现漏洞过程. 漏洞在/install/index.php(index.php.bak)文件中,漏洞起因是$$符号使用不当,导致变量覆 ...
- Silic PHP大马Cookie欺骗漏洞
$password="ebd9a3c106064a255aaee28b6eb4f21c"; if($_COOKIE['admin_silicpass'] != md5($passw ...
- BurpSuite intuder里保存所有网页的特定内容:以bugku的cookies欺骗为例题
这题里想读取index.php只能一行一行的读,通过控制line参数的值.如下: 正常的writeup都是写个爬虫,但我觉得burp肯定有自带这种功能,不用重造轮子.经过学习后发现以下步骤可以实现. ...
- cookies欺骗-bugkuctf
解题思路: 打开链接是一串没有意义的字符串,查看源码没有发现什么,然后查看url,发现 filename的值是base64编码的,拿去解码 发现是一个文件,那么我们这里应该可以读取当前目录下的本地文件 ...
随机推荐
- linux上如何自动获取ip及连接互联网
1.讲与虚拟机连接网卡设置为net连接 2.BOOTPROTO=dhcp 3.注释原来的ip 4.最后一句网关注释 5.重启网卡 service network restart
- 从零开始搭建一个从Win7环境备份至CentOS7的SVN双机备份环境
★几个关键的事项★ 需要关闭防火墙filewalld跟selinux ,在root用户下操作: [root@localhost svnRepos]# systemctl stop firewalld ...
- BZOJ4083 : [Wf2014]Wire Crossing
WF2014完结撒花~ 首先求出所有线段之间的交点,并在交点之间连边,得到一个平面图. 这个平面图不一定连通,故首先添加辅助线使其连通. 然后求出所有域,在相邻域之间连一条代价为$1$的边. 对起点和 ...
- C# Web API Modify Post Data Size Limit
在Web.config中增加下面两个配置后,重启IIS即可. 1.修改http请求数据大小限制 <system.web> <httpRuntime maxRequestLength ...
- Linux命令之tar篇
作业一: 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [root@localhost ~]# cat /etc/passwd /etc/group > ...
- 【数论】Factors of Factorial @upcexam6503
问题 G: Factors of Factorial 时间限制: 1 Sec 内存限制: 128 MB提交: 57 解决: 33[提交][状态][讨论版][命题人:admin] 题目描述 You ...
- Servlet(6)—HttpServletRequest接口和HttpServletResponse接口
HttpServletRequest接口和HttpServletResponse接口是继承ServletRequest和ServletResponse接口,是他们的子接口,但是我们在程序中进程看到Se ...
- 自定义UIPickView
效果图 源码 https://github.com/YouXianMing/Animations 说明 1. 数据适配器PickerViewDataAdapter含有PickerViewCompone ...
- Nginx配置实际案例
user root root;worker_processes 2; #error_log logs/error.log;#error_log logs/error.log notice;#error ...
- leetcode 566. 重塑矩阵 c++ 实现
1.问题描述: 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想 ...