001 引言
作为一名安服狗,领导今天给了几个网站,我打眼一看,WAF至少上了两层,而且动不动就封IP,所以漏扫根本不用想,不能用。我无助的看向了同事,同事也是很无奈,对我说,试试挖一挖逻辑漏洞吧。那么,逻辑漏洞是什么呢?常见的逻辑漏洞有哪些,应该怎么挖呢?下面我给大家介绍介绍。
002 逻辑漏洞介绍
针对逻辑漏洞,我这里询问了无问AI。
无问AI地址:http://chat.wwlib.cn/
无问AI的答复是:逻辑漏洞是指由于应用程序设计或实现上的错误,使得攻击者能够通过合法功能的不预期使用来获取非法利益或者破坏系统的正常运行。这类漏洞通常不容易被传统的安全检测工具发现,因为它们并不涉及明显的代码瑕疵或违反安全规则的行为;相反,它们源于业务流程中的不合理假设或是对用户输入处理不当。
简单点来说逻辑漏洞是由于开发人员在程序设计中针对一些功能页面设计的不合理导致的,而攻击者又利用了这些不合理而达成这些漏洞。
003常见的逻辑漏洞及挖掘
(1)越权漏洞
越权访问是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。目前存在着两种越权操作类型:横向越权操作和纵向越权操作。前者指的是攻击者尝试访问与他拥有相同权限的用户的资源;而后者指的是一个低级别攻击者尝试访问高级别用户的资源,如图所示的情况。
这里给大家讲解一个例子
比如这个,我们提交注册后点击抓包
这里的role 8 为学生权限
咱们只需要将8 改到9 即可越权到教师权限
这就是一个典型的垂直越权。
水平越权的花,举一个很老的例子,像以前的X程网就存在的很严重
只需要遍历ID号就可以实现水平越权,去查看别的的机票信息。
这里其实通过代码也可以看出来这个越权的机制,代码由无问AI生成
import requests
#
假设这是攻击者的
Cookies
信息
attacker_cookies = {'session': 'attackers_session_cookie'}
#
尝试访问不属于自己的订单详情
for order_id in range(1000, 2000):
#
枚举可能存在的订单
ID
范围
response = requests.get(f'http://example.com/api/orders/{order_id}', cookies=attacker_cookies)
if response.status_code == 200 and "Order Details" in response.text:
print(f"
成功访问到订单
ID
为
{order_id}
的信息
")
(2)任意用户注册
任意用户注册漏洞同样也是一个很严重的漏洞,通常由于应用程序在用户注册过程中缺乏足够的验证和限制机制而导致。这种漏洞允许攻击者无限制地创建新用户账户,有时甚至可以获得管理员权限。
他的常见的场景就是在注册用户的时候了,只需打开目标网站的注册页面
,使用Burp Suite拦截并抓取注册请求。并修改请求中的关键参数,例如用户名、密码、验证码等。
检查响应结果,就能确认是否成功注册。
下边也是由无问AI生成的一个简单的示例
// 抓取注册请求后,在Burp Repeater模块中修改请求体,例如:
POST /register HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 76
{
"username": "testuser",
"password": "testpass",
"email": "[email protected]",
"captcha": "1234"
//
若验证码在响应中,则直接读取
}
以上就是两个常见的漏洞漏洞,还有更多的逻辑漏洞,我们下期再给大家进行演示任意密码重置和支付漏洞哦,请大家先关注我哦,这样就不会迷路啦。
无问AI大模型-网络安全领域的超级智能专家,助力网安从业者降低时间成本。新人注册送额度,每月月初赠额度。欢迎注册体验
原文始发于微信公众号(LA安全实验室):分享常见的逻辑漏洞挖掘方法(第一部分)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论