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

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

目录

[一百三十、未验证的重定向和转发 & SQL 注入防护方法](#一百三十、未验证的重定向和转发 & SQL 注入防护方法)

未验证的重定向和转发

[SQL 注入防护方法](#SQL 注入防护方法)

一百三十一、代码执行、文件读取、命令执行的函数

代码执行函数

文件读取函数

命令执行函数

[一百三十二、img 标签除了 onerror 属性外,获取管理员路径的其他方法](#一百三十二、img 标签除了 onerror 属性外,获取管理员路径的其他方法)

[一百三十三、img 标签后缀限制为 .jpg 时获取管理员路径](#一百三十三、img 标签后缀限制为 .jpg 时获取管理员路径)

[一百三十四、aspx 木马权限比 asp 大的原因](#一百三十四、aspx 木马权限比 asp 大的原因)

[一百三十五、如何绕过 WAF](#一百三十五、如何绕过 WAF)

通用绕过技术

场景化绕过

一百三十六、渗透测试中常见端口

一百三十七、了解哪些漏洞

[Web 漏洞](#Web 漏洞)

系统漏洞

一百三十八、文件上传防护方式

一百三十九、扫描端口和目录的工具

端口扫描

目录扫描

一百四十、如何判断注入

[SQL 注入检测步骤](#SQL 注入检测步骤)

自动化工具

复制代码
一百三十、未验证的重定向和转发49、SQL 注入防护方法?

一百三十一、代码执行,文件读取,命令执行的函数都有哪些?

一百三十二、img 标签除了 onerror 属性外,还有其他获取管理员路径的办法吗?

一百三十三、img 标签除了 onerror 属性外,并且 src 属性的后缀名,必须以.jpg 结尾,怎么获取管理员路径。

一百三十四、为什么 aspx 木马权限比 asp 大?

一百三十五、如何绕过 waf?

一百三十六、渗透测试中常见的端口

一百三十七、了解哪些漏洞

一百三十八、文件上传有哪些防护方式

一百三十九、用什么扫描端口,目录

一百四十、如何判断注入

一百三十、未验证的重定向和转发 & SQL 注入防护方法

未验证的重定向和转发

漏洞本质 :攻击者构造恶意链接诱导用户访问钓鱼页面或绕过权限检查。
防护方法

  1. 白名单验证:仅允许预设的安全 URL(如域名白名单)。
  2. 映射 ID 代替 URL :使用服务器端映射(如 redirect?id=1),避免直接传递 URL 参数。
  3. 用户确认机制:重定向前弹出提示(如"即将离开本站")。
SQL 注入防护方法
  1. 参数化查询(Prepared Statements)
    • 示例:Java 的 PreparedStatement,Python 的 cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
    • 原理:输入数据与 SQL 指令分离,杜绝拼接。
  2. 输入过滤与验证
    • 过滤特殊字符(如 '";)。
    • 正则表达式验证数据类型(如仅允许数字 ID)。
  3. 最小权限原则
    • 数据库账户禁用 DROPFILE 等高危权限。
  4. Web 应用防火墙(WAF)
    • 部署规则拦截 UNION SELECTSLEEP() 等特征。
  5. 错误信息处理
    • 关闭数据库详细报错,返回通用错误页。

一百三十一、代码执行、文件读取、命令执行的函数

代码执行函数
语言 高危函数
PHP eval(), assert(), preg_replace(/e)
Python exec(), eval(), os.system()
Java ScriptEngine.eval(), Runtime.exec()
Node.js eval(), vm.runInContext()
文件读取函数
语言 高危函数
PHP file_get_contents(), fread()
Python open().read(), pathlib.read_text()
Java Files.readAllBytes(), BufferedReader
命令执行函数
语言 高危函数
PHP system(), shell_exec(), passthru()
Python subprocess.run(), os.popen()
Java ProcessBuilder.start()

防御 :禁用高危函数(如 PHP 的 disable_functions),使用安全替代方案(如 Python 的 shlex.quote() 过滤命令参数)。


一百三十二、img 标签除了 onerror 属性外,获取管理员路径的其他方法

  1. src 属性配合路径探测
    • 构造 src="/admin/test.jpg" ,通过浏览器开发者工具(Network 标签)观察 404 错误路径。
  2. HTTP Referer 泄露
    • 触发错误后,服务器日志可能记录 Referer: http://site.com/admin/upload.php
  3. 跨域资源共享(CORS)错误
    • 设置 src="http://attacker.com" ,通过 CORS 错误信息获取源站路径。
  4. 响应头分析
    • 某些服务器返回 X-Powered-By: ASP.NET 或路径信息(如 Server: Apache/2.4 (Ubuntu))。

一百三十三、img 标签后缀限制为 .jpg 时获取管理员路径

src 必须为 .jpg 且无法使用 onerror 时:

  1. 路径遍历绕过
    • 构造 src="/admin/../image.jpg" → 服务器可能返回真实路径(如 File not found: /var/www/admin/image.jpg )。
  2. 重定向探测
    • 上传图片至 /admin/upload 目录,访问 src="/admin/upload/1.jpg" ,观察 302 跳转路径。
  3. 服务端解析差异
    • 利用 Apache 路径解析特性:src="/admin/test.jpg.php" 可能被解析为 PHP 文件(需 mod_negotiation 开启)。
  4. HTTP 参数污染
    • 添加冗余参数:src="/admin?x=1.jpg" ,观察服务器错误日志中的完整路径。

一百三十四、aspx 木马权限比 asp 大的原因

特性 ASPX(.NET) ASP(经典 ASP)
运行环境 .NET CLR 托管,支持高权限操作 IIS 脚本解释器,权限受限
身份模拟 可继承应用程序池身份(如 SYSTEM 默认 IUSR 低权限账户
API 能力 调用 System.Diagnostics 执行命令 依赖 WScript.Shell(常禁用)
提权可能性 通过 Impersonation 模拟管理员令牌 几乎无法提权

关键点:ASPX 依托 .NET 框架,可直接操作 Windows API,而 ASP 依赖 COM 组件且易受安全策略限制。


一百三十五、如何绕过 WAF

通用绕过技术
  1. 混淆编码
    • URL 编码:UNION SELECT%55%4E%49%4F%4E %53%45%4C%45%43%54
    • Unicode 编码:SELECT\u0053\u0045\u004C\u0045\u0043\u0054
  2. 注释分割
    • SEL/**/ECTSEL/*!00000*/ECT(MySQL 特性)。
  3. 参数污染
    • 提交多个同名参数:id=1&id=2 UNION SELECT 1,2,3
  4. HTTP 方法覆盖
    • 改用冷门方法(如 HEADOPTIONS)或自定义头(X-HTTP-Method-Override: GET)。
场景化绕过
  • SQL 注入
    • 使用 LIKE 代替 =id=1' OR 1 LIKE 1--
    • 内联注释:/*!50000SELECT*/ 1,2,3(仅 MySQL 5.0.0+ 执行)。
  • XSS
    • 利用 SVG 文件:<svg onload=alert(1)>(绕过 HTML 过滤)。

一百三十六、渗透测试中常见端口

端口 服务 常见漏洞 测试工具
21 FTP 匿名登录、弱口令 nmap -p21 --script ftp-*
22 SSH 弱口令、RCE(CVE-2024-6387) hydra -l root ssh://target
80/443 HTTP/HTTPS SQL 注入、XSS Burp Suite, OWASP ZAP
445 SMB 永恒之蓝(MS17-010) smbclient -L //target
3389 RDP 蓝屏漏洞(CVE-2019-0708) rdp-sec-check
6379 Redis 未授权访问、写 SSH 密钥 redis-cli -h target

提示 :使用 nmap -sV -p- <target> 全面扫描端口。


一百三十七、了解哪些漏洞

Web 漏洞
  1. OWASP Top 10:注入、XSS、SSRF、XXE、反序列化。
  2. 服务端漏洞
    • 文件上传(绕过 .jpg 执行 .php)。
    • 路径遍历(/etc/passwd 读取)。
  3. 业务逻辑漏洞
    • 越权访问(修改 user_id 参数)。
    • 重复提交(多次领取优惠券)。
系统漏洞
  • 提权漏洞:Linux 内核漏洞(Dirty Pipe)、Windows NTLM 中继攻击。
  • 协议漏洞:DNS 劫持、SNMP 弱口令。

一百三十八、文件上传防护方式

  1. 扩展名白名单 :仅允许 .jpg, .png,拒绝 .php, .jsp
  2. MIME 类型检测 :验证 Content-Type: image/jpeg
  3. 文件头校验 :检查文件魔数(如 JPEG 的 FF D8 FF E0)。
  4. 重命名文件 :生成随机文件名(如 a3f8e.jpg )。
  5. 隔离存储
    • 存放到非 Web 目录(如 /data/uploads/)。
    • 通过 PHP 代理脚本访问文件(避免直接执行)。
  6. 病毒扫描:集成 ClamAV 扫描上传内容。

一百三十九、扫描端口和目录的工具

端口扫描
  1. Nmap
    • 快速扫描:nmap -T4 -F <target>
    • 全端口扫描:nmap -p- <target>
  2. Masscan :高速扫描(masscan -p1-65535 <target> --rate=10000)。
目录扫描
  1. Dirb :基础字典扫描(dirb http://target wordlists/common.txt )。
  2. Gobuster :并发扫描(gobuster dir -u http://target -w /usr/share/wordlists/dirb/common.txt )。
  3. FFUF :高级模糊测试(ffuf -w wordlist.txt -u http://target/FUZZ)。

字典推荐dirbbig.txtSecListsDiscovery/Web-Content


一百四十、如何判断注入

SQL 注入检测步骤
  1. 单引号测试
    • 输入 id=1' → 观察是否报错(如 You have an error in your SQL syntax)。
  2. 布尔逻辑测试
    • id=1 and 1=1 → 页面正常。
    • id=1 and 1=2 → 页面异常(内容消失)。
  3. 延时注入
    • id=1' AND SLEEP(5)-- → 响应延迟 5 秒。
  4. 联合查询测试
    • id=1 UNION SELECT null,null → 逐步增加列数直至页面正常。
自动化工具
  • sqlmap :自动检测注入点(sqlmap -u "http://target/?id=1")。

关键指标:数据库错误、页面内容变化、响应时间差异。

相关推荐
S01d13r3 小时前
gunicorn + flask 处理高并发请求
python·flask·gunicorn
艾伦~耶格尔3 小时前
【数据结构进阶】
java·开发语言·数据结构·学习·面试
杜子不疼.3 小时前
《Python列表和元组:从入门到花式操作指南》
开发语言·python
pan0c233 小时前
数据处理与统计分析 —— numpy入门
python·numpy
雨白3 小时前
登录和授权:Cookie与Authorization Header机制详解
android
max5006003 小时前
基于桥梁三维模型的无人机检测路径规划系统设计与实现
前端·javascript·python·算法·无人机·easyui
BJ_Bonree3 小时前
数智先锋 | 告别运维黑盒!豪鹏科技×Bonree ONE构建全栈智能可观测体系
运维·科技
Frank_HarmonyOS3 小时前
【Android -- 多线程】Handler 消息机制
android
秋氘渔4 小时前
综合案例:Python 函数知识整合 — 学生成绩管理系统
开发语言·python