Web安全(owasp top 10)第二部分
1.跨站脚本XSS
原理:
1.反射型XSS:攻击者向服务器发送一个带有恶意JS代码的请求,服务器会向攻击者返回一个带有JS脚本的页面,攻击者将带有恶意JS脚本的页面发送给目标用户,用户点击后就会触发XSS漏洞,从而被盗取cookie值或者被重定向到第三方网站
2.存储型XSS:攻击者向服务器发送一个带有恶意JS代码的请求,服务器会先在服务器上存储一份,然后会向攻击者返回一个带有JS脚本的页面。此时,当其他用户登录这个网站时,都会被盗取cookie值或者被重定向到第三方网站。
3.DOM型XSS:攻击者向服务器发送一个带有恶意JS代码的请求,服务器的响应不会以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,DOM对象就会处理XSS代码,导致存在XSS漏洞。
危害:
1.盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2.控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3.盗窃企业重要的具有商业价值的资料
4.非法转账
5.强制发送电子邮件
6.网站挂马
7.控制受害者机器向其它网站发起攻击
8.可以获得管理员凭据,直接获取后台权限
9.造成蠕虫文件,在一些网站进行传播
防御手段:
1.对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。
2.实现Session标记,对HTTP引用头检查,以防功能被第三方网站所执行。
3.确认接收的的内容被妥善的规范化
2.安全性配置错误
原理:
安全配置错误是比较常见的漏洞,由于操作者的不当配置(默认配置,临时配置,开源云存储,http标头配置,以及包含敏感信息的详细错误),导致攻击者可以利用这些配置获取到更高的权限,安全配置错误可以发生在各个层面,包含平台、web服务器、应用服务器、数据库、架构和代码。
危害:
服务器收到入侵,root权限泄露等
防御手段:
1.使用的服务不包含任何不必要的功能、组件、文档和示例。移除或不安装不适用的功能和框架
2.及时检测系统服务版本,为已发现的漏洞打补丁
3.在对文件等分配权限时,根据其工作需要采取最小权限原则的方法
3.跨站请求伪造CSRF
原理:
利用了网站允许攻击者预测特定操作的所有细节这一特点。由于浏览器自动发送会话cookie等认证凭证,导致攻击者能够创建恶意的web页面来伪造请求。这些伪造的请求很难和合法的请求区分开。CSRF通过伪装来自受信任用户的请求来利用受信任的网站。
防御手段:
1.验证 HTTP Referer 字段
2.在请求地址中添加 token 并验证
3.在 HTTP 头中自定义属性并验证
4.使用含有已知漏洞的组件
原理:
组件(eg:库、框架或其他软件模块)拥有应用程序相同的权限,如果应用程序中含有已知漏洞,攻击者可以利用漏洞获取数据或接管服务器。同时,使用这些组件会破坏应用程序防御,造成各种攻击产生严重的后果。
防御手段:
1.标识正在使用的所有组件和版本,包括所有依赖
2.及时关注这些组件的安全信息并保证他们是最新的
3.建立使用组件的安全策略,禁止使用未经安全评估的组件
4.在适当情况下,对组件进行安全封装,精简不必要的功能,封装易受攻击部分
5.未验证的重定向和转发
原理:
攻击者通过诱使受害人去点击未经验证的重定向链接,从而利用不安全的转发绕过安全检测。攻击者通过重定向可以试图安装恶意软件或者诱使受害人泄露密码等敏感信息,通过转发可以绕过访问控制。
防御手段:
1.避免使用重定向和转发
2.如果使用了重定向和转发,则不要在确定目标时涉及到用户参数
3.如果无法避免使用目标参数,则应确保目标参数值对于当前用户是有效的并已授权。