》》Ⅰ 了解Web交互的基本过程
图1、Web交互的基本过程(实际应用)
图2、Web交互的交换过程(原理)
OWASP TOP10
1.1 A1-注入
注入漏洞攻击,例如SQL,OS,和LDAP注入。发生在当不可信的数据作为命令或者查询语句的一部分,被发送给处理程序或者解释器的时候,攻击者发送的恶意数据可以欺骗处理器和解释器,以执行计划外的命令或者访问未授权的数据;
1.2 A2-失效的认证和会话管理
与认证和会话管理相关的应用程序得不到正确实现,导致攻击者破坏密码、密钥、会话令牌或攻击其他漏洞去冒充其他的身份;
1.3 A3-跨站脚本XSS
当应用程序收到含有不可信任的数据,在没有进行适当的验证和转义的情况下,就将发送给浏览器,这就产生XSS。XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持会话、危害网站、或者将用户转向而已网站;
1.4 A4-不安全的直接对象引用
当开发者暴露一个不安全的直接引言时(如文件、目录、数据库密钥等等),就会产生一个不安全的直接对象引用。在没有访问控制检测或其他保护时,攻击者会操控这些引用从而访问未授权数据;
1.5 A5-安全配置错误
好的安全需要对应用程序、框架、应用程序服务器、Web服务器、数据库服务器和平台,定义和执行安全配置。由于许多默认配置并不是安全的,因此需要定义、实施和维护这些配置。这包括及时更新所有的应用程序的库文件;
1.6 A6-敏感信息泄露
许多Weby应用程序没有正确保护敏感信息,如信用卡,税务ID和身份凭据,攻击者可能会窃取或篡改这些弱保护的数据以进行信用卡欺骗、身份窃取或者其他犯罪。敏感数据需要额外保护,比如在存储和传输过程中的加密,以及在与浏览器进行交换时的特殊预防措施;
1.7 A7-功能级访问控制缺失
大多数Web应用程序当功能在UI可见之前,验证功能级别的访问权限。但在应用程序需要在每个功能访问时在服务器进行相同的访问控制检查。如果请求没有被验证,攻击者则可能伪造请求以在未经授权时访问功能;
1.8 A8-跨站请求伪造(CSRF)
跨站请求伪造攻击迫使登陆用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到存在漏洞的Web应用。这就允许攻击者迫使用户浏览器向存在漏洞的应用程序发送请求实现攻击意图,而这些请求在用户不知情的情况下会被应用程序认为是合法请求而进行处理;
1.9 A9-使用含有已知漏洞的组件
如库文件、框架和其他软件模块的组件机会以程序的全部权限运行。如果一个带有漏洞组件被利用,这种攻击可以造成更为严重的数据丢失或者服务器被接管。应用程序使用带有已知漏洞的组件会破坏应用程序的防御系统,并使得一些列攻击和影响成为可能;
1.10 A10-未验证的重定向和转发
Web应用经常将用户重定向和转向到其他网页和网站,并且可能会利用不信任数据区判定目的网页。如果没有得到适当验证,攻击者可能将用户定向到恶意软件或钓鱼网站,或者使用转发区访问未授权的页面;
》》Ⅱ 实践
1、采用WAF设备保护您的Web应用
2、WAF部署模式
》》Ⅲ 应用安全设计参考框架
《完》
参考:《软件安全》 彭国军 等人编著
扩展阅读:OWASP Top10 详解