当前位置: 首页 > news >正文

安恒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)进行实操验证。

相关文章:

  • 如何使用 Apache 配置用户主页 ?
  • 【前端】【面试】在前端开发中,如何优化 CSS 以提升页面渲染性能?
  • 轻松完成视频创作,在线视频编辑器,无需下载软件,功能多样实用!
  • 游戏引擎学习第243天:异步纹理下载
  • C++区别于C语言的提升用法(万字总结)
  • 推荐几个可以免费下载视频的软件(Neat Download Manager、蜗牛下载助手、bilidown)
  • 【安全扫描器原理】网络扫描算法
  • 【题解-Acwing】851. spfa求最短路
  • 动态自适应分区算法(DAPS)设计流程详解
  • 【Qt6 QML Book 基础】07:布局项 —— 锚定布局与动态交互(附完整可运行代码)
  • MySQL 报错解析:SQLSyntaxErrorException caused by extra comma before FROM
  • 网络原理 - 7(TCP - 4)
  • 技术视界 | 数据的金字塔:从仿真到现实,机器人学习的破局之道
  • EFISH-SBC-RK3588无人机地面基准站项目
  • 【Hive入门】Hive查询语言(DQL)完全指南:从基础查询到高级分析
  • 基于 EFISH-SBC-RK3588 的无人机通信云端数据处理模块方案‌
  • Redis-缓存应用 本地缓存与分布式缓存的深度解析
  • 解决 Dart Sass 的旧 JS API 弃用警告 的详细步骤和解决方案
  • 【激光雷达3D(6)】​3D点云目标检测方法;CenterPoint、PV-RCNN和M3DETR的骨干网络选择存在差异
  • 涂料油墨制造数字化转型的关键技术与挑战
  • “两高”发布侵犯知产犯罪司法解释:降低部分犯罪入罪门槛
  • 广西北海市人大常委会副主任李安洪已兼任合浦县委书记
  • 新“出差三人组”亮相!神二十乘组简历来了
  • 董明珠卸任格力电器总裁,张伟接棒
  • 中国空间站已在轨实施了200余项科学与应用项目
  • 5旬辅警30余年前被人顶替上中专?河南沁阳:基本属实,将依法处理