全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  网络安全面试题

【XSS篇】大厂网络安全面试题集合(二)

发布时间:2022-07-14 13:54:00
发布人:syq

  XSS 原理

  反射型

  用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。需要诱使用户“点击”一个恶意链接,才能攻击成功。

网络安全面试题

  DOM 型

  通过修改页面的 DOM 节点形成的 XSS,称之为 DOM Based XSS。

  DOM 型和反射型的区别

  反射型 XSS:通过诱导用户点击,我们构造好的恶意 payload 才会触发的 XSS。反射型 XSS 的检测我们在每次请求带 payload 的链接时页面应该是会带有特定的畸形数据的。

  DOM 型:通过修改页面的

  DOM 节点形成的 XSS。DOM-based XSS 由于是通过 js 代码进行 dom 操作产生的 XSS,所以在请求的响应中我们甚至不一定会得到相应的畸形数据。根本区别在我看来是输出点的不同。

  DOM 型 XSS 自动化测试或人工测试

  人工测试思路:找到类似 document.write、innerHTML 赋值、outterHTML 赋值、window.location操作、写 javascript:后内容、eval、setTimeout 、setInterval 等直接执行之类的函数点。找到其变量,回溯变量来源观察是否可控,是否经过安全函数。自动化测试参看道哥的博客,思路是从输入入手,观察变量传递的过程,最终检查是否有在危险函数输出,中途是否有经过安全函数。但是这样就需要有一个 javascript 解析器,否则会漏掉一些通过 js 执行带入的部分内容。

  在回答这段问题的时候,由于平时对客户的检测中,基本是凭借不同功能点的功能加上经验和直觉来进行检测,对不同类型的 XSS 检测方式实际上并没有太过细分的标准化检测方式,所以回答的很烂。

  对于 XSS 怎么修补建议

  输入点检查:对用户输入的数据进行合法性检查,使用 filter 过滤敏感字符或对进行编码转义,针对特定类型数据进行格式检查。针对输入点的检查最好放在服务器端实现。

  输出点检查:对变量输出到 HTML 页面中时,对输出内容进行编码转义,输出在 HTML 中时,对其进行 HTMLEncode,如果输出在 Javascript 脚本中时,对其进行 JavascriptEncode。对使用JavascriptEncode 的变量都放在引号中并转义危险字符,data 部分就无法逃逸出引号外成为 code 的一部分。还可以使用更加严格的方法,对所有数字字母之外的字符都使用十六进制编码。

  此外,要注意在浏览器中,HTML 的解析会优先于 Javascript 的解析,编码的方式也需要考虑清楚,针对不同的输出点,我们防御 XSS 的方法可能会不同,这点可能在之后的文章会做下总结。除此之外,还有做 HTTPOnly 对 Cookie 劫持做限制。

  XSS 蠕虫的产生条件

  正常情况下,一个是产生 XSS 点的页面不属于 self 页面,用户之间产生交互行为的页面,都可能造成XSS Worm 的产生。

  不一定需要存储型 XSS

  更多关于“网络安全培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。

相关文章

华为外包网络安全面试题-网络安全常见攻击类型与防御措施

2023-07-25

网络安全程序员面试题

2023-07-21

抓包是什么意思

2023-03-02

什么是xss跨站脚本攻击

2023-03-02

webshell攻击是什么

2023-03-02

sqlserver注入拿webshell-csdn有哪些必要条件?

2023-03-02
在线咨询 免费试学 教程领取