【pikachu渗透靶场&Web安全从入门到放弃】之 越权漏洞

 

 

46.9-2 垂直越权漏洞原理和测试流程案例(Av96582332,P46)

 

 

 

 

if(isset($_GET['submit']) && $_GET['username']!=null){

    //没有使用session来校验,而是使用的传进来的值,权限校验出现问题,这里应该跟登录态关系进行绑定

    $username=escape($link, $_GET['username']);

    $query="select * from member where username='$username'";

    $result=execute($link, $query);

 

水平越权

lucy登陆之后

127.0.0.1:4431/pikachu/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF

 

把名字换为kobe,也能查看信息

127.0.0.1:4431/pikachu/vul/overpermission/op1/op1_mem.php?username=kobe&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF

 

46.9-2 垂直越权漏洞原理和测试流程案例(Av96582332,P46)

 

开bp,关闭拦截

用超级管理员登陆,添加账户,bp找到添加账户的post请求发到repeater

 

超级管理员已经退出登录,重放,会有重定向,检测到没有登陆,要求登录

 

登录普通账户,找到目前登录get请求,记下cookie到phpsessid,把前面的换成这个:普通用户的登录态重放超级管理员的操作(后台没有对权限限制,现实情况比较难,要抓到高级管理员有哪些操作)

重放时也会有重定向,不要跟踪,直接点开看,或者刷新一下,用户被重新添加了

 

 

$link=connect();

// 判断是否登录,没有登录不能访问

//这里只是验证了登录状态,并没有验证级别,所以存在越权问题。

if(!check_op2_login($link)){

    header("location:op2_login.php");

    exit();

}

if(isset($_POST['submit'])){

    if($_POST['username']!=null && $_POST['password']!=null){//用户名密码必填

        $getdata=escape($link, $_POST);//转义

        $query="insert into member(username,pw,sex,phonenum,email,address) values('{$getdata['username']}',md5('{$getdata['password']}'),'{$getdata['sex']}','{$getdata['phonenum']}','{$getdata['email']}','{$getdata['address']}')";

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值