前端安全小结

1.XSS(Cross Site Script)跨站脚本攻击

    XSS指的是恶意攻击者往web页面里插入恶意的HTML代码,当用户浏览该页面时,嵌入web当中里面的HTML代码会被运行,从而达到恶意攻击用户的特殊目的。分为三种类型的XSS:反射型、存储型和DOM。

    反射型XSS:

    发请求时,XSS代码出现在URL中,提交给服务器端。服务器端范湖的内容,也带上了这段XSS代码,最后浏览器执行了这段XSS代码。

    存储型XSS:

    存储型和反射型的区别就是,提交的XSS代码会存储在服务器端,是最危险的。

    DOM XSS:

    与前两种的区别在于DOM XSS不需要服务器端参与,可以认为是前端代码漏洞导致的。

    一些防御的手段:

    过滤转义输入输出;避免使用eval、new Function等执行字符串的方法;对于客户端的cookie,比如保存用户凭证的session务必标识为 http only。

2.CSRF(Cross Site Request Forgery),跨站请求伪造

    强迫受害者的浏览器向一个易受攻击的web应用程序发送请求,最后达到攻击者所要的操作行为。XSS是利用用户对网站的信任,而CSRF则是利用网站对对用户的信任来发起攻击的。

    <img><script><iframe>标签都不受同源策略的限制;

    步骤:登录受信任的网站A,在本地生成cookie;在不登出A的情况下,或者本地cookie没有过期的情况下,访问危险网站B;

    防御方法:

    检测回http referer是否是同域名;避免登录的session长时间存储在客户端中;关键请求使用验证码或者token机制;

3.http劫持

    http劫持是使用者与其目的网络服务所建立的专用数据通道中,监视特定数据信息,提示当满足设定的条件时就会在正常的数据流中插入精心设计的网络数据报文,目的是让用户端的程序解释“错误”的数据,并以弹出新窗口的形式在使用者界面展示宣传性广告或者直接显示某网站的内容。

    http劫持与DNS劫持

    DNS劫持时,输入google.com出来了百度页面;http劫持时,打开知乎界面,弹出了其他的广告;

    防御方法:尽量使用HTTPS协议访问。

4.界面操作劫持

    界面操作劫持时基于视觉欺骗的劫持攻击,攻击者使用一个透明的、不可见的iframe覆盖在网页的某个位置上,诱使用户点击iframe。

5.SQL注入攻击

    应用程序在向后台数据库传递SQL时,攻击者将SQL命令插入到web表单提交或者输入域名或界面请求的查询字符串中。最终达到欺骗服务器执行恶意的SQL命令。

6.文件上传漏洞

    由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可能通过web访问的目录上传任意PHP文件,并能够将这些文件传递给PHP解释器,就可以在远程服务器上执行任意PHP脚本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值