Web前端攻击方式及防御措施

一、XSS

【Cross Site Script】跨站脚本攻击

恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

 1、Reflected XSS

基于反射的XSS攻击,主要依靠站点服务端返回脚本,在客户端触发执行从而发起Web攻击。Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。

 2、Stored XSS 

该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。

3、DOM-based XSS

本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。

4、防御措施

1.对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。

2.实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。

3.确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。

4.使用HTTPS

当然,如上操作将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。

XSS的原理分析与解剖

XSS攻击及防御

二、 CSRF 

【Cross Site Request Forgery】站点伪造请求

跨站点参考伪造通过在访问用户被认为已经通过身份验证的Web应用程序的页面中包含恶意代码或链接来工作。 如果该Web应用程序的会话没有超时,攻击者可能执行未授权的命令。

防御措施

1.验证 HTTP Referer 字段 ;

2.在请求地址中添加 token 并验证 ;

3.在 HTTP 头中自定义属性并验证

4.正确使用GET,POST和Cookie;

5.在非GET请求中增加伪随机数;

预防CSRF攻击

CSRF攻击介绍及防御

三、SQL注入 

防御措施

采用sql语句预编译和绑定变量,是防御sql注入的最佳方法。采用JDBC的预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。

原理:采用了PreparedStatement,就会将sql语句:”select id, no from user where id=?” 预先编译好,也就是SQL引擎会预先进行语法分析,产生语法树,生成执行计划,也就是说,后面你输入的参数,无论你输入的是什么,都不会影响该sql语句的 语法结构了,只会被当做字符串字面值参数。

使用正则表达式来过滤一些sql关键字,如or、where等。

【Web安全与防御】简析Sql注入与防御措施

四、cookie窃取和session劫持

Cookie包含了浏览器客户端的用户凭证,相对较小。Session则维护在服务器,用于维护相对较大的用户信息。cookie被攻击者窃取、session被劫持即攻击者劫持会话,合法登录了你的账户,可以浏览大部分用户资源。 
用通俗的语言,Cookie是钥匙,Session是锁芯。 
最基本的cookie窃取方式:xss漏洞。 
cookie窃取和session劫持

 五、钓鱼攻击【重定向攻击】

攻击者会发送给受害者一个合法链接,当链接被点击时,用户被导向一个似是而非的非法网站,从而达到骗取用户信任、窃取用户资料的目的。

防御措施

对所有的重定向操作进行审核,以避免重定向到一个危险的地方.

常见解决方案是白名单,将合法的要重定向的url加到白名单中,非白名单上的域名重定向时拒之;

重定向token,在合法的url上加上token,重定向时进行验证.

 六、Http Heads攻击

HTTP协议在Response header和content之间,有一个空行,即两组CRLF(0x0D 0A)字符。这个空行标志着headers的结束和content的开始。“聪明”的攻击者可以利用这一点。只要攻击者有办法将任意字符“注入”到headers中,这种攻击就可以发生。

防御措施

过滤所有的response headers,除去header中出现的非法字符,尤其是CRLF。

 七、拒绝服务攻击【DoS】

攻击者想办法让目标机器停止提供服务:一是使用SYN flood迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。

防御措施 

对于SYN flood:启用SYN Cookie、设置SYN最大队列长度以及设置SYN+ACK最大重试次数。

八、文件上传攻击 

用户上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。

分类

文件名攻击:上传的文件采用上传之前的文件名,可能造成客户端和服务端字符码不兼容,导致文件名乱码问题;文件名包含脚本,从而造成攻击.

文件后缀攻击:上传的文件的后缀可能是exe可执行程序,js脚本等文件,这些程序可能被执行于受害者的客户端,甚至可能执行于服务器上.因此我们必须过滤文件名后缀,排除那些不被许可的文件名后缀.

文件内容攻击:IE6有一个很严重的问题 , 它不信任服务器所发送的content type,而是自动根据文件内容来识别文件的类型,并根据所识别的类型来显示或执行文件.如果上传一个gif文件,在文件末尾放一段js攻击脚本,就有可能被执行.这种攻击,它的文件名和content type看起来都是合法的gif图片,然而其内容却包含脚本,这样的攻击无法用文件名过滤来排除,而是必须扫描其文件内容,才能识别。

防御措施

文件上传的目录设置为不可执行。

判断文件类型。在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。

对上传的文件类型进行白名单校验,只允许上传可靠类型。

上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本。

限制上传文件的大小。

单独设置文件服务器的域名。

链接:https://www.jianshu.com/p/a5ff8a23b423

Web前端攻击方式及防御措施

