Web 攻防之业务安全:接口未授权访问/调用测试
业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所提供的服务安全;狭义的业务安全指业务系统自有的软件与服务的安全。
目录:
验证码绕过测试:
测试原理和方法:
测试过程:
第一步:在网站登陆后使用 Burp Suite 的爬虫功能,从重点关注的目录一般为网站根目录开始爬取,在 HTTP history 选项卡中选中要开始爬取的项,右键选择 “Spider from here” 爬取的结果会在 Target --> Site map 中显示,在爬取完毕后使用 Burp Suite 的 HIME Type 过滤功能筛选出接口相关的 HTTP 请求重点关注 json,script,xml,text MIME Type等.(这里只是步骤说明)
第二步:对接口相关的请求进行查看,查看响应中是否包含想要的敏感信息,如个人电话,IP地址,兴趣爱好,网站的浏览记录,身份证,手机号,地址等信息.(这里只是步骤说明)
第三步:将完整的请求 URL 复制到未登录的浏览器中,查看能否访问对应的 URL 的内容,如果能够返回敏感信息,则存在漏洞,如果需要登录后才能访问,则漏洞不存在.(这里只是步骤说明)
修复建议:
免责声明:
严禁利用本文章中所提到的技术进行非法攻击,否则后果自负,上传者不承担任何责任。
验证码绕过测试:
测试原理和方法:
在正常的业务中,敏感功能的接口需要对访问者的身份进行验证,验证后才允许调用接口进行操作,如果敏感功能接口没有身份校验,那么攻击者无需登录或者验证即可调用接口进行操作,在安全测试中,我们可以使用 Burp Suite 作为 HTTP 代理,在登录状态下记录所有请求和响应的信息,筛选出敏感功能,返回敏感数据的请求,在未登录的情况下使用,浏览器访问对应敏感功能的请求,如果返回的数据与登录状态后的一致则存在漏洞或缺陷。
测试过程:
攻击者在测试前,使用 Burp Suite 的爬虫功能对网站进行爬取,通过 HIME Type 筛选出与接口相关的请求,对筛选后的每一个请求进行判断是否包含敏感信息,如果包含敏感信息,则复制请求URL到未进行登录的浏览器中进行访问,如果访问后返回之前的敏感信息,则存在漏洞。
第一步:在网站登陆后使用 Burp Suite 的爬虫功能,从重点关注的目录一般为网站根目录开始爬取,在 HTTP history 选项卡中选中要开始爬取的项,右键选择 “Spider from here” 爬取的结果会在 Target --> Site map 中显示,在爬取完毕后使用 Burp Suite 的 HIME Type 过滤功能筛选出接口相关的 HTTP 请求重点关注 json,script,xml,text MIME Type等.(这里只是步骤说明)
第二步:对接口相关的请求进行查看,查看响应中是否包含想要的敏感信息,如个人电话,IP地址,兴趣爱好,网站的浏览记录,身份证,手机号,地址等信息.(这里只是步骤说明)
第三步:将完整的请求 URL 复制到未登录的浏览器中,查看能否访问对应的 URL 的内容,如果能够返回敏感信息,则存在漏洞,如果需要登录后才能访问,则漏洞不存在.(这里只是步骤说明)
修复建议:
(1)采用 Token 校验的方式,在 URL 中添加一个 Token 参数,只有 Token 验证通过才返回接口数据且 Token 使用一次后失效。
(2)在接口被调用时,后端对会话状态进行验证,如果已经登陆,便返回接口数据;如果未登录,则返回自定义的错误信息。
学习的书籍:Web 攻防之业务安全实战指南.