网络安全:Web 安全 面试题.(XSS)
网络安全面试是指在招聘过程中,面试官会针对应聘者的网络安全相关知识和技能进行评估和考察。这种面试通常包括以下几个方面:
(1)基础知识:包括网络基础知识、操作系统知识、密码学知识等。
(2)安全技术:如入侵检测、防火墙配置、密码管理、漏洞分析等技术的掌握程度。
(3)安全实践:评估应聘者在实际工作中解决网络安全问题的能力,如案例分析、渗透测试等。
(4)安全意识:了解应聘者对网络安全的重视程度和责任心,以及在安全事故发生时的应对能力。
(5)项目经验:询问应聘者参与过的网络安全相关项目,了解其在项目中的具体工作和贡献。
(6)沟通表达:考察应聘者的沟通能力和逻辑思维,以及解决问题的方法。
目录:
网络安全:Web 安全 面试题.
(1)XSS 有哪几种类型
(2)如何验证存在 xss 漏洞.
(3)黑客可以通过 XSS 攻击做哪些事:
(4)XSS 攻击如何进行防护:
(5)对于 XSS 怎么修补建议:
(6)CSRF 攻击和 XSS 攻击有什么区别:
(7)知道哪些 XSS 攻击案例简单说一下:
基础 OWASP 漏洞都有哪些:
注入攻击:
SQL 注入
OS 命令注入
脚本注入
跨站脚本攻击:
存储型 XSS
反射型 XSS
DOM 型 XSS
跨站请求伪造(CSRF):
利用受害者的会话凭证执行未经授权的操作
未经授权的访问控制:
缺乏对关键事件的日志记录和监控
不安全的反序列化:
反序列化过程中存在的安全漏洞
XML 外部实体注入:
解析 XML 输入时的安全漏洞
敏感数据泄露:
未加密或加密不当的敏感数据
失效的身份认证:
密码管理不当
会话管理不当
安全配置错误:
未对系统组件进行适当的安全配置
使用组件存在已知漏洞:
使用存在已知安全漏洞的软件组件
(1)XSS 有哪几种类型
存储型 XSS (也叫持久型 XSS):
黑客将恶意 JavaScript 脚本长期保存在服务端数据库中,用户一旦访问相关页面数据,恶意脚本就会被执行。
反射型 XSS (也叫非持久型):
恶意 JavaScript 脚本属于用户发送给网站请求中的一部分,随后网站又将这部分返回给用户,恶意脚本在页面中被执行。一般发生在前后端一体的应用中,服务端逻辑会改变最终的网页代码。
基于 DOM 的 XSS:
这种攻击不需要经过服务器,网页本身的 JavaScript 也是可以改变 HTML的,黑客正是利用这一点来实现插入恶意脚本。
(2)如何验证存在 xss 漏洞.
XSS 漏洞的原理:插入语句、改变结果、操纵数据.
本质是:
用户输入的 html 语句直接输出,包括了使用不正确的方法去验证挖掘 XSS 的。
第一步是找输入,也就是用户可以操控代码的位置;
第二步是找输出也就是找到第一步用户输入的代码在网页的何处地方进行了输出;
第三步:构造payload,通过查看源代码,构建出 payload。
如代码输出位置在<td>test</td>,即可构建出 payload:
test</td><svg/onload=console.og(1)><td>
最后输出结果为:
<td>test</td><svg/onload=console.log(1)><td></td>
实战认证教程:Web安全:XSS漏洞的测试(防止 黑客利用此漏洞.)_xss测试-CSDN博客
(3)黑客可以通过 XSS 攻击做哪些事:
盗取用户 Cookie、未授权操作、修改 DOM、刷浮窗广告、发动 XSS 蠕虫攻击,劫持用户行为,进一步渗透内网.
(4)XSS 攻击如何进行防护:
将 HTML 元素内容、属性以及 URL 请求参数、CSS 值进行编码.
当编码影响业务时,使用白名单规则进行检测和过滤.
使用 W3C 提出的 CSP(Content Security Policy,内容安全策略),定义域名 白名单.
设置 Cookie 的 HttpOnly 属性.
(5)对于 XSS 怎么修补建议:
输入点检查:
对用户输入的数据进行合法性检查,使用fiter过滤敏感字符或对进行编码转义,针对特定类型数据进行格式检查。针对输入点的检查最好放在服务器端实现。
输出点检查:
对变量输出到 HTML页面中时,对输出内容进行编码转义,输出在HTML中时,对其进行HTMLEncode,如果输出在Javascript脚本中时,对其进行JavascriptEncode。对使用JavascriptEncode 的变量都放在引号中并转义危险字符,data 部分就无法逃逸出引号外成为 code 的一部分。还可以使用更加严格的方法,对所有数字字母之外的字符都使用十六进制编码。此外,要注意在浏览器中,HTML的解析会优先于Javascript的解析,编码的方式也需要考虑清楚。除此之外,还有做 HTTPOnly 对 Cookie 劫持做限制。
(6)CSRF 攻击和 XSS 攻击有什么区别:
CSRF 攻击不需要将恶意代码注入用户的页面,仅仅是利用服务器的漏洞和用户的登录状态来实施攻击。
CSRF 攻击成本也比 XSS 低,用户每天都要访问大量网页,无法确认每一个网页的合法性,从用户角度来说,无法彻底防止CSRF攻击。
(7)知道哪些 XSS 攻击案例简单说一下:
2005年,年仅 19 岁的 Samy Kamkar 发起了对 MySpace.com 的 XSS Worm 攻击samykamkar的蠕虫在短短几小时内就感染了 100万用户 -- 它在每个用户的自我简介后边加了一句话:“but most of all, Samy is my hero.”(Samy 是我的偶像)。这是 Web 安全史上第一个重量级的 XSS Worm,具有里程碑意义.
2007年12月,百度空间收到蠕虫攻击,用户之间开始转发垃圾短消息,QQ 邮箱 m.exmail.qq.com 域名被发现反射型 XSS 漏洞。
2011年新浪微博曾被黑客 XSS 攻击,黑客诱导用户点击一个带有诱惑性的链接便会自动发送一条带有同样诱惑性链接微博。攻击范围层层扩大,也是一种蠕虫攻击。