一眨眼 写公众号也一年多了,内容也不是很高深,都是很基础的东西,太高深我也写不出来,还是菜。
平时项目中 大多存在弱口令,未授权,序列化之类的,但逻辑漏洞这方面,也需要掌握,最多的就是短信轰炸,密码修改之类,或者越权。
结合经验和资历,整理一期逻辑,也算是重新回顾下。
暴力破解
在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。简单的验证码爆破。
登录 抓包 手机号正确前提下,爆破密码
手机号篡改
抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。
邮箱和用户名篡改
抓包修改用户或者邮箱参数为其他用户或者邮箱
普通用户修改,抓包后 改为admin,发送后 权限为admin
案例:某盟RSAS安全系统全版本通杀权限管理员绕过漏洞
订单ID/商品编号/用户ID
查看自己的订单id,然后修改id(加减一)查看是否能查看其它订单信息
积分兑换处,100个积分只能换商品编号为1元话费,1000个积分只能换商品编号10元话费,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品
抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息。
金额/商品价格
抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。
抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。
密码找回漏洞 - 验证码爆破
用户凭证暴力破解
发送验证码,先发送正常 得知验证码是纯数字,4位或 6位数。
指定手机号,发送验证码,抓包,然后爆破,成功后则更改密码。
返回包修改
正确返回包(瞎写的):
{
"session": 1,
"status":"200 ok"
}
错误的:
{
"session": 1,
"status":"error"
}
发送数据后,获取响应包,修改对应的状态,则成功更改密码。
注册覆盖
注册重复的用户名,返回已注册,修改响应包,比如特定的id 为1则存在,为0则不存在,修改id为0,即可重新注册。
验证码绕过
当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过。
js绕过
短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过js来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功
未授权访问
这个就比较多了
数据库,redis,elstaticsearch,mangodb等
web平台,后台页面,监控页面。
越权操作
水平越权,用户a 用户b,a用户权限和b用户权限一致,查看用户a,把id替换为b的id,可查看b的信息。
垂直越权,admin用户,和用户a,a操作id 替换admin 可以查看admin权限。
执行顺序缺陷
部分网站逻辑可能是先A过程后B过程然后C过程最后D过程。
用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。
短信轰炸
在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果。
案例一:某项目平台注册短信轰炸
找到登录页,点击注册,填写信息后,发送验证码之后,立即抓包,然后重放,会收到一堆验证码。
案例二:某项目app手机号密码篡改
卡1:187xxxx
卡2:188xxxx
事先已经用卡1 注册了 并成功登录到后台。
更改密码功能,填写卡1手机号,新密码,发送验证码, 此时发送的验证码是卡1的,抓包 把卡1 手机号 换卡2,更改密码成功。
使用卡2登录 直接成功。卡1 也能使用原密码登录。
案例三:某项目水平越权
创建两个账号,每个账号填写收货地址
抓包 收获地址存在一个id,将账号1 的id,替换为账号2的id,账号1的收获地址被删除,账号2的收获地址,则多了一个收获地址。多的收货地址则是账号1的收货地址。
案例四:某项目用户水平越权
漏洞1:
编辑id 为 575的信息 burp抓包
把 id 换成570
原本570的姓名叶总 被替换为 叶落
漏洞2:
修改id 为1 的信息 抓包 更换id 为3334
组织架构 aaa 被替换
漏洞3:
新建 aaa 和 test
编辑功能 对id 22 抓包 替换id
名字和描述 都被替换
漏洞4:
新建test aaa 用户 默认无任何权限
权限设置功能 test id 24 角色 抓包 替换aaa 角色 id 23
此时 test 和 aaa 都存在回收站权限
欢迎各位新手师傅加群 公众号回复 加群。
原文始发于微信公众号(深夜笔记本):项目-逻辑漏洞挖掘
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论