逻辑漏洞之业务安全
业务授权安全业务流程乱序
业务接口调用
业务一致性安全
业务数据篡改
时效绕过测试
业务授权安全
最小权限原则: 确保用户和系统只有在其职责范围内才能访问和执行操作。
强身份验证: 要求用户举行有效的身份验证,例如多因素身份验证,以确保只有授权用
户才能访问敏感业务。
使用场景:
企业内部系统须要将不同用户角色的权限分配,例如管理员和平凡用户的权限不同。
用户在举行敏感业务操作时须要举行身份验证,例如电子银行转账。
会话管理漏洞: 如果应用步伐的会话管理不安全,攻击者可以访问其他用户的付出信息或执行未经授权的付出操作。这可能是因为会话标识不够随机或不安全,或者因为会话没有正确终止。
不安全的存储: 如果用户的付出信息在服务器上不安全地存储,黑客可能会访问这些信息并滥用它们。这包括未加密的银行卡信息或密码。
1.未授权访问
非授权访问是指用户在没有通过认证授权的情况下能够直接访问须要通过认证才能访问到
的页面或文本信息。
可以实验在登录某网站前台或后台之后,将相关的页面链接复制于其他欣赏器或其他电脑
上举行访问,看是否能访问成功。
2.越权访问
越权漏洞的成因重要是因为开发职员在对数据举行增、删、改、查询时对客户端哀求的数
据太过相信而遗漏了权限的判定。
a) 平行越权(水平越权是指相同权限的不同用户可以互相访问)
test test1
b) 垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)
admin
通常情况下,一个 Web 步伐功能流程是登录 - 提交哀求 - 验证权限 - 数据库查询 - 返回结
果。如果验证权限不敷,便会导致越权。常见的步伐都会以为通过登录后即可验证用户的身份,从而不会做下一步验证,末了导致越权。
发掘思路:
水平越权:如果在访问网站数据包中有传输用户的编号、用户组编号或类型综号的时候,那么实验对这个值举行修改,就是测试越权漏洞的根本。
垂直越权:添加用户
https://i-blog.csdnimg.cn/blog_migrate/7ce4547236ffee502434c1331bebbdce.png
案列:
https://i-blog.csdnimg.cn/blog_migrate/78178742a3d6c0b09f025fa53861616e.png
这里是lucy的信息,我们把这个lucy变成kobehttps://i-blog.csdnimg.cn/blog_migrate/a1a5aa914c7f8f311ccd76915f0b6457.png
https://i-blog.csdnimg.cn/blog_migrate/5dfb612f6f35b2ecfb2340e412c4f080.png
https://i-blog.csdnimg.cn/blog_migrate/c2b871aa80fe45288f7762a22a23888f.png
https://i-blog.csdnimg.cn/blog_migrate/8333b5014d43899bf8d70298cf0cb385.png
创建的时候要注意抓包,第一张是管理员,第二张时平凡用户
https://i-blog.csdnimg.cn/blog_migrate/5a1367217f180b789970be02274437b2.png
上图是平凡用户,把平凡用户的cookie复制下来,和admin更换
让平凡用户有了添加用户权限类似于提权
https://i-blog.csdnimg.cn/blog_migrate/86c2cc9d81ddf49e841d4509fdf0dafc.png
也可以把创建用户的页面复制到平凡用户也可以创建
越权漏洞的危害
越权漏洞的危害与影响重要是与对应业务的告急性相关,比如说某一页面服务器端相应(不局限于页面返回的信息,有时信息在相应包中,页面不一定能看见)中返回登录名、登录密码、手机号、身份证等敏感信息,如果存在平行越权,通过对用户ID的遍历,就可以查看所有效户的敏感信息,这也是一种变相的脱库,而且很难被防火墙发现,因为这和正常的访问哀求没有什么区别,也不会包含特殊字符,具有十足的秘密性。
怎样检测越权漏洞
最简朴的一种检测方式是,首先是通过定位鉴权参数,然后更换为其他账户鉴权参数的方法来发现越权漏洞。
案例:
用户A如今拥有一个有效的访问令卑,该令牌将作为鉴权参数用于以后的哀求。每当用户A实验发布帖子或查看其也用户的个人资料时,她的哀求都会包含此访问令牌。(此令牌包括不限于ID和Jcookie)
鉴权参数:假如是个id=1是kk,id=2是cc,然后我把id=1改成2就可以看到cc的信息
业务流程乱序
流程控制: 业务流程必须按照预定次序执行,涉及多个环节时要确保每个环节的完整性
审批链: 对于须要审批的业务,必须按照正确的审批链路程举行。
1.次序执行缺陷
a)部分网站逻辑可能是先A过程后B过程然后C过程末了D过程
b)用户控制着他们给应用步伐发送的每一个哀求,因此能够按照任何次序举行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是付出过程,那么用户就绕过了付出过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站步伐了。
访问注册页面,注册账户之后充值提交并抓取数据包,填写任意金额然后并抓包,获取订单号,使用订单号构造充值链接并访问,看是否能充值成功
https://i-blog.csdnimg.cn/blog_migrate/c7825321762a2bc8e45b806e55dd8792.png
如果存在乱序,生成的订单,我能不能想办法跳过付出,或者我在这个订单的地方,我把我的订单号改成别人的,用别人的账号给我付出
先把每个流程跑一遍,把每个包都拦下来,假如我在生成订单这一步,直接把付出成功的链接举行
案例2:绕过昔日密码和短信验证码修改付款密码user=123
修改接口的返回数据包为true
https://i-blog.csdnimg.cn/blog_migrate/485f4a29e02616522deb2e81528e214f.png
业务接口调用
原理:
接口安全性: 确保业务接口受到掩护,只有授权的系统或应用步伐能够访问
数据验证: 对从接口接收的数据举行验证,防止恶意数据输入和攻击。
1.重放攻击
在短信、邮件验证码,订单生成,评邮件调用业务或生成业务数据环节中(例:短信验证码论提交,签到,投票等),对其业务环节举行调用(重放)测试。如果业务颠末调用(重放)后被多次生成有效的业务或数据结果。
https://i-blog.csdnimg.cn/blog_migrate/f8804f2ba6b020d04a84d44a4cb0a654.png
短信轰炸
在测试的过程中,我们发现浩繁的系统仅在前端通过JS校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信
投票活动刷票
投票接口未做限制,或仅仅在前端Js做限制,可无穷重放投票接口,给指定用户刷票
不外现在大部分投票系统都有做限制,比犹如一个天天只能投三次票,可实验用X-
Forwarded-For:127:0:0:1来绕过IP限制。
https://i-blog.csdnimg.cn/blog_migrate/8e07c333610d6608078f268c2b1e27ed.png
内容编辑
点击“获取短信验证码”并抓取数据包内容通太过析数据包,可以发现参数sendData/insrotxt的内容有客户端控制,可以修改为攻击者想要发送的内容
篡改短信内容,可用来垂纶。
业务一致性安全
事务完整性: 业务操作必须具有事务完整性,即要么全部执行成功,要么全部失败。
日记记载: 记载关键业务事件,以便跟踪和审计。
1. 手机号篡改
抓包修改手机号码参数为其他号码实验例如在办理查询页面,输入自己的号码然后抓包修改手机号码参数为其他人号码,查看是否能查询其他人的业务
2. 邮件所在篡改
抓包修改用户邮箱参数为其他用户的邮箱
3. 订单id篡改
查看自己的订单id,然后修改id(加减一)查看是否能查看别的订单信息。
4. 商品编号篡改
例如积分兑换处
100个积分只能换商品编号为001,1000个积分只能换商品编号005在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品
5. 用户id篡改
业务数据篡改
数据掩护: 使用数据加密、访问控制和数据完整性查抄来掩护业务数据通过
安全通讯协议传输敏感数据。安全传输
[*]金额数据篡改
抓包修改金额等字段,例如在付出页面抓取哀求中商品的金额字段修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程
经常见到的参数大多为rmb、value、amount、cash、fee、money等关于付出的逻辑漏洞这一块还有许多种思路比如:
相同价格增加订单数量,
相同订单数量淘汰产品价格
订单价格设定为负数等等。
[*]商品数据篡改
[*]最大数限制突破
许多商品限制用户购买数量时,服务器仅在页面通过js脚本限制未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制将哀求中的商品数量改为大于最大数限制的值查看能否以修改后的数量完成业务流程。
时效绕过测试
时间范围测试
针对某些带有时间限制的业务,修改当时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的哀求并提交,查看能否绕过时间限制完成业务流程。例如通过更改查询手机网厅的受理记载的month范围,可以突破默认只能查询六个月的记载。
时间刷新测试
12306网站的买票业务是每隔5s,票会刷新一次。但是这个时间确着实当地设置的隔断。于是,在控制台就可以将这个时间的关联变量重新设置成1s或者更小如许刷新的时间就会大幅度缩短(重要更改autoSearchTime当地参数)
12306自动刷新时间参数为autoSearchTime,可以再开启自动查询后再firebug控制台输入下令: autoSearchTime=1000,其中1000指1秒,再网络支持的情况下可以随意指定自己的刷新时间。
业务安全的防御
[*]访问控制:限制用户对系统资源的访问权限,只允许授权用户访问系统。
[*]数据加密:对告急数据举行加密处理,掩护数据的机密性和完整性,防止数据泄漏。
[*]安全审计:记载系统的操作日记和安全事件,及时发现和处理安全漏洞
[*]强化认证:采用多因素认证等方式,进步用户身份验证的安全性。
[*]漏洞修复:及时修复系统中的漏洞和安全缺陷,保证系统的稳定和安全性。
[*]应急相应:创建应急相应机制,及时应对安全事件和威胁,降低损失和影响
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]