当前位置: 首页 > article >正文

Web 攻防之业务安全:Response状态值修改测试(修改验证码返回值为 true)

Web 攻防之业务安全:Response状态值修改测试

业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所提供的服务安全狭义的业务安全指业务系统自有的软件与服务的安全


目录:

Response状态值修改测试:

测试原理和方法:

测试过程:

第一步:找到某网站的返回密码功能,输入要找回的目标手机号,短信验证码可以随便输入,然后点击 “ 找回密码 ” 按钮并对该请求进行抓包(Burp Suite )

第二步:可以看见这个请求包含有 validateCode(验证码) 和 phone(手机号)两个参数,然后在 Burp Suite 抓包页面中右击 ,选择Do intercept --> Response to this request -- >放包,后就可以看到这个请求的回显包了

第三步:然后就可以看到 Response 回显包已经成功接收到了,但是包返回的值是 false,通常 false 是失败的含义,也就是说服务器端校验验证码的时候发现验证码不一致然后返回了 false 给客户端,然后在这里我们尝试一下把 false 修改为 true ,然后点击 Intercept is on 按钮关闭拦截让数据包正常发送。

第四步:接着我们可以看到页面直接跳转到密码重置页面.

修复建议:


免责声明:

严禁利用本文章中所提到的技术进行非法攻击,否则后果自负,上传者不承担任何责任。


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 攻防之业务安全实战指南.


http://www.kler.cn/a/9261.html

相关文章:

  • 「QT」几何数据类 之 QLine 整型直线类
  • IPv4与IPv6的优缺点
  • uniapp(API-Promise 化)
  • 2024一带一路暨金砖国家技能发展与技术创新大赛 (高职组)【网络安全防护治理实战技能赛项】
  • 【Vue】Vue3.0(十七)Vue 3.0中Pinia的深度使用指南(基于setup语法糖)
  • 5G智能对讲终端|北斗有源终端|北斗手持机|单兵|单北斗
  • 【Kubernetes 企业项目实战】11、掌握 Kubernetes Kustomize 技术从入门到企业实战(下)
  • 蓝桥杯基础12:BASIC-3试题 字母图形
  • 从Hive源码解读大数据开发为什么可以脱离SQL、Java、Scala
  • 2023年PMP报考时间安排攻略!
  • ARM 编译器 Arm Compiler for Embedded 6 相关工具链简介
  • 内核dpc定时器
  • Python 虚拟环境迁移到其他电脑
  • 2023最新8个电脑必装软件,新电脑装完好用又高效
  • 静态工具类中如何注入spring容器
  • AttributeError: module ‘torch‘ has no attribute ‘compile‘
  • HTML5 <head> 标签、HTML5 <i> 标签
  • OBCP第八章 OB运维、监控与异常处理-灾难恢复
  • 数据结构之线性表3
  • 【中级软件设计师】—操作系统考点总结篇(二)
  • 蓝桥杯嵌入式第十二届初赛题目解析
  • Baumer工业相机堡盟相机如何使用BGAPI SDK实现相机资源的正确释放(C++)
  • Redis使用教程之jedis客户端sendCommand方法的byte[]入参,防止混淆string的byte与数值byte的区别
  • 电脑误删除的文件怎么恢复
  • 从零开始学习Blazor
  • SHELL函数可课后作业