本文由红日安全成员: Orion 编写,如有不当,还望斧正。

大家好,我们是红日安全-Web安全攻防小组。此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名字叫 Web安全实战 ,希望对想要学习Web安全的朋友们有所帮助。每一篇文章都是于基于漏洞简介-漏洞原理-漏洞危害-测试方法(手工测试,工具测试)-靶场测试(分为PHP靶场、JAVA靶场、Python靶场基本上三种靶场全部涵盖)-实战演练(主要选择相应CMS或者是Vulnhub进行实战演练),如果对大家有帮助请Star鼓励我们创作更好文章。如果你愿意加入我们,一起完善这个项目,欢迎通过邮件形式(sec-redclub@qq.com)联系我们。

业务逻辑实战攻防

1.1 逻辑漏洞概述

逻辑漏洞,之所以称为逻辑漏洞,是由于代码逻辑是通过人的逻辑去判断,每个人都有自己的思维,自己的思维容易产生不同想法,导致编写完程序后随着人的思维逻辑产生的不足,大多数逻辑漏洞无法通过防火墙,waf等设备进行有效的安全防护,在我们所测试过的平台中基本都有发现,包括任意查询用户信息、任意删除等行为;最严重的漏洞出现在账号安全,包括验证码暴力破解、任意用户密码重置、交易支付、越权访问等等。

1.2 常见的逻辑漏洞

交易支付、密码修改、密码找回、越权修改、越权查询、突破限制等各类逻辑漏洞。下图是简单的逻辑漏洞总结,当然肯定不只这些,逻辑漏洞很多时候需要脑洞大开:

1.3 如何挖掘逻辑漏洞

确定业务流程--->寻找流程中可以被操控的环节--->分析可被操控环节中可能产生的逻辑问题--->尝试修改参数触发逻辑问题

1.4 实例

以下实例不针对任何cms,只做演示用,有些代码进行修改后演示

首先我们看二个实例,我们知道很多网站都存在个人注册功能,设置个人权限,访问个人的功能页面,下面我们看下由于注册功能导致的逻辑漏洞

1.4.1 批量注册

我们把注册功能填写相关信息,然后抓包

将数据包发送到repeater,每次修改username值,发现,只需要修改username值就可以注册成功用户,图形验证码无效,并且未对电话,邮箱等信息校验,可批量注册

1.4.2 注册功能,批量猜解用户

点击收藏 | 1 关注 | 2
登录 后跟帖