目录
一、逻辑漏洞概念
程序员开发的网站时,因逻辑考虑不够严谨,所以存在逻辑漏洞。而攻击者可以利用此漏记漏洞造成危害。
二、运行环境
| 名称 | 值 |
|---|---|
| 操作系统 | Windows 10 |
| 中间件 | phpStudy 2018 |
| PHP版本 | 5.4.45 |
| Apache | 2.4 |

三、越权类漏洞
1、水平&垂直越权的理论
越权漏洞指用户执行了超出其权限的操作,主要分两类:
① 水平越权:同权限用户访问了他人数据。
例:将订单ID从123改为124,看到了别人的订单详情。
② 垂直越权:低权限用户执行了高权限操作。
例:普通用户通过直接访问 /admin/deleteUser链接删除了其他用户。
2、靶场环境配置
(1)部署地址
bash
D:\phpStudy\PHPTutorial\WWW\pikachu
(2)安装pikachu
Step1:在数据库中新建pikachu数据库;
Step2:自定义修改inc/config.inc.php文件里面的参数;
Step3:访问如下安装地址后点击"安装/初始化"按钮;并提示安装成功
bash
http://127.0.0.1/pikachu/install.php

3、水平越权实践
Step1:访问
bash
http://127.0.0.1/pikachu/vul/overpermission/op1/op1_login.php
Step2:选择用户登录

Step3:登录

得到了登录后的个人信息的地址:
bash
http://127.0.0.1/pikachu/vul/overpermission/op1/op1_mem.php?username=lucy&submit=点击查看个人信息
Step4:修改地址参数
将username=lucy改为username=kobe
bash
http://127.0.0.1/pikachu/vul/overpermission/op1/op1_mem.php?username=kobe&submit=点击查看个人信息

4、垂直越权实践
Step1:访问,并选择指定用户登录
bash
http://127.0.0.1/pikachu/vul/overpermission/op2/op2_login.php

Step2:登录以后可以看到已存在的用户
bash
http://127.0.0.1/pikachu/vul/overpermission/op2/op2_user.php

普通用户访问此地址时,则会跳转回登录页面;必须以超级管理员身份才能访问。
bash
127.0.0.1/pikachu/vul/overpermission/op2/op2_admin.php
Step3:普通用户居然也能使用超级管理员的功能,即支持用户新增
bash
http://127.0.0.1/pikachu/vul/overpermission/op2/op2_admin_edit.php

Step4:审计代码
bash
// 判断是否登录,没有登录不能访问
//这里只是验证了登录状态,并没有验证级别,所以存在越权问题。
if(!check_op2_login($link)){
header("location:op2_login.php");
exit();
}
四、零元购实践
1、环境说明
| 名称 | 值 |
|---|---|
| 操作系统 | Windows 2003 |
| 中间件 | IIS 6 |

2、准备工作
Step1:打开Burp Suite
Step2:访问购物网站
bash
http://192.168.179.144/

3、开始零元购
Step1:选择商品


Step2:在BurpSuite中开启"intercept on";并开启浏览器的代理
Step3:开始提交订单


Step4:在BurpSuite中修改请求参数

Step5:在支付页面中看到需支付零元,并点击按钮为"点击通过"支付宝"完成网上支付"

从而实现了零元购!!