2025年渗透测试面试题总结-快某手-安全实习生(一面、二面)(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
快某手-安全实习生
一面
一、Linux操作:查看进程PID的5种方法
二、Elasticsearch(ES)核心要点
三、HTTPS建立过程(TLS 1.3优化版)
四、Python内存管理机制
五、深拷贝与浅拷贝对比
六、Python多线程局限性
七、XSS防御方案
八、SQL注入防护(Web API场景)
九、越权漏洞原理与测试
二面
一、攻击溯源技术体系
二、Webshell检测方法论
三、SQL注入:MySQL与MSSQL差异对比
四、DNS协议深度解析
快某手-安全实习生
一面
linux操作熟悉吗,怎么查看进行pid 了解ES(Elasticesearch)吗 https建立过程 python怎么管理内存 深拷贝与浅拷贝的区别 python 可以实现真正的多线程吗?为什么 怎么预防xss 写web api时怎么防止sql注入 越权漏洞原理以及测试方法
一、Linux操作:查看进程PID的5种方法
ps
命令 bash
ps -ef | grep nginx # 筛选Nginx相关进程
补充:输出包含UID、PID、PPID(父进程ID)等关键信息。
pgrep
精准匹配 bash
pgrep -l java # 直接输出进程名和PID
top
动态监控
- 输入
top
后按Shift+P
按CPU使用率排序- 显示所有进程的实时PID、内存占用和状态
/proc
目录 bash
ls /proc/ | grep ^[0-9] # 列出所有运行中进程的PID目录 cat /proc/1234/status # 查看PID=1234进程的详细信息
pstree
进程树 bash
pstree -p | grep sshd # 可视化显示sshd进程及其子进程PID
二、Elasticsearch(ES)核心要点
- 核心特性
- 倒排索引:通过分词器(如IK)将文档内容转换为词项-文档映射
- 分片与副本:索引默认拆分为5个分片,每个分片可设置副本提升容灾能力
- 近实时搜索:写入数据后需等待
refresh_interval
(默认1秒)才可检索- 安全风险
- 未授权访问:默认端口9200暴露导致数据泄露
- 漏洞利用:Log4j(CVE-2021-44228)、RCE漏洞(CVE-2015-1427)
三、HTTPS建立过程(TLS 1.3优化版)
精简握手流程(1-RTT)
- Client Hello:客户端发送支持的密码套件和随机数
- Server Hello:服务端选择密码套件、发送证书和随机数
- 密钥交换:客户端验证证书→生成共享密钥(ECDHE)
- 完成加密:双方计算会话密钥,后续通信使用AES-GCM加密
性能优化技术
- Session Resumption:通过会话ID或Ticket复用密钥(0-RTT风险需权衡)
- OCSP Stapling:服务端直接提供证书状态,减少客户端验证延迟
四、Python内存管理机制
- 引用计数
- 对象引用归零时自动回收(
sys.getrefcount()
可查看引用数)- 循环引用需依赖分代回收
- 分代回收(Generational GC)
- 三代对象:新对象→0代,存活对象升级→1代→2代
- 触发阈值:0代对象数超过700时启动回收
- 内存池优化
- 小对象(<=512字节)使用专用内存池(PyMalloc)
- 大对象直接调用C库的
malloc/free
五、深拷贝与浅拷贝对比
特性 浅拷贝 深拷贝 复制层级 仅顶层对象 递归复制所有嵌套对象 内存独立性 嵌套对象共享 完全独立内存空间 Python实现 copy.copy()
copy.deepcopy()
示例场景 列表外层操作不影响原数据 修改嵌套字典不影响原对象
六、Python多线程局限性
GIL(全局解释器锁)的本质影响
CPU密集型任务:单线程执行,多线程因GIL切换反增开销 python
# 示例:多线程计算斐波那契数列,速度不如单线程
IO密集型任务:线程在等待IO时释放GIL,可提升效率 python
# 示例:多线程下载文件,异步IO(asyncio)更优
替代方案
- 多进程:
multiprocessing
绕过GIL,利用多核CPU- C扩展:在C代码中手动释放GIL(如NumPy)
七、XSS防御方案
- 输入过滤
- 移除敏感标签:
<script>
,<img onerror>
- 使用库:
DOMPurify
(前端)、bleach
(Python后端)- 输出编码
- HTML实体编码:
& → &
,< → <
- JavaScript编码:
\u003C
代替<
- CSP策略 http
补充:禁止内联脚本,仅允许哈希或Nonce白名单
Content-Security-Policy: default-src 'self'; script-src 'nonce-xxx'
八、SQL注入防护(Web API场景)
参数化查询(Prepared Statements) python
# Python示例(使用psycopg2) cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
ORM框架 python
# Django ORM示例 User.objects.filter(id=user_id) # 自动转义输入
最小权限原则
- 数据库账号禁用
FILE
权限和UNION
操作- 限制Web应用账号仅能访问必要表
九、越权漏洞原理与测试
- 漏洞成因
- 水平越权:未校验用户与资源的归属关系(如
/api/order?id=1001
)- 垂直越权:未验证用户角色权限(如普通用户访问
/admin/delete
)- 测试方法
- 修改参数:篡改URL中的用户ID、订单ID等
- 切换Token:使用低权限Token访问高权限接口
- 工具自动化:Burp插件Autorize批量测试权限边界
二面
怎么溯源攻击 怎么检测webshell sql注入在MySQL和MSSQL中有什么区别 讲一下DNS协议的作用、解析过程 DNS协议的安全问题
一、攻击溯源技术体系
核心步骤与工具
- 攻击行为隔离
- 立即封锁攻击源IP的访问(防火墙ACL、云安全组)
- 对受感染主机进行网络隔离(VLAN划分或物理断网)
- 多维度取证
- 日志分析:提取Nginx访问日志、系统审计日志(auditd)中的异常请求(如
/wp-admin.php?cmd=whoami
)- 内存取证:使用Volatility工具分析恶意进程注入痕迹(如Meterpreter进程)
- 硬盘快照:对磁盘进行全量镜像(
dd
命令),保留原始时间戳- 威胁情报联动
- 提交攻击IP至VirusTotal、AlienVault OTX平台,查询历史关联攻击活动
- 分析恶意样本哈希(如Webshell MD5)在MITRE ATT&CK框架中的技战术映射
- 攻击链还原
- 通过时间线分析(Timeline Analysis)关联攻击事件(如:初始入侵→横向移动→数据窃取)
- 使用Elasticsearch聚合日志,可视化攻击路径(Kibana仪表盘)
二、Webshell检测方法论
检测技术全景
- 静态特征检测
- 匹配高危函数:
eval(
、system(
、base64_decode(
(PHP场景)- 文件熵值分析:加密Webshell的熵值通常高于正常文件(阈值设定为6.5+)
- 动态行为监控
- 进程树异常:检测Apache/PHP进程启动
bash
或powershell
子进程- 文件监控:使用Auditd监控敏感目录(如
/tmp
)的异常写入行为- 机器学习检测
- 训练模型:基于AST(抽象语法树)提取PHP文件特征,识别混淆代码
- 实时检测:部署TensorFlow Serving模型,对上传文件进行实时评分
- 内存马检测
- 分析Java进程(Tomcat/JBoss)的JVM内存,检测动态注册的Servlet或Filter
- 使用开源工具如MemShellScanner扫描隐藏内存Webshell
三、SQL注入:MySQL与MSSQL差异对比
对比维度 MySQL MSSQL 注释符 #
、--
(需空格)--
报错注入函数 updatexml()
、extractvalue()
convert(int, @@version)
文件操作 LOAD_FILE('/etc/passwd')
xp_cmdshell('whoami')
联合查询 要求列数一致,支持 UNION SELECT 1,2,3
类似,但需注意数据类型匹配 权限提升 利用 FILE
权限读取文件通过 OPENROWSET
执行系统命令实战案例
- MySQL注入绕过:
id=1'||(1)OR'1'='0
(利用逻辑运算符)- MSSQL延时注入:
'; WAITFOR DELAY '0:0:5'--
四、DNS协议深度解析
核心作用与流程
- 协议作用
- 域名解析:将人类可读域名(如
www.example.com
)转换为IP地址- 负载均衡:通过DNS轮询分配请求至不同服务器
- 邮件路由:MX记录指定邮件服务器地址
- 递归解析流程
客户端 → 本地DNS → 根DNS(.) → 顶级DNS(.com) → 权威DNS(example.com ) → 返回IP
- 缓存机制:本地DNS缓存TTL(Time to Live)控制刷新周期
安全问题与防护
- DNS劫持
- 攻击方式:篡改路由器或ISP的DNS响应(如广告注入)
- 防护方案:启用DNSSEC(DNS安全扩展)验证响应签名
- DDoS放大攻击
- 原理:利用DNS响应包大于请求包的特性(放大系数可达50倍)
- 缓解:配置DNS服务器禁用递归查询,限制源IP请求速率
- DNS隧道
- 检测:监控异常DNS请求(如长域名、高频率TXT记录查询)
- 工具:使用Bro/Zeek分析DNS流量中的隐蔽信道