前端安全之XSS,CSRF,网络劫持

原理:获取用户的Cookie

2. 攻击场景


  • 评论区或者搜索框(可以输入的地方)

  • URL上拼接js代码

3. 类型


1、存储型 Server

论坛发帖、商品评价、用户私信等等这些用户保存数据的地方

攻击者将恶意代码提交到目标网站的数据库中,

用户开打该网站评论、内容的时候就会被攻击,

用户浏览器收到html代码后,混入其中的恶意代码就会被执行

比如获取用户的cookie信息,然后发送给攻击者的服务器。

在实际开发中,开发人员要增强安全意识,为用户的信息安全保驾护航。这其实就涉及XSS的防御,要对用户输入输出的特殊信息进行转换和过滤。

2、 反射型 Server

攻击者通过各种手段,诱导用户点击恶意URL,

通过URL传参数的过程,比如网站的搜索或者跳转

攻击者构造出特殊的 URL,其中包含恶意代码,这种攻击常见于通过 URL
传递参数的功能,将cookie传给攻击者的服务器,比如,在url参数上,http://localhost?name= 获取 get 方式传递的变量名为
name的变量值(值为一个字符串),然后显示在屏幕上,注意这中间并未对用户输入进行任何过滤。然后攻击者就可以通过输入
<script>alert('xss')</script> :或者javascript:alert('xss');或<<img src=1 onerror=alter(1)>进行攻击,

由于需要用户主动打开恶意的 URL 才能生效,攻击者往往会结合多种手段诱导用户点击,比如抽奖红包、美女图片、娱乐八卦,有a标签如
****其中xss为变量,是通过url获取的,这时候就需要对输入的

防御办法

  • 开发人员需要对输入内容进行过滤和转译。对a连接跳转增加白名单 [‘http’,‘https’]判断

  • 设置cookie为httponly ,可以禁止cookie通过脚本获取。

  • 加入meta标签,csp (Content Security Policy) 防止页面被XSS攻击时,嵌入第三方的脚本文件

3、 DOM 型 Browser

无论是持久型XSS还是反射型XSS,
恶意的js脚本内容都需要由服务端返回给用户,而Dom型XSS型却例外吗,这里是属于前端代码的漏洞,攻击者将带有恶意链接的代码发给用户进行点击,前端代码获取到链接上的参数执行,如

var hash = location.hash.slice(1);

document.write(hash);

//或者

function domxss(){

var str = window.location.search;

var txss = decodeURIComponent(str.split(“text=”)[1]);

var xss = txss.replace(/+/g,’ ');

document.getElementById(“dom”).innerHTML = “跳转”;

}

如何防范XSS攻击呢?

主旨:防⽌攻击者提交恶意代码,防⽌浏览器执⾏恶意代码

  • 对数据进⾏严格的输出编码:如HTML元素的编码,JS编码,CSS编码,URL编码等等

避免拼接 HTML;Vue/React 技术栈,避免使⽤ v-html / dangerouslySetInnerHTML

  • CSP HTTP Header(内容安全策略),即 Content-Security-Policy(不⽀持CSP的旧版浏览器可以设置X-XSSProtection,

增加攻击难度,配置CSP(本质是建⽴⽩名单,由浏览器进⾏拦截)

Dom型XSS的防御,还是依赖于参数校验、过滤、转义等方法,以及加CSP(内容安全策略),它可以禁⽌加载外域代码, 禁⽌外域提交等等

Content-Security-Policy: default-src ‘self’ -所有内容均来⾃站点的同⼀个源(不包括其⼦

域名)

Content-Security-Policy: default-src ‘self’ *.trusted.com -允许内容来⾃信任的域名及其

⼦域名 (域名不必须与CSP设置所在的域名相同)

Content-Security-Policy: default-src https://lubai.com -该服务器仅允许通过HTTPS⽅式

并仅从lubai.com域名来访问⽂档

禁⽌加载外域代码,防⽌复杂的攻击逻辑。

禁⽌外域提交,⽹站被攻击后,⽤户的数据不会泄露到外域

  • 输⼊验证:⽐如⼀些常⻅的数字、URL、电话号码、邮箱地址等等做校验判断

  • 开启浏览器XSS防御:Http Only cookie,禁⽌ JavaScript 读取某些敏感 Cookie,攻击者完成

XSS 注⼊后也⽆法窃取此 Cookie。

  • 验证码

CSRF(跨站请求伪造)


本质:使用用户的Cookie

![在这里插入图片描述](https://img-
blog.csdnimg.cn/699480be3ae5433295e24a6a24e07e23.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_Q1NETiBA5YmN56uv5ZCM5a2m,size_33,color_FFFFFF,t_70,g_se,x_16)

受害者登录A站点,并保留了登录凭证(Cookie)。

攻击者诱导受害者访问了站点B。

站点B向站点A发送了一个请求,浏览器会默认携带站点A的Cookie信息。

站点A接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是无辜的受害者发送的请求。

站点A以受害者的名义执行了站点B的请求。

攻击完成,攻击者在受害者不知情的情况下,冒充受害者完成了攻击。

POST类型的CSRF

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

![](https://img-
blog.csdnimg.cn/img_convert/6679c89ccd849f9504c48bb02882ef8d.png)

![](https://img-
blog.csdnimg.cn/img_convert/07ce1a919614bde78921fb2f8ddf0c2f.png)

![](https://img-
blog.csdnimg.cn/img_convert/44238619c3ba2d672b5b8dc4a529b01d.png)

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图 。可以说是最科学最系统的学习路线 ,大家跟着这个大的方向学习准没问题。

![image](https://img-
blog.csdnimg.cn/img_convert/acb3c4714e29498573a58a3c79c775da.gif#pic_center)

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

![image-20231025112050764](https://img-
blog.csdnimg.cn/874ad4fd3dbe4f6bb3bff17885655014.png#pic_center)

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

![](https://img-
blog.csdnimg.cn/img_convert/d3f08d9a26927e48b1332a38401b3369.png#pic_center)

② 视频

![image1](https://img-
blog.csdnimg.cn/img_convert/f18acc028dc224b7ace77f2e260ba222.png#pic_center)

③ 书籍

![image2](https://img-
blog.csdnimg.cn/img_convert/769b7e13b39771b3a6e4397753dab12e.png#pic_center)

资源较为敏感,未展示全面,需要的最下面获取

![在这里插入图片描述](https://img-
blog.csdnimg.cn/e4f9ac066e8c485f8407a99619f9c5b5.png#pic_center)![在这里插入图片描述](https://img-
blog.csdnimg.cn/111f5462e7df433b981dc2430bb9ad39.png#pic_center)

② 简历模板

![在这里插入图片描述](https://img-
blog.csdnimg.cn/504b8be96bfa4dfb8befc2af49aabfa2.png#pic_center)

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

学习计划安排


我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!

如果你对网络安全入门感兴趣,那么你需要的话可以

点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值