安恒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://[email protected]/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)进行实操验证。

相关推荐
virelin_Y.lin37 分钟前
系统与网络安全------弹性交换网络(2)
网络·安全·web安全·链路聚合·lacp·eth-trunk
大小曲奇(´ε` )3 小时前
使用安全继电器的急停电路设计
安全
网络安全工程师老王7 小时前
Java Agent 注入 WebSocket 篇
websocket·网络安全·信息安全·渗透测试
世界尽头与你8 小时前
【安全扫描器原理】网络扫描算法
网络·安全
AI拉呱_8 小时前
医院行业等保2.0案例
安全·web安全
2301_810154559 小时前
纯真社区IP库离线版发布更新
web安全
中云时代-防御可测试-小余9 小时前
高防IP是如何防护DDoS攻击和CC攻击的
运维·服务器·tcp/ip·安全·阿里云·ddos·宽度优先
帅云毅11 小时前
文件上传--解析漏洞和编辑器
笔记·学习·安全·web安全·编辑器·php
樽酒ﻬق11 小时前
深度解析 Kubernetes 配置管理:如何安全使用 ConfigMap 和 Secret
安全·贪心算法·kubernetes