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

2025年渗透测试面试题总结-拷打题库30(题目+回答)

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

目录

2025年渗透测试面试题总结-拷打题库30

Java反序列化原理

常用中间件漏洞

Windows/Linux日志文件路径

OOB(Out-of-Band)攻击

IDR(入侵检测与响应)

SQL注入种类

SQL注入修复

预编译原理

XSS原理

XSS种类与区别

XSS修复

XXE漏洞原理

XXE修复

SSRF漏洞原理

SSRF种类与修复

CSRF漏洞原理

CSRF修复

CORS漏洞原理

CORS修复

RCE漏洞原理

RCE修复

越权漏洞(IDOR)

2025年渗透测试面试题总结-拷打题库30

Java?反序列化的原理
谈谈自己常用的中间件漏洞
Windows和Linux的日志文件放在哪里
谈谈OOB
谈谈IDR
SQL注入种类
SQL注入修复
预编译原理
XSS原理
XSS种类
XSS区别
XSS修复
XXE漏洞原理
XXE漏洞修复
服务器端请求伪造(SSRF)漏洞原理
服务器端请求伪造(SSRF)漏洞种类
服务器端请求伪造(SSRF)漏洞修复
跨站点请求伪造(CSRF)漏洞原理
跨站点请求伪造(CSRF)漏洞种类
跨站点请求伪造(CSRF)漏洞修复
跨域资源共享(CORS)漏洞原理
跨域资源共享(CORS)漏洞种类
跨域资源共享(CORS)漏洞区别
跨域资源共享(CORS)漏洞修复
远程执行代码(RCE)漏洞原理
远程执行代码(RCE)漏洞修复
越权漏洞(IDOR)漏洞原理
越权漏洞(IDOR)漏洞种类
越权漏洞(IDOR)漏洞区别
越权漏洞(IDOR)漏洞修复

Java反序列化原理

  1. 序列化与反序列化机制
    Java通过ObjectOutputStream将对象转为字节流(序列化),ObjectInputStream将字节流还原为对象(反序列化)。关键接口为Serializable
  2. 漏洞触发点
    反序列化未受信的输入时,若目标类重写了readObject()方法且存在危险操作(如调用Runtime.exec() ),攻击者可构造恶意对象链触发代码执行。
  3. 常见利用链
    典型如Apache Commons Collections的InvokerTransformer、Fastjson的JNDI注入。

常用中间件漏洞

  1. Apache Tomcat
    • CVE-2020-1938(Ghostcat):AJP协议文件读取/包含。
    • CVE-2017-12615:PUT方法任意文件上传。
  2. Nginx
    • 配置错误导致目录遍历(如alias路径解析问题)。
    • CVE-2019-20372:内存泄露导致DoS。
  3. WebLogic
    • CVE-2017-10271:XML反序列化漏洞。
    • CVE-2020-14882:未授权命令执行。

Windows/Linux日志文件路径

  1. Windows
    • 系统日志:C:\Windows\System32\winevt\Logs\System.evtx
    • 安全日志:Security.evtx (记录登录、权限变更)。
  2. Linux
    • 系统日志:/var/log/syslog/var/log/messages
    • 认证日志:/var/log/auth.log (SSH登录记录)。

OOB(Out-of-Band)攻击

  1. 原理
    利用非直接通信通道(如DNS、HTTP)外传数据,绕过传统回显限制。例如,通过DNS查询将数据库内容发送到攻击者服务器。
  2. 应用场景
    SQL盲注(OOB注入)、XXE外带数据。
  3. 工具
    Burp Collaborator、DNSLog平台。

IDR(入侵检测与响应)

  1. 功能
    实时监控网络流量和主机行为,识别异常模式(如SQL注入特征),并触发阻断或告警。
  2. 技术类型
    • 基于签名(规则库) vs. 基于行为分析(机器学习)。
  3. 典型方案
    Suricata(NIDS)、EDR(终端检测响应)。

SQL注入种类

  1. 联合查询注入
    利用UNION SELECT合并结果集。
  2. 报错注入
    触发数据库错误回显信息(如updatexml()函数)。
  3. 盲注
    • 布尔盲注:通过页面真/假状态判断。
    • 时间盲注:利用sleep()延迟响应。

SQL注入修复

  1. 预编译(参数化查询)
    彻底隔离代码与数据,如MyBatis的#{}占位符。
  2. 输入过滤
    白名单校验数据类型(如整型强制转换)。
  3. 最小权限原则
    数据库连接账户仅分配必要权限。

预编译原理

  1. SQL解析阶段分离
    预编译先将SQL语句发送给数据库编译为模板,参数后续以安全方式绑定,避免拼接。
  2. 防止语义篡改
    例如,输入' OR 1=1会被视为纯字符串而非SQL逻辑。
  3. 支持性
    需数据库驱动支持(如JDBC的PreparedStatement)。

XSS原理

  1. 攻击本质
    未过滤的用户输入被作为HTML/JavaScript解析执行。
  2. 触发场景
    用户输入反射到页面(如搜索框)、存储到数据库(评论功能)。
  3. 利用链
    窃取Cookie、钓鱼攻击、键盘记录。

XSS种类与区别

类型存储位置触发方式持久性
存储型XSS数据库用户访问包含恶意代码的页面长期生效
反射型XSSURL参数用户点击恶意链接一次性
DOM型XSS前端代码(不经过服务器)前端解析URL参数触发客户端侧

XSS修复

  1. 输出转义
    根据上下文使用HTML实体编码(如<转义为&lt;)。
  2. CSP(内容安全策略)
    限制脚本来源:Content-Security-Policy: script-src 'self'
  3. HttpOnly Cookie
    防止JavaScript读取敏感Cookie。

XXE漏洞原理

  1. XML外部实体注入
    攻击者通过自定义<!ENTITY>加载外部资源(如file:///etc/passwd)。
  2. 利用场景
    文件读取、SSRF、DoS(递归实体爆炸)。
  3. 危险函数
    PHP的simplexml_load_string()、Java的DocumentBuilder

XXE修复

  1. 禁用外部实体
    Java:factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true)
  2. 使用安全解析器
    如Python的defusedxml库。
  3. 输入过滤
    禁止<!DOCTYPE<!ENTITY声明。

SSRF漏洞原理

  1. 攻击者控制服务器发起请求
    通过篡改URL参数让服务器访问内部系统(如http://127.0.0.1:8080/admin)。
  2. 协议利用
    利用file://读取文件、gopher://发送任意TCP包。
  3. 绕过技巧
    DNS重绑定、IPv6地址、URL编码。

SSRF种类与修复

  1. 基本SSRF
    直接请求内部资源,修复:过滤输入中的内网IP和敏感协议。
  2. 基于DNS重绑定
    修复:限制DNS解析范围,设置请求超时。
  3. 协议黑名单绕过
    修复:仅允许HTTP/HTTPS协议,禁用其他协议。

CSRF漏洞原理

  1. 跨站请求伪造
    用户登录A网站后,访问恶意B网站,B网站伪造A网站的请求(如转账操作)。
  2. 依赖条件
    • 目标站点Cookie未设置SameSite属性。
    • 请求参数可预测(如订单ID)。
  3. 攻击类型
    GET型(图片标签)、POST型(自动提交表单)。

CSRF修复

  1. Anti-CSRF Token
    服务端生成随机Token,校验请求合法性。
  2. SameSite Cookie属性
    设置SameSite=StrictLax
  3. 二次验证
    敏感操作需重新输入密码或短信验证。

CORS漏洞原理

  1. 跨域资源共享错误配置
    响应头Access-Control-Allow-Origin: *允许任意域跨域请求。
  2. 利用场景
    窃取用户数据(若withCredentials为true)。
  3. 攻击类型
    • 反射型CORS:通过恶意页面触发跨域请求。
    • 服务器信任域泛解析(如*.example.com )。

CORS修复

  1. 严格限制Origin
    动态校验Origin头,仅允许可信域名。
  2. 避免通配符*
    尤其当请求携带Cookie时。
  3. 限制方法/头
    设置Access-Control-Allow-Methods: GET, POST

RCE漏洞原理

  1. 用户输入触发命令执行
    如Java的Runtime.getRuntime().exec(input)
  2. 常见入口点
    反序列化、模板注入(如Freemarker)、系统命令调用。
  3. 利用链
    绕过过滤(如${@java.lang.Runtime@getRuntime().exec("calc")} )。

RCE修复

  1. 输入白名单校验
    仅允许特定字符(如数字、字母)。
  2. 禁用危险函数
    避免直接调用系统命令。
  3. 沙箱隔离
    使用Docker或安全沙箱运行非信任代码。

越权漏洞(IDOR)

  1. 原理
    未校验用户权限,通过修改参数(如/user?id=123)访问他人资源。
  2. 类型
    • 水平越权:访问同角色其他用户数据。
    • 垂直越权:普通用户访问管理员功能。
  3. 修复
    • 服务端校验资源归属。
    • 使用不可预测的间接引用(如GUID替代自增ID)。

相关文章:

  • Curl 全面使用指南
  • node.js模块化步骤(各标准区别)CommonJS规范、AMD规范、UMD规范、ES Modules (ESM)
  • 小刚说C语言刷题—1602总分和平均分
  • 基于若依RuoYi-Vue3-FastAPI 的 Docker 部署记录
  • 驱动开发系列55 - Linux Graphics QXL显卡驱动代码分析(二)显存管理
  • 《Android 应用开发基础教程》——第十章:使用 Gson 实现网络 JSON 数据解析与对象映射
  • RAGFlow报错:ESConnection.sql got exception
  • 纯html实现的json数据转csv文件
  • 题解:洛谷 CF2091E Interesting Ratio
  • 猫,为什么是猫?
  • Y1代码AC集
  • Python协程入门指北
  • 数据结构与算法学习笔记(Acwing提高课)----动态规划·背包模型(一)
  • 奥地利学派方法论的三个基础
  • Python TensorFlow库【深度学习框架】全面讲解与案例
  • 从MCP基础到FastMCP实战应用
  • 安全学习基础入门5集
  • 9. 深入Spring AI:刨析 ChatMemory
  • LeetCode 150题解 | 逆波兰表达式求值
  • WPF使用依赖注入框架AutoMapper
  • 美伊谈判因“后勤原因”推迟,伊朗:视美国做法再定谈判日期
  • 美国第一季度经济环比萎缩0.3%
  • 朝鲜海军新型驱逐舰进行首次武器系统测试
  • 国家卫健委有关负责人就白皮书发布答记者问
  • 专访丨青年作家杜梨:以动物的视角去观察这个世界
  • 十四届全国人大常委会举行第四十三次委员长会议 ,听取有关草案和议案审议情况汇报