WEB安全系列之如何挖掘任意用户登录漏洞

0x01  前言   
     每周两篇文章打卡。坏蛋100块钱都不给我,好坏好坏的。

0x02  什么是任意用户登录漏洞
   几乎每个网站都有自己的会员系统,有会员,就有登录机制,如果可以登录其他用户账户,那么就可以窃取其他用户的资料数据。如果配合上脚本的话,甚至可以批量获取用户的数据。对网站来说,任意用户登录是一个很高危的漏洞。

0x03  实战的案例(白盒测试)
     Vlcmsv1.2.0,就拿这套CMS来说吧。
     vlcms/Application/Media/Controller/MemberController.class.php
     post获取uid传进autoLogin()中

  1. public function res_login(){
  2. parent::autoLogin($_POST['uid']);
  3. echo $this->ajaxReturn(array("status"=>0,"uid"=>$_POST['uid']));
  4. }

复制代码

将id传进entity()。

  1. protected function autoLogin($uid){
  2. $user =$this->entity($uid);
  3. /* 记录登录SESSION和COOKIES */
  4. $auth = array(
  5. 'mid'             => $user['id'],
  6. 'account'             => $user['account'],
  7. 'nickname'        => $user['nickname'],
  8. 'balance'         => $user['balance'],
  9. 'last_login_time' => $user['login_time'],
  10. );
  11. session('member_auth', $auth);
  12. session('member_auth_sign', data_auth_sign($auth));
  13. }

复制代码

entity中直接根据id查询账户了。。所以只需一个id就能登录任意用户。

  1. protected function entity($id){
  2. $data = M('User','tab_')->find($id);
  3. if(empty($data)){
  4. return false;
  5. }
  6. return $data;
  7. }

复制代码

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安全系列之如何挖掘任意用户登录漏洞的更多相关文章

  1. 通达OA任意用户登录 漏洞复现

    0x00 漏洞简介 通达OA国内常用的办公系统,使用群体,大小公司都可以,其此次安全更新修复的高危漏洞为任意用户登录漏洞.攻击者在远程且未经授权的情况下,通过利用此漏洞,可以直接以任意用户身份登录到系 ...

  2. 通达OA任意用户登录漏洞复现

    前言 今年hw挺火爆的,第一天上来就放王炸,直接搞得hw暂停 昨天晚上无聊,复现了一下通达oa的洞,也有现成的exp可以使用,比较简单 0x00 漏洞概述 通达OA是一套国内常用的办公系统,此次发现的 ...

  3. 通达OA 前台任意用户登录漏洞复现

    漏洞描述 通达OA是一套办公系统.通达OA官方于4月17日发布安全更新.经分析,在该次安全更新中修复了包括任意用户登录在内的高危漏洞.攻击者通过构造恶意请求,可以直接绕过登录验证逻辑,伪装为系统管理身 ...

  4. Owin+ASP.NET Identity浅析系列(一)用户登录注册

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<Owin+ASP.NET Identity浅析系列>来祭奠那逝去的…… 使用VS2015创建MVC项 ...

  5. 【Qt编程】基于Qt的词典开发系列&lt;八&gt;--用户登录及API调用的实现

    在上一篇文章<调用网络API>中,我仅仅讲述了怎样直观的使用API接口以及调用API后返回的结果,本文则从程序实现的角度来实现API的调用.当然本程序的实现也是借助于扇贝网的API接口文档 ...

  6. 黄聪:保持web页面生成的app一直处于用户登录状态不退出

    用户登录了会员中心,怎么保持登录状态! 由于封壳的内核及组件肯定没有浏览器APP应用那么强大,所以目前暂时的解决方案是: jquery.cookie.js  本文转载至:https://www.cnb ...

  7. Linux系列(22) - 用户登录查看命令

    需求 查看当前在线用户情况:历史用户登录情况 W 格式 [root@localhost ~]# w:查看所有登录用户信息 [root@localhost ~]# w [用户名]:查看指定登录用户信息 ...

  8. XMPP系列(二)----用户注册和用户登录功能

    1.创建一个新工程 2.导入XMPP框架 最新的XMPP框架下载地址:https://github.com/robbiehanson/XMPPFramework 将XMPP的几个文件夹拖进工程中,需要 ...

  9. 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 ...

随机推荐

  1. Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...

  2. SignalR在Asp.NetCore中的使用

    SignalR简介 ASP.NET SignalR是为ASP.NET 开发人员提供的一个库,旨在为你的Web应用迅速简便的添加实时通信功能.这个Web通信功能是指:客户端可以实时从服务端代码拉取数据, ...

  3. Microsoft Graph API -----起题 Graph API

    最近因为工作需要,接触学习使用了Microsoft Graph API.在看完Microsoft的Graph官方文档之后,也做了一些简单的案例,在Stack Overflow上做过一些回答.整体来说, ...

  4. SpringMVC 手动控制事务提交 【转】

    1.配置文件 applicationContext.xml: <bean id="txManager" class="org.springframework.jdb ...

  5. 网络流24题——魔术球问题 luogu 2765

    题目描述:这里 这道题是网络流问题中第一个难点,也是一个很重要的问题 如果直接建图感觉无从下手,因为如果不知道放几个球我就无法得知该如何建图(这是很显然的,比如我知道 $1+48=49=7^2$ ,可 ...

  6. windows10环境下的RabbitMQ安装步骤(图文)

    https://blog.csdn.net/weixin_39735923/article/details/79288578 记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘. 第一步 ...

  7. SpringBoot整合Mybatis【非注解版】

    接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 ​ 选择Spring Initializr,配置JDK版本 ​ 输入项目名 ​ 选择构建web项目所需的state ...

  8. spring boot mybatis打印SQL语句

    在logback-spring.xml 文件中添加 <logger name="com.ibatis" level="DEBUG" /> <l ...

  9. JS 从剪贴板上传图片

    用Ubuntu两年多了,习惯了Ubuntu的操作感觉比WIN用起来还爽,就一点不爽,生态应用很少,好多WIN上好用的软件在Ubuntu找不到的,希望以后的软件可以做到一次编译全平台通用. 即使用上Wi ...

  10. scrapy_redis 相关: 多线程更新 score/request.priority

    0.背景 使用 scrapy_redis 爬虫, 忘记或错误设置 request.priority(Rule 也可以通过参数 process_request 设置 request.priority), ...