- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
安全测试的具体应用场景和测试思路
1、语言自身漏洞
常见类型:
Java原生态反序列化漏洞:反序列化将字节流还原成对象,如果应用对不
可信数据进行了反序列化处理,攻击者可以通过构造恶意输入,让反序列化产生
非预期的对象,可能带来任意代码执行。
2、业务逻辑漏洞
1)越权类漏洞
安全缺陷:攻击者可以越权操作(增删查改)其他用户的数据。信息安全三
要素:保密性、完整性、可用性。这三个要素越权都能破坏:查看破坏保密性,
修改破坏完整性,删除破坏可用性。
常见类型:
水平越权
同级别权限的用户访问其他用户的资源。操作服务端数据时,服务端未验证
数据是否归属于请求用户,使得攻击者可操作其他用户数据,导致水平越权漏洞。
垂直越权
低级别权限的用户访问高级别权限的资源,又称为权限提升,主要是由于应
用程序没有做权限控制或仅通过JS在前端进行权限控制,导致攻击者猜测到管
理页面或绕过前端验证达到权限提升的目的。常出现在后台管理中。
测试方法:
换Cookie:使用两个账号的cookie或者直接切换账号,发送同一个请求
包,看相应内容是否相同
换资源ID:关注有特定标识字段的接口,修改该字段的值为非本用户的id,
看是否得到响应
解决方案:
开启业务鉴权。如下两种场景:
1、据当前登录用户信息进行业务处理
关键在于
a、使用正确的方式获取用户pin:禁止从Get、Post参数、Cookie参
数以及Header头中获取pin的值,所有获取当前用户身份的方式都应该从
session中获取,不以任何客户端传递的明文数据作为鉴权方式。
b、对用户的权限进行校验:任何和账户相关的增删改查都要用当前用户身
份去约束。
2、基于业务资源数据进行业务处理的场景
建议
a、安全编码
b、业务系统设计关键编号应设计为不可预测类型(如UUID),尽量避免
使用递增数字类型编号,用户可见索引字段尽量设置成无规律
c、资源数据的获取需要增加风控,如采用划分角色进行防御
d、对请求来源、请求频率进行限制,在访问数据库之前进行拦截
e、对敏感数据的增删改查导出等需要增加日志记录并定期审计
2)SQL注入漏洞
安全缺陷:应用程序直接将用户输入的内容拼接到SQL语句中执行。在特
定条件下,攻击者可以查询数据库中任何数据,同时可以直接获取数据库服务器
的系统权限。如操作数据库中数据、拖库、在数据库服务器上执行操作系统命令、
DRUID检测(泄露数据库的库表和SQL语句等敏感信息)。
常见类型:
SQL处理时采用拼接模式${param}
解决方案:采用预编译模式#{param}
a、select*fromtable_Awhereid=#{id}
b、likeconcat(%,#{param},%}
c、in
foreachcollections=idsitem=itemopen=(separator=,
close=)
#{item}
/foreach
d、orderby在java层面做映射
3)XSS跨站脚本攻击
CrossSiteScript,跨站脚本漏洞,通常发生在客户端,攻击者在Web
页面中插入恶意JavaScript代码(也包括VBScript和ActionScript代码等),
用户浏览此页面时,会执行这些恶意代码,从而使用户受到攻击。
安全缺陷:未做数据校验或任何数据处理即展示在前端。如数据展示对客户
输入校验规则不足,导致可以通过相关编码或者特殊标签来绕过,进而实现XSS
攻击。攻击者可以利用此漏洞开展信息窃取、网络钓鱼、蠕虫攻击、内网探测、
插入广告、劫持流量、恶意跳转等攻击。
常见类型:
解决方案:
4)文件上传漏洞
安全缺陷:Web业务系统在处理用户上传文件时,未对扩展名进行验证。
文档评论(0)