Web 攻防之业务安全:Response状态值修改测试(修改验证码返回值 绕过限制.)
2023-09-27 14:29:29 时间
Web 攻防之业务安全:Response状态值修改测试
业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所提供的服务安全;狭义的业务安全指业务系统自有的软件与服务的安全。
目录:
第一步:找到某网站的返回密码功能,输入要找回的目标手机号,短信验证码可以随便输入,然后点击 “ 找回密码 ” 按钮并对该请求进行抓包(Burp Suite )
免责声明:
严禁利用本文章中所提到的技术进行非法攻击,否则后果自负,上传者不承担任何责任。
Response状态值修改测试:
测试原理和方法:
修改请求的响应结果来达到密码重置的目的存在,这种漏洞的网站或者手机APP往往因为校验不严格,导致了非常危险的重置密码操作。
这种漏洞的利用方式通常是在服务端发送某个密码重置的凭证请求后,出现特定的响应值,比如true,1,ok,success 等值,网站看到回显内容为特定值后就可以修改密码,通常这种漏洞的回显时校验是在客户端进行的,所以只需要修改回显值即可。
测试过程:
Response状态值修改测试流程主要是分析服务端校验后的结果,正确和错误分别是什么样的返回结果,通过修改返回结果为正确来欺骗客户端,以达到密码重置的目的。
第一步:找到某网站的返回密码功能,输入要找回的目标手机号,短信验证码可以随便输入,然后点击 “ 找回密码 ” 按钮并对该请求进行抓包(Burp Suite )
第二步:可以看见这个请求包含有 validateCode(验证码) 和 phone(手机号)两个参数,然后在 Burp Suite 抓包页面中右击 ,选择Do intercept --> Response to this request -- >放包,后就可以看到这个请求的回显包了
第三步:然后就可以看到 Response 回显包已经成功接收到了,但是包返回的值是 false,通常 false 是失败的含义,也就是说服务器端校验验证码的时候发现验证码不一致然后返回了 false 给客户端,然后在这里我们尝试一下把 false 修改为 true ,然后点击 Intercept is on 按钮关闭拦截让数据包正常发送。
第四步:接着我们可以看到页面直接跳转到密码重置页面.
修复建议:
注意不要在前端利用服务器端返回的值判断是否可以修改密码,要把整个校验环节交给服务端进行验证.
学习的书籍:Web 攻防之业务安全实战指南.
相关文章
- 敏捷开发时代:软件安全测试需更灵活
- Web安全测试学习手册-业务逻辑测试
- 安全测试概述和用例设计
- Fortinet 荣获VB Web安全测试认证
- 3年“点工”月薪10k不到,自动化测试该如何提升和发展?
- 【Rust】虚类型测试
- 车辆安全碰撞测试中的传感器技术数字化程度更高
- 思博伦CYBERFLOOD新增功能,进一步扩大在安全与性能测试领域的领先优势
- Fortinet在NSS Labs的数据中心IPS测试中获得99.9%安全有效性得分
- 学安全测试的b站up主有空了解下
- AppScan代理扫描app/H5安全测试(没试过,记录在此)
- 安全测试 - 笔记
- 学习总结——接口测试中抓包工具的使用
- Web安全测试漏洞场景
- 中小型商业银行的软件安全测试之道
- 安全测试指南
- Web安全 SQL注入漏洞测试.(可以 防止恶意用户利用漏洞)
- Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)
- Web 攻防之业务安全:接口调用重放测试.(点击两下有多个订单效果)
- Web 攻防之业务安全:接口参数账号篡改测试(修改别人邮箱 || 手机号为自己的)
- Web 攻防之业务安全:验证码绕过测试.(修改数据包中 res_code 的值 实现绕过.)
- Web 攻防之业务安全:验证码客户端回显测试.
- Web安全 SQL注入漏洞 工具测试.
- Web 攻防之业务安全:Session会话固定测试.
- Web 攻防之业务安全:验证码自动识别 测试.