逻辑越权
水平垂直越权
概念
水平
通过更换某个ID之类的身份标识,从而使A账号获取(修改、删除等)B账号数据。(AB同级)
垂直
使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。
未授权
通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。(无需账户登录)
原理
前端安全造成:界面
判断用户等级后,前端代码界面部分进行可选显示
有的页面不显示,不代表不存在,只是权限不够
漏洞点在只是没有显示,但是没有限制身份的访问
后端安全造成:数据库
如果在访问网站数据包中有传输用户的编号、用户所属组编号或类型编号时,就可以尝试对这类值进行修改,这也是最基本的越权漏洞测试
例如:
id | username | password | usertype |
---|---|---|---|
1 | admin | 123456 | 1 |
2 | 1ceC0la | 654321 | 0 |
当登陆时,会调用数据库判断admin和1ceC0la的权限,即此处的usertype的值
修复防御方案
1.前后端同时对用户输入信息进行校验,双重验证机制
2.调用功能前验证用户是否有权限调用相关功能
3.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
4.直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
5.永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
靶场
Pikachu-本地水平垂直越权
https://blog.csdn.net/weixin_50699777/article/details/116047307
墨者学院-身份认证失效漏洞实战
wp
访问靶场所在地址后
登录所给的test账户
打开burp刷新页面抓包,发现一个有id的包
发到Repeater
发包看响应的内容,有用户名,和经过加密的密码
此处密码有32位,应该是md5加密
网上搜索md5解密,来解密这段密文
结果确实是test,故这是用md5来加密的
之后改id值继续发包,把末位的22改成21
有响应数据,说明存在越权漏洞,因为看到了不属于当前用户的信息
于是将数据报发到Intruder
爆破存在的id账户信息
题目是让我们找到马春生的信息,故需要登录马春生的账户
这里需要找到马春生的用户名,注意到首页登陆页面马春生的头像
右键在新标签页中打开图片
发现图片名命和之前发现的id类似,于是就去对比,发现是匹配的
于是解密加密数据进行登录
用户名:m233241
password解密结果:9732343
登陆成功,得到key
越权检测工具
小米范
https://www.cnblogs.com/fsqsec/p/5697517.html
Burpsuite插件Authz
https://www.cnblogs.com/MiWhite/p/7020520.html
中通安全开源项目之越权漏洞自动化检测
https://www.cnblogs.com/starrys/p/13935730.html
登陆脆弱及支付篡改
登陆应用功能点安全问题
HTTP/HTTPS协议进行密码抓取时,一般HTTPS都是加过密的,HTTP直接是明文,也存在HTTP协议也加密了的情况
若有加密数据需要知道采用的什么加密方式才能进行爆破
Cookie脆弱点验证
黑盒情况:登陆后看Cookie有无可操作的参数
白盒情况:代码审计,看代码逻辑
数据篡改安全问题
商品购买流程
选择商品和数量->选择支付及配送方式->生成订单编号->订单支付选择->完成支付
常见篡改参数
商品编号ID,购买价格,购买数量,支付方式,订单编号,支付状态等
修改方法
替换支付
重复支付
最小额支付
负数支付
溢出支付
优惠券支付
参考
资源
https://www.zblogcn.com/zblogphp/
https://pan.baidu.com/s/1fJaW23UdcXcSFigX0-Duwg 提取码:xiao
找回机制及接口安全
找回重置机制
1.验证码在客户端回显(在浏览器或数据包中能看到服务端发送的验证码)
phpyun平台绑定手机号码存在客户端数据包回显验证码
2.Response状态值(类似false改成true,通过验证)
phpyun平台绑定手机号码存在修改Response状态值,造成该漏洞的原因是前端代码的验证问题,主导权在本地,不是在服务端校验,相当于是将服务端的回显值在本地判断后进行验证
我们先看正确的Response和错误的Response
对比发现正确回显为1,错误回显为3
我们只需要将回显值的包用burp抓到,并将错误回显改为正确回显即可
用burp抓包,在Request请求包页面右键,选择Do intercept
里面有一项Response to this request
选择后便能抓到服务端的Response回复包
将3改为1,就能绑定成功
3.验证码爆破
4.找回流程中根据数据包的逻辑跳过验证(丢掉验证包)
例如:
流程为:
- 发送验证码
- 验证
- 重置密码
我们可以丢掉第二个数据包,或者把第二个数据包替换成第三个数据包,达到跳过验证目的
靶场
墨者学院-登录密码重置漏洞分析溯源
wp
https://blog.csdn.net/weixin_39998158/article/details/100557216
接口乱调用
1.短信空炸
2.来点轰炸
资源
验证码与token及接口
验证码安全
分类
图片,手机或邮箱,语音,视频,操作等
原理
验证生成或验证过程中的逻辑问题
危害
账户权限泄露,短信轰炸,遍历,任意用户操作等
漏洞
验证码复用
https://blog.csdn.net/qq_41901122/article/details/109451715
一般是session没有清除导致的
绕过
前端:
用浏览器查看是否有与验证码验证相关的代码,若有直接通过抓包发送绕过本地验证即可
后端:一般复用绕过
客户端回显(前文已有)
爆破(前文已有)
token安全
token客户端回显
https://blog.csdn.net/qq_41542761/article/details/102893563
验证码识别插件工具使用
captcha-killer v0.1.2
reCAPTCHA v1.0
Pkav_Http_Fuzz
接口安全问题
类型
调用,遍历,未授权,篡改
调用案例
短信轰炸
遍历案例
UID等便利
参数篡改
墨者学院靶场
未授权访问
与越权的区别
Jboss,Jenkins,ldap,Redis,elasticsearch,MenCache,Mongodb,Rsync,Zookeeper,Docker