扫码关注公众号

校招考点之前端安全和注入
08-29
224观看
01

XSS攻击是什么?

得分点XSS是跨站脚本攻击、向目标网站插入恶意代码、大量用户访问网站时运行恶意脚本获取信息参考答案:标准回答XSS是跨站脚本攻击(CrossSiteScripting),不写为CSS是为了避免和层叠样式表(CascadingStyleSheets)的缩写混淆,所以将跨站脚本攻击写为XSS。攻击者可以通过向Web页面里面插入script代码,当用户浏览这个页面时,就会运行被插入的script代码,达到攻击者的目的。XSS的危害一般是泄露用户的登录信息cookie,攻击者可以通过cookie绕过登录步骤直接进入站点。XSS的分类分为反射型和存储型。反射型就是临时通过url访问网站,网站服务端将恶意代码从url中取出,拼接在HTML中返回给浏览器,用户就会执行恶意代码。存储型就是将恶意代码以留言的形式保存在服务器数据库,任何访问网站的人都会受到攻击。预防XSS攻击的方案基本是对数据进行严格的输出编码,比如HTML元素的编码,JavaScript编码,css编码,url编码等等。加分回答XSS的危害:获取cookie:网站中的登录一般都是用cookie作为某个用户的身份证明,这是服务器端返回的一串字符。如果cookie被攻击者拿到,那么就可以绕过密码登录。当空间、论坛如果可以被插入script代码,那么进入空间或者论坛的人的账号就可以轻易被攻击者获取。恶意跳转:直接在页面中插入window.location.href进行跳转。XSS的分类:反射型XSS(非持久型XSS):通过URL参数直接注入存储型XSS(持久型XSS):存储到数据库后读取时注入XSS的预防:浏览器的防御和“X-XSS-Protection”有关,默认值为1,即默认打开XSS防御,可以防御反射型的XSS,不过作用有限,只能防御注入到HTML的节点内容或属性的XSS,例如URL参数中包含script标签。不建议只依赖此防御手段。防御HTML节点内容,通过转义<为<以及>为>来实现防御HTML节点内容。预防HTML属性,通过转义"->&quto来实现防御,一般不转义空格,但是这要求属性必须带引号。预防JavaScript代码,通过将数据进行JSON序列化。防御富文本是比较复杂的工程,因为富文本可以包含HTML和script,这些难以预测与防御,建议是通过白名单的方式来过滤允许的HTML标签和标签的属性来进行防御,大概的实现方式是:将HTML代码段转成树级结构的数据遍历树的每一个节点,过滤节点的类型和属性,或进行特殊处理处理完成后,将树级结构转化成HTML代码开启浏览器XSS防御:HttpOnlycookie,禁止JavaScript读取某些敏感Cookie,攻击者完成XSS注入后也无法窃取此Cookie。延伸阅读举个简单的例子就是一个留言板,如果攻击者在留言板中写入一个被script标签插入的代码,那么这个时候问题就来了,浏览器解析到留言内容的时候会把script当作浏览器脚本,直接运行其中的内容而不是通过渲染进程将script标签和里面的内容渲染成内容。

来自:浏览器、网络相关-前端安全和注入-XSS等
02

关于XSS攻击,以下说法错误的是?()

正确答案是B加token防御的是跨站请求伪造(CSRF)

来自:浏览器、网络相关-前端安全和注入-XSS等
03

SQL注入的危害包括()

正确答案是DSQL注入的主要危害包括:未经授权状况下操作数据库中的数据;恶意篡改网页内容;私自添加系统帐号或者是数据库使用者帐号;网页挂木马;

来自:浏览器、网络相关-前端安全和注入-XSS等
04

CSRF漏洞全称为Cross-site request forgery(跨站请求伪造)攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻

正确答案是BCSRF漏洞需要攻击者通过诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求,因此发起攻击的条件为,被攻击网站存在CSRF漏洞,一个可控制的第三方网站,攻击链可以为先利用B网站的高危漏洞拿下B网站的控制权,再通过诱导受害者访问B网站的时候利用受害者A网站的身份对A网站发起CSRF攻击。

来自:浏览器、网络相关-前端安全和注入-XSS等
05

CSRF、SSRF和重放攻击有什么区别? 

CSRF是跨站请求伪造攻击,由客户端发起 SSRF是服务器端请求伪造,由服务器发起 重放攻击是将截获的数据包进行重放,达到身份认证等目的

来自:浏览器、网络相关-前端安全和注入-XSS等
课程
专栏
js语言和框架-浏览器、网络相关-前端安全和注入-XSS等
4专栏
1课程
5 试题