对Web应用的攻击模式有以下两种:
1.主动攻击
2.被动攻击
主动攻击:
攻击者通过直接访问Web应用,把攻击代码传入的攻击模式。由于该模式是直接针对服务器上的资源进行攻击,因此攻击者需要能够访问到那些资源。主动攻击模式里具有代表性的攻击是SQL注入攻击和OS命令注入攻击。
被动攻击:
利用圈套策略执行攻击代码的攻击模式。在被动攻击过程中,攻击者不直接对目标Web应用访问发起攻击。被动攻击模式中具有代表性的攻击是跨站脚本攻击和跨站点请求伪造。
跨站脚本攻击(XSS)
通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击。动态创建的HTML部分有可能隐藏着安全漏洞。就这样,攻击者编写脚本设下陷阱,用户在自己的浏览器上运行时,一不小心就会受到被动攻击。
影响:
1.利用虚假输入表单骗取用户信息
2.窃取用户Cookie,让用户在不知情的情况下帮助攻击者发送恶意请求
3.显示伪造的文章或图片
应对方法:
1.在Cookie中设置httpOnly,使js脚本无法读取到Cookie信息
2.过滤:
(1)对输入格式进行检查,前端和后端都要做
(2)对标签进行转换
(3)对特定字符进行转义处理
SQL注入攻击
针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。该安全隐患有可能引发极大的威胁,有时会直接导致个人信息及机密信息的泄露。
可能造成的影响:
1.非法查看或篡改数据库里的数据
2.规避认证
3.执行和数据库服务器业务关联的程序等
OS命令注入攻击
通过Web应用执行非法的操作系统命令达到攻击的目的。只要在能调用Shell函数的地方就有存在被攻击的风险。OS命令注入攻击可以向Shell发送命令,让Windows或Linux操作系统的命令行启动程序。也就是说,通过OS注入攻击可执行OS上安装着的各种程序。
跨站点请求伪造(CSRF)
攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动攻击。通俗来讲,就是攻击者冒充用户身份发起请求,在用户不知情的情况下完成一些违背用户意愿的事情
可能造成的影响:
1.利用已通过认证的用户权限更新设定信息等
2.利用已通过认证的用户权限购买商品
3.利用已通过认证的用户权限在留言版上发表言论
应对方法:
1.验证码
2.Token
3.Referer check 请求来源限制