diff --git a/Chapter1/README,md b/Chapter1/README,md deleted file mode 100644 index 8b13789..0000000 --- a/Chapter1/README,md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Chapter1/README.md b/Chapter1/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter1/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter10/README.md b/Chapter10/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter10/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter11/README.md b/Chapter11/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter11/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter12/README.md b/Chapter12/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter12/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter13/README.md b/Chapter13/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter13/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter14/README.md b/Chapter14/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter14/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter15/README.md b/Chapter15/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter15/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter16/README.md b/Chapter16/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter16/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter17/README.md b/Chapter17/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter17/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter18/README.md b/Chapter18/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter18/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter19/README.md b/Chapter19/README.md deleted file mode 100644 index 9eecb4f..0000000 --- a/Chapter19/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# 网安面试题(涵盖护网、红队、逆向、二进制) - -上万道安全面试题已经全部为您划分好,适用于网络安全所有岗位!!! - -HR:请问………… - -我:叽里咕噜说啥呢,看看八股文上写了没 - -(Summary.md 是目录噢!!) - -**🙏 特别感谢名单** - -在整理和完善本项目的过程中,以下朋友给予了宝贵的帮助与支持,在此表示诚挚的感谢!(排名不分先后) - -- **@用户名1** —— 提供了大量安全面试题方向的补充 -- **@用户名2** —— 纠正了多个问题的答案与表述 -- **@用户名3** —— 贡献了真实面试题经验分享 -- **@用户名4** —— 对内容结构与目录提出改进建议 - -如果您也愿意参与本项目,欢迎通过 **微信: XR3327026244** 投稿面试题或反馈问题,我们会在后续版本中加入您的名字 diff --git a/Chapter2/2-10.md b/Chapter2/2-10.md new file mode 100644 index 0000000..a5ad4fd --- /dev/null +++ b/Chapter2/2-10.md @@ -0,0 +1,46 @@ +### 为什么很多 XSS 在 Chrome 可以复现,但在 Firefox 不行?你如何判断这是漏洞问题还是浏览器差异? + +**1. 为什么 Chrome 能行,Firefox 不行?** + +这种情况通常由以下三个核心原因引起: + +**A. 解析器状态机的处理差异** + +虽然 HTML5 有标准规范,但内核实现(Chromium 的 **Blink** vs Firefox 的 **Gecko**)在处理“非法”或“畸形”代码时逻辑不同 + +- **例子**:对于 `location=/\02.rs/` 这种利用反斜杠规范化的 Payload,Chromium 倾向于将其“宽容”地纠正为协议相对路径 `//`,而 Firefox 的解析器可能更加严格,将其视为合法的本地相对路径,从而导致跳转失败 + +**B. 过滤机制与 XSS Auditor (历史上)** + +虽然 Chrome 已经移除了内置的 XSS Auditor,但 Chromium 内核在处理 **URL 编码/解码** 以及 **MIME 类型猜解 (MIME Sniffing)** 时比 Firefox 更“灵活” + +- Firefox 对 `Content-Type` 的检查通常更死板。如果服务器返回 `text/plain` 但内容包含 HTML,Chrome 可能会尝试渲染(触发 XSS),而 Firefox 则会将其下载或作为纯文本显示 + +**C. 安全机制的默认强度** + +- **内联事件处理**:Firefox 在某些版本中对伪协议(如 `javascript:`)在 `iframe` 或特定标签中的执行有更严格的上下文隔离 +- **对 `noscript` 或特殊标签的解析**:某些标签在不同浏览器中的“自闭合”逻辑不同,导致 Payload 逃逸失败 + +**2. 如何判断是“漏洞问题”还是“浏览器差异”?** + +当我们遇到“Chrome 弹窗,Firefox 没反应”时,我会通过以下步骤进行定性分析: + +**第一步:检查控制台 (Console) 报错** + +这是最直观的方法 + +- **浏览器差异**:如果在 Firefox 控制台看到 `Content Security Policy: The page's settings blocked the loading of a resource...` 而 Chrome 没报,说明是 **CSP 策略兼容性**问题 +- **漏洞失效**:如果看到 `SyntaxError`,说明 Payload 在 Firefox 的 JS 引擎中存在语法错误,这属于 **Payload 构造的健壮性**问题 + +**第二步:对比 DOM 树结构** + +我会同时在两个浏览器中打开开发者工具,观察注入后的 **Elements 树** + +- 如果在 Chrome 中 Payload 成功逃逸出了标签(例如变成了独立的 `` 或 `onclick` 事件) +- **`unsafe-eval`**:允许使用 `eval()`、`setTimeout(string)`、`new Function()` 等将字符串转化为代码执行的函数。 + +**2. 白名单滥用类:利用“信任域”中的 Gadgets** + +如果 CSP 允许了某个大厂的 CDN 或业务子域名(如 `script-src 'self' https://cdn.staticfile.org`),攻击者可以寻找该域名下的“跳板” + +- **JSONP 绕过**:寻找白名单域名下的 JSONP 接口 + - **Payload**: `` +- **AngularJS / Vue 库绕过**:如果白名单内包含这些前端框架,攻击者可以注入符合框架语法的 HTML 模板,利用框架内部的 `eval` 逻辑执行代码(即客户端模板注入 CSTI) +- **开源库 Gadgets**:利用已知的库漏洞(如旧版 jQuery、Bootstrap),通过特定的 HTML 结构触发其内部的动态代码执行逻辑 + +**3. 同源策略绕过:文件上传与路径漏洞** + +当 `script-src` 设置为 `'self'` 时,浏览器信任同源下的所有文件 + +- **文件上传劫持**:如果站点允许上传图片或文档,攻击者可以上传一个伪装成图片的 JS 文件(如 `evil.jpg`,内容为 JS 代码) + - **攻击**:`` +- **路径截断与覆盖**:在某些复杂的 Web 架构中,利用路径跳转(Path Traversal)或服务器解析差异,尝试让浏览器去加载攻击者可控的静态资源 + +**4. DOM 破坏** + +这是一种不需要违反 CSP `script-src` 规则的攻击方式 + +- **原理**:利用 HTML 标签的 `id` 或 `name` 属性,覆盖全局 JavaScript 变量 +- **绕过思路**:如果合法的 JS 代码逻辑依赖于某个全局变量(如 `window.config.url`),攻击者通过注入 `` 来修改该变量的值,从而改变合法脚本的执行流 + +**5. 数据外传** + +如果无法执行脚本,攻击者的目标通常转向“窃取敏感数据” + +- **悬挂标记注入(Dangling Markup)**: 利用不完整的标签(如 `` 可能会导致页面上所有的相对路径脚本都请求到黑客的服务器 diff --git a/Chapter2/2-7.md b/Chapter2/2-7.md new file mode 100644 index 0000000..904cd56 --- /dev/null +++ b/Chapter2/2-7.md @@ -0,0 +1,7 @@ +### 反射型、存储型、DOM 型 XSS 的核心区别 + +| 类型 | 数据是否存储 | 是否经过服务端 | 执行位置 | +| ------ | ------------ | -------------- | ------------- | +| 反射型 | ❌ | ✅ | 浏览器 | +| 存储型 | ✅ | ✅ | 浏览器 | +| DOM 型 | ❌ | ❌ | **纯前端 JS** | \ No newline at end of file diff --git a/Chapter2/2-8.md b/Chapter2/2-8.md new file mode 100644 index 0000000..d5640f6 --- /dev/null +++ b/Chapter2/2-8.md @@ -0,0 +1,8 @@ +### 为什么说 DOM XSS 对传统 WAF 基本免疫 + +在传统的 **反射型 XSS** 或 **存储型 XSS** 中,Payload 必须经过 HTTP 请求发送到服务器(WAF 就在这里把守),然后再由服务器返回给浏览器 + +而在 **DOM XSS** 中,攻击载荷往往隐藏在 **URL 锚点(#,Fragment)** 之后 + +- **URL 结构**:`https://example.com/page.html?name=val#` +- **WAF 的尴尬**:根据 HTTP 协议标准,**浏览器不会将 `#` 之后的内容发送给服务器** \ No newline at end of file diff --git a/Chapter2/2-9.md b/Chapter2/2-9.md new file mode 100644 index 0000000..d45edd3 --- /dev/null +++ b/Chapter2/2-9.md @@ -0,0 +1,17 @@ +### 如果你发现一个输入点最终进入了 `` + +- **深入策略**:我首先会测试是否能直接闭合标签 +- **Payload**:`` + +如果后端没有对 `` 这一特定字符串进行过滤或转义,解析器会立即跳出“文本模式”回到“HTML 模式”,从而执行后面的脚本 + +有些 WAF 会过滤 `