1. Web应用的概念
-
Web应用是由动态脚本、编译过的代码等组合而成,通常架设在Web服务器上,用户使用HTTP协议向Web服务器发送请求,Web应用访问后台的数据库等返回数据给用户;
-
典型的Web应用是三层架构模型:Web层(View)、业务逻辑层(Controller、Service)、数据层(Model)
-
发生Web安全问题一般出现在Web层和业务逻辑层,因为Web层和业务逻辑层是发起请求的层;
-
常见的Web安全场景:
1. 登录的时候输出验证码; 2. 在一个网站上长时间没有操作,session会失效;
2. Web应用存在安全隐患
- 身份认证:攻击者通过错误使用程序的身份认证和会话管理功能,比如:攻击者伪造Cookie发送给服务器,从而绕过身份认证;
- SQL注入:攻击者将不受信任的数据作为命令或查询的一部分发送给服务器会产生SQL注入攻击,导致数据库的数据泄露了;
- 安全配置错误:比如没有配置HTTPS、或者HTTPS证书过期等等;
- 跨站脚本攻击:XSS(跨站脚本)让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话或将用户重定向到恶意站点;
- 使用了含有漏洞的第三方库;
- 不足的日志记录和监控,使得服务器无法感知到攻击;