# 越权自动化测试方案

# 方案1:纯被动代理模式
- 测试人员将bp代理指向passiveproxy,或者浏览器代理设置为passiveproxy
- passiveproxy实现2个功能
- 监听用户的请求数据,将cookie信息缓存到redis服务器
- 每隔10s将缓存的cookie信息主动请求服务器,判断cookie有效性,失效移除redis服务器
- 发送越权测试请求报文,发包程序将每个请求批量的替换为redis中缓存的cookie请求发送数据包
- 通过响应的数据判断是否存在越权
# 方案2:被动代理模式+IAST辅助
- 测试人员将bp代理指向passiveproxy,或者浏览器代理设置为passiveproxy
- passiveproxy实现2个功能
- 监听用户的请求数据,将cookie信息缓存到redis服务器
- 每隔10s将缓存的cookie信息主动请求服务器,判断cookie有效性,失效移除redis服务器
- 发送越权测试请求报文,发包程序将每个请求批量的替换为redis中缓存的cookie请求发送数据包(1,2,3步同方案1)
- 引入IAST插桩辅助完成:
- 通过IAST获取执行SQL的语句
- IASThook语句的分类:
- 请求报文的api接口只hook到一条执行语句 --- 不存在越权
- 请求的报文的api接口hook到>=2条执行语句:
- 语句完全一致 --- 存在越权
- 语句不一致 --- 不存在越权
# 总结
- 方案1模式:
- 优点:简单粗暴,实现简单,无脑发包,根据响应结果判断
- 缺点:不支持删除/修改操作判断,误判多
- 方案2模式:
- 缺点:需IAST辅助判断,成本较高,适合IAST已推广部署的场景
- 优点:增/删/改/查 均支持,但是如果增/改模式中引入时间戳参数,可能存在发现不了的问题
← 常用安全设备默认口令 nmap →