安恒web安全春招实战

以下是一份涵盖XSS/SSRF漏洞场景复现与绕过技术的模拟面试题目及参考答案,分三个维度:基础原理与防御机制、实战场景复现和高级绕过思路。

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token=1860256701&lang=zh_CN

5000篇网安资料库https://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247486065&idx=2&sn=b30ade8200e842743339d428f414475e&chksm=c0e4732df793fa3bf39a6eab17cc0ed0fca5f0e4c979ce64bd112762def9ee7cf0112a7e76af&scene=21#wechat_redirect

一、基础原理与防御机制

题目1:请阐述DOM型XSS与反射型XSS的核心区别,并说明如何通过HTTP响应头防御这两种漏洞

参考答案

  • 核心区别:

    • DOM型XSS:漏洞触发完全在客户端完成,攻击载荷不经过服务端处理(不会出现在HTTP响应body中)

    • 反射型XSS:攻击载荷经服务端处理后返回到响应页面中

  • 防御方案:

    • 设置Content-Security-Policy头(如script-src 'self'

    • 添加X-XSS-Protection: 1; mode=block(兼容旧浏览器)

    • 使用HttpOnly标记保护Cookie

    • 对动态插入DOM的内容实施textContent替代innerHTML

题目2:SSRF漏洞的本质危害是什么?列举三种服务端可能存在的危险函数/场景

参考答案

  • 本质危害:利用服务端作为代理突破网络边界,访问/攻击内部系统或云元数据

  • 危险场景:

    • 文件读取类函数(如PHP的file_get_contents()

    • HTTP请求库(如Python的requests.get()未校验URL)

    • XML解析(XXE引发的SSRF)

    • 云服务元数据接口(如169.254.169.254)

二、实战场景复现

题目3:给定以下代码片段,请构造绕过方案:
复制代码
<?php
$url = $_GET['url'];
if(preg_match('/^https?:\/\/(www\.)?example\.com\//i', $url)) {
    $content = file_get_contents($url);
    echo $content;
}
?>

参考答案

  • 绕过思路:
    1. 利用URL解析差异http://example.com@evil.com/payload

    2. Unicode编码绕过http://examplе.com(使用西里尔字母"е")

    3. DNS重绑定攻击:配置TTL=0的域名指向目标合法域名和攻击IP

    4. HTTPS协议混淆https://example.com.evil.com

题目4:某站点的CSP策略如下,如何实现XSS利用?

Content-Security-Policy: default-src 'self'; script-src 'unsafe-inline' 'nonce-abc123' 参考答案

  • 攻击方案:
    1. Nonce爆破:如果nonce值可预测(如时间戳生成),构造匹配的script标签

    2. 注入含nonce属性的合法标签<script nonce="abc123">alert(1)</script>

    3. 利用unsafe-inline特性 :直接构造内联事件处理器<img src=x onerror=alert(1)>

三、高级绕过思路

题目5:如何绕过基于黑名单的SSRF防御(过滤127., 10., 192.168.*等)?

参考答案

  • 高级绕过技巧:
    1. 八进制/十六进制IP编码http://0177.0.0.1 → 127.0.0.1

    2. IPv6地址利用http://[::1]:80

    3. 域名重定向服务:使用短链服务或可控DNS解析

    4. 云服务特殊地址http://metadata.google.internal

    5. 非HTTP协议攻击gopher://攻击Redis/MySQL

题目6:在严格CSP策略下(禁止unsafe-inline且使用nonce),如何实现XSS持久化?

参考答案

  • 高阶攻击路径:
    1. AngularJS沙箱逃逸 :在存在Angular框架的站点利用{``{constructor.constructor()}}

    2. Service Worker劫持:通过注入脚本注册恶意Service Worker

    3. DOM Clobbering:通过命名HTML元素污染全局变量

    4. 第三方库漏洞:利用jQuery插件或Chart.js等组件的已知漏洞

四、综合场景

题目7:某API端点存在SSRF且返回响应内容,如何利用该漏洞获取AWS EC2元数据?

参考答案

复制代码
POST /api/fetch HTTP/1.1
Host: victim.com
Content-Type: application/json

{
  "url": "http://169.254.169.254/latest/meta-data/iam/security-credentials/"
}
  • 绕过技巧:
    1. 请求重定向:构造恶意服务器返回302跳转到元数据地址

    2. DNS重绑定:使用rbndns.com等工具快速切换DNS解析

    3. 协议包装file:///etc/passwd读取本地文件确认漏洞

五、防御进阶

题目8:设计多层SSRF防御体系时应考虑哪些关键点?

参考答案

  1. 网络层:

    • 出口防火墙限制内部系统访问

    • 云环境使用安全组策略

  2. 应用层:

    • 使用白名单域名校验

    • 禁用危险协议(file://, gopher://, ftp://)

  3. 系统层:

    • 限制请求库的跟随重定向功能

    • 使用chroot环境运行服务


此套题目覆盖漏洞原理、代码审计、绕过技巧和防御体系设计,适用于中高级安全岗位面试。

建议在理解答案的基础上,配合搭建真实漏洞环境(如DVWA、SSRF Labs)进行实操验证。

相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954481 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全