原文地址:https://www.cnblogs.com/yunshangwuyou/p/9587974.html

时间: 2024-10-14 16:35:25

Web前端攻击方式及防御措施的相关文章

6.XSS攻击方式及防御措施

一.前端XSS攻击分类 1.什么是XSS攻击 XSS允许恶意的web用户将代码植入到提供给其他用户使用的页面中 2.XSS分类 反射型(非持久型)XSS 存储型(持久型)XSS DOM-Basedx型 XSS (1)反射型XSS 攻击方式:诱导用户点击率一些带恶意脚本参数的URL,而服务器直接使用了恶意脚本并返回了结果页,从而导致恶意代码在浏览器执行 (2)持久型XSS 攻击方式:将恶意代码上传或存储到了漏洞服务器上,用户访问页面时,页面中包含了恶意脚本 (3)DOM-Basedx型XSS 攻击

DDoS攻击、CC攻击的攻击方式和防御方法

DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击.也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的.分布式拒绝服务攻击一旦被实施,攻击网络包就会从很多DOS攻击源(俗称肉鸡)犹如洪水般涌向受害主机,从而把合法用户的网络包淹没

[转帖][思路/技术]Mimikatz的多种攻击方式以及防御方式

[思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能. 挖低危的清风i春秋作家 发表于 7 天前01372 本帖最后由 春风得意水先知 于 2019-9-25 23:50 编辑 Mimikatz的多种攻击方式以及防御方式 Mimikatz的简介:     Mimikatz为法国人Benjamin Delpy编写的一款轻量级的调试工具,在内网渗透过程中,它多数

web攻击方式和防御方法

在http请求报文中加载攻击代码,就能发起对web应用的攻击.通过url查询字段或者表单.http首部.cookie等途径吧攻击代码传入,若这时web应用存在安全漏洞,那内部信息就会遭到窃取! 对web的攻击模式有两种: 主动攻击(主动攻击服务器) 被动攻击(上传木马程序,用户访问时触发http陷阱) 实施的安全策略主要分为两步: 客户端验证 服务端验证(输入值验证,输出值转义) 两种主要的攻击方式 1.SQL注入攻击(php防止方法是使用mysqli_real_escape_string或者a

xss原理、攻击方式与防御

xss原理: xss叫跨站脚本攻击,是Web程序中常见的漏洞只用于客户端的攻击方式,其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的.如,盗取用户Cookie.破坏页面结构.重定向到其它网站等.所以做网站的时候要明白一个道理:用户的输入是不可信的,所有可输入的地方都要进行数据进行处理才能杜绝xss攻击: xss攻击的二种方式: 1.反射型:一种基于网页DOM结构的攻击,该攻击特点是中招的人是少数人.通常为通

XSS攻击原理及防御措施

概述 XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列 表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实 施比如SQL注入攻击服务器和数据库.Click劫持.相对链接劫持等实施钓鱼,它带来的危害是巨 大的,是web安全的头号大敌. 攻击的条件 实施XSS攻击需要具备两个条件: 一.需要向web页面注入恶意代码: 二.这些恶意代码能

WEB安全之垃圾信息防御措施

防止垃圾评论与机器人的攻击手段如下: 1)IP限制.其原理在于IP难以伪造.即使是对于拨号用户,虽然IP可变,但这也会大大增加共攻击的工作量. 2)验证码.其重点是让验证码难于识别,对于“字母+数字”的验证码,关键在于形变与重叠,增加其破解中切割和字模比对的难度,人眼尚且难以辨识,机器就更难处理了,再者是加大对于验证码的猜测难度. 3)Token和表单欺骗.通过加入隐藏的表单值或者故意对程序混淆表单值 4)审核机制.加大了管理人员的工作量,但理论上可以完全阻止垃圾评论,这是最无奈也是最有效的策略

入门书籍 web前端开发最佳实践

高效web前端开发  book PageSpeed  出自google公司  是一款  免费的工具  性能分析 Timeline网页交互  和渲染  所要花费的时间 Profile谁  可以查看网页cpu以及内存占有的情况报告 Audits  中提供了各种资源及配置的优化建议和未使用的css规则的列表 代码的压缩 文本服务器开启Gzip压缩. UglifyJs  不仅仅是一个压缩工具,同事具有JS语法分析和代码美化工能 图片压缩工具  以在线工具居多  TinyPNG  压缩  PNG格式图片.

总结几种常见web攻击手段及其防御方式

本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross Site Scripting),指攻击者在网页中嵌入恶意脚本程序. 案列 比如说我写了一个博客网站,然后攻击者在上面发布了一个文章,内容是这样的 <script>window.open("www.gongji.com?param="