业务逻辑漏洞

越权漏洞
越权漏洞的概念 越权漏洞是一种很常见的逻辑安全漏洞,是由于服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致修改相关参数就可以拥有了其他账户的增、删、查、改功能,从而导致越权漏洞。

目前存在着两种越权操作类型:横向越权操作(水平越权)和纵向越权(垂直越权)操作。

越权一般分为水平越权和垂直越权。 水平越权是指相同权限下不同的用户可以互相访问 垂直越权是指使用权限低的用户可以访问到权限较高的用户

水平越权测试方法主要就是看看能否通过A用户操作影响到B用户

垂直越权的测试思路就是低权限用户越权使用高权限用户的功能,比如普通用户可使用管理员功能。

越权测试流程
把握住传参就能把握住逻辑漏洞的命脉

越权测试 登录A用户是,正常更改或者是查看A用户信息,然后抓取数据包,将传参ID修改为其他用户,如果成功查看或者修改了同权限其他用户的信息就属于水平越权测试。(如果可以影响到高权限用户就是垂直越权) 传参ID参数需要自己检测(常见:uid= id= user= 等)通常使用burp进行爆破传参(传参可能在GET POST COOKIE)

常见平行越权(不需要输入原密码的修改密码,抓包改用户名或者用户id修改他人密码 修改资料的时候修改用户id ,查看订单的时候,遍历订单id等)

防护措施
验证一切来自客户端的参数,重点是和权限相关的参数,比如用户ID或者角色权限ID等。

session ID 和认证token做绑定,放在服务器的会话里,不发送给客户端。

对于用户登录后涉及用户唯一信息的请求,每次都要验证检查所有权,敏感信息页面加随机数的参数,防止浏览器缓存内容。

把程序分成匿名、授权和管理的区域,将角色和数据功能匹配。

未授权访问
未授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。 可以尝试在登录某网站前台或后台之后,将相关的页面链接复制到其他浏览器或其他电脑上进行访问,观察是否能访问成功。

只要输入正确的网址就可以直接访问 例如/admin默认是登录,登录后跳转到user.php,然后你直接访问user.php,发现你直接有后台权限

攻击者登录某应用访问需要通过认证的页面,切换浏览器再次访问此页面,成功访问则存在未授权访问漏洞

防护措施
未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷,导致其他用户可以直接访问,从而引发重要权限可被操作,数据库、网站目录等敏感信息泄露,所以对未授权访问页面做Session认证,并对用户访问的每一个URL做身份鉴别,正确地校验用户ID及Token等。

验证码绕过
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。

可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。

这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

验证码五花八门,有中文字,纯数字,点击字符、数学运算…… [其实还有另一种验证码]

验证码常见绕过姿势
一、前端验证验证码,并没有后端验证,直接抓包然后进行跑数据包(前端验证不可靠)

二、验证码设置了但是并没有效验,乱输验证码也能够成功的登录

三、验证码可以重复使用,比如现在的验证码1111,然后虽然你登录失败后验证码会变,但是你输入1111他却判定你验证码正确(常见) 体验盒子 - 不再关注网络安全

四、.验证码空值绕过,比如,我们现在抓一个包,发现登录参数是user=admin&password=admin&yzm=4123。 yzm验证码参数,但是我们如果去掉yzm的传参我们就可以绕过验证码机制,直接传参user=admin&password=admin,验证码就失效了 体验盒子 - 不再关注网络安全

五、验证码干扰过低,轻松使用脚本识别 体验盒子 - 不再关注网络安全

六:验证码会在HTML页面输出。 体验盒子 - 不再关注网络安全

七、验证码可控制,比如他的验证码包含在URL里面,是一个URL传参,我们可以把URL设置定,那么验证码可控制 体验盒子 - 不再关注网络安全

八、验证码有规则,比如是时间戳的后6位(rand函数进行随机数)

九、有万能验证码,验证码无论是什么,只要输入000000就能直接绕过

十、验证码有的时候会藏在cookie里面,分析一下是不是存在验证码的参数

十一、图片验证码,类型太少,容易识别 体验盒子 - 不再关注网络安全

多次登录后才出现验证码绕过: 基于session:体验盒子 - 不再关注网络安全 基于ip: 体验盒子 - 不再关注网络安全 基于用户: 爆破用户名,而非爆破密码

密码找回漏洞
密码找回功能中潜在的逻辑漏洞,将使互联网用户的账户面临严重的安全风险。

密码找回漏洞场景大致分为以下几种:

密码找回凭证可被暴力破解;

密码找回凭证直接返回给客户端;

密码重置链接存在弱Token;

密码重置凭证与用户账户关联不严;

重新绑定用户手机或邮箱;

服务端验证逻辑缺陷;

密码找回-密码找回凭证可被暴力破解
当你QQ密码忘记密码的时候,你需要找回密码,然后他要求把APP显示的动态密码填入框里面,一般而言手机验证码时间都有5-30分钟,如果他没有做尝试限制的话我们是不是可以进行穷举?然后直接跑出验证码然后就修改他人密码呢?

密码找回凭证是指在密码找回过程中,服务端向用户的注册手机或者邮箱中发送的验证码或特殊构造的URL等用于用户自证身份的信息。当用户凭证的验证次数未做限制或限制不严可被绕过时,攻击者可以通过暴力枚举用户凭证的方式,冒充该用户重置其密码。

密码找回-凭证直接返回给客户端
有些信息系统在密码找回功能的设计上存在逻辑漏洞,可能会将用于用户自证身份的信息的密码找回凭证以各种各样的方式返回到客户端。 这样攻击者只要通过在本地抓取数据包并对其内容加以分析就能获取到其他用户的密码找回凭证,从而冒充该用户重置密码。

防护措施
发送一个重置密码的链接到邮箱

任意文件下载
漏洞描述 大多数业务系统或站点为用户提供了下载功能,如果未对用户访问或下载文件做出任何限制,则有可能导致任意文件下载漏洞。使得用户可以查看或下载服务器上的任意文件。

漏洞危害 任意文件下载漏洞可以导致敏感信息(如源码、配置信息、口令等)泄露。攻击者可以进行口令破解或进行信息收集,通过对服务器配置文件的下载,获取到大量的配置信息、源码,从而根据获取的信息来进一步挖掘服务器漏洞从而入侵。

思路

利用条件 存在读文件的函数 读取文件的路径用户可控且未校验或校验不严 输出了文件内容

利用思路 进行信息收集,如包括系统版本,中间件,cms及版本,服务器用途,服务器使用者信息,端口,web路径等 根据收集的信息,下载常规的配置文件,例如: ssh,weblogic,ftp,mysql等相关配置 下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方 下载web业务源码进行代码审计,利用漏洞进一步尝试getshell


__EOF__

本文作者Crushz
本文链接https://www.cnblogs.com/Crushz-2024/p/18392068.html
关于博主:Crushz
版权声明:转载请注明来源哟~ QAQ
声援博主:UP UP UP !!!
posted @   Crushz  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示