业务安全漏洞挖掘归纳总结

本文详述了Web业务安全的各种漏洞类型,包括身份认证(暴力破解、Session&Cookie安全、弱加密)、业务一致性(手机号篡改、订单ID篡改等)、业务数据篡改、用户输入合规性、密码找回逻辑、验证码突破、业务授权安全、业务流程乱序、业务接口调用安全和时效绕过测试。文中列举了多种攻击手段、案例和测试方法,为业务安全提供了深入的理解和防范措施。

0x00 索引说明


6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。

0x01 身份认证安全


1 暴力破解

在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。 简单的验证码爆破。URL: http://zone.wooyun.org/content/20839

一些工具及脚本

Burpsuite

htpwdScan 撞库爆破必备 URL: https://github.com/lijiejie/htpwdScan

hydra 源码安装xhydra支持更多的协议去爆破 (可破WEB,其他协议不属于业务安全的范畴)

2 session & cookie类

会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。案例: WooYun: 新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露!

Cookie仿冒:修改cookie中的某个参数可以登录其他用户。 案例:益云广告平台任意帐号登录 WooYun: 益云广告平台任意帐号登录

3 弱加密

未使用https,是功能测试点,不好利用。

前端加密,用密文去后台校验,并利用smart decode可解

0x02 业务一致性安全


1 手机号篡改

a) 抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。

2 邮箱或者用户篡改

a) 抓包修改用户或者邮箱参数为其他用户或者邮箱

b) 案例: WooYun:

### edusrc未授权访问漏洞挖掘方法 在处理edusrc平台上的未授权访问漏洞时,理解其工作原理和技术细节至关重要。当面对登录界面时,虽然弱口令爆破是一种常见的攻击手段,但在实际操作中成功率较低[^1]。因此,转向探索系统的其他潜在弱点成为更有效的策略。 #### 探索API端点 对于Web应用程序而言,API端点往往是安全防护中的薄弱环节之一。开发者通常会基于功能需求创建多个API路径来实现不同业务逻辑,而这些路径往往遵循一定的命名规律。例如,“student”接口用于学生管理,则很可能也存在名为“teacher”的接口负责教师权限的操作[^2]。通过猜测或枚举类似的URL模式,可以找到隐藏的功能模块或者配置不当的服务入口。 #### 利用已知信息扩展测试范围 一旦成功获取到某个特定权限下的资源列表或其他内部数据结构后,应进一步分析该部分内容与其他组件之间的关联关系。比如,在上述案例中提到service接口泄露了大量敏感资料;此时不妨推测是否存在同级别的system或者其他相似名称的替代选项,并对其进行验证性请求尝试。这不仅有助于发现新的安全隐患,还能评估现有整改措施的有效性和全面性。 #### 绕过检测机制 值得注意的是,在某些情况下即使发现了疑似存在的风险点也可能受到诸如安恒EDR(终端威胁防御系统)、IP白名单等措施限制无法深入探究。针对这种情况可以从以下几个方面入手: - **研究目标环境特性**:了解所处网络架构特点以及部署的安全产品版本号等相关背景材料; - **寻找公开文档/源码库**:借助官方手册、第三方论坛甚至GitHub仓库内的开源项目作为参考资料指导后续动作规划; - **借鉴社区经验分享**:积极参与国内外知名信息安全交流群组讨论热点话题并学习他人总结归纳出来的方法论应用于实践当中去解决遇到的技术难题。 ```python import requests def test_unauthorized_access(base_url, endpoint_list): headers = {'User-Agent': 'Mozilla/5.0'} for endpoint in endpoint_list: url = f"{base_url}/{endpoint}" try: response = requests.get(url, headers=headers) if response.status_code == 200 and "error" not in response.text.lower(): print(f"[+] Potential unauthorized access found at {url}") except Exception as e: print(f"[-] Error occurred while testing {url}: {str(e)}") if __name__ == "__main__": base_urls = ["http://example.com/api"] endpoints_to_test = ["students", "teachers", "services", "systems"] for base in base_urls: test_unauthorized_access(base, endpoints_to_test) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值