2025年渗透测试面试题总结-99(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
1、对一个网站进行渗透测试的流程 2、如何分辨各类中间件 3、SQL注入原理?利用?防御方式 4、SQL手工注入的过程 5、如何判断 id =1 中的1是字符型还是数字型 6、SQLmap 工具的使用?各个参数的含义?是否有完整翻译过官方文档? 7、通过SQL注入,我们能够做到什么? 8、Java Web相关漏洞 反序列化漏洞讲解一下 9、SSRF漏洞讲解一下?原理?常见漏洞出现点 10、XSS原理?利用方式?防御方式? 11、手机APP渗透经验? 12、CTF攻防战,做了什么? 13、一个登陆页面 有图形验证码 找回密码 注册功能 你该如何进行测试 14、你最得意的一个python脚本 15、Linux下的命令操作 如查找某个端口的进程号 全盘查找某个特定名字的文件等 16、短信绕过具体展开讲一下 17、XXE漏洞原理?危害?常见场景
1. 对一个网站进行渗透测试的流程
渗透测试流程遵循标准方法(如OWASP或PTES框架),分为5个阶段,确保全面覆盖:
- 信息收集:收集目标信息(如域名、IP、子域名、端口扫描),使用工具如Nmap或Shodan,识别潜在入口点。推测意图:了解攻击面。
- 漏洞扫描:自动化扫描漏洞(如SQL注入、XSS),工具包括Burp Suite或Nessus,生成报告。关键点:结合手动验证避免误报。
- 漏洞利用:尝试利用漏洞(如注入攻击或文件上传),验证危害(如数据泄露)。角度:模拟真实攻击场景。
- 后渗透阶段:维持访问(如植入后门)和权限提升(如提权到管理员),评估内网风险。推测意图:测试纵深防御能力。
- 报告与修复:编写报告(含漏洞详情、风险等级、修复建议),交付客户。补充:整个过程需法律授权,避免非法入侵。
2. 如何分辨各类中间件
中间件(如Web服务器、应用服务器)可通过HTTP响应特征分辨,方法控制在5点内:
- HTTP响应头:查看Server字段(如Apache显示
Server: Apache/2.4.x
,Nginx显示Server: nginx
)。- 错误页面:触发404错误(如Tomcat显示"Apache Tomcat"错误,IIS显示"Internet Information Services")。
- 默认文件或路径:访问默认页面(如WebLogic的
/console
,JBoss的/jmx-console
)。- 端口扫描:Nmap扫描常见端口(如Apache用80,Tomcat用8080)。
- 指纹识别工具:使用Wappalyzer或WhatWeb自动化识别。补充:中间件类型影响漏洞利用(如IIS易受解析漏洞攻击)。
3. SQL注入原理?利用?防御方式
原理(详细论述)
SQL注入是攻击者通过用户输入(如表单字段)注入恶意SQL代码,后端数据库错误执行。核心:输入未过滤被解释为SQL语句(如
' OR 1=1 --
)。推测意图:理解漏洞根源。
- 技术角度:基于字符串拼接漏洞(如PHP中
$query = "SELECT * FROM users WHERE id = '$_GET[id]'"
),攻击者闭合引号注入代码。- 危害角度:可绕过认证、篡改数据。
利用方式(分点控制5个内)
- 数据泄露:使用
UNION SELECT
提取敏感数据(如密码)。- 权限提升:注入管理员语句(如
GRANT admin
)。- 数据库操作:执行
DROP TABLE
或读写文件(需权限)。- 命令执行:结合数据库特性(如MySQL的
INTO OUTFILE
)运行系统命令。- 盲注攻击:基于时间或布尔响应推断数据(如
IF(1=1,SLEEP(5),0)
)。防御方式(多角度论述)
- 输入过滤:使用白名单验证输入类型(如数字型只允许数字)。
- 参数化查询:预编译SQL(如Java的PreparedStatement),防止代码解释。
- 最小权限原则:数据库账户限制权限(禁用DROP或FILE)。
- WAF防护:部署Web应用防火墙检测恶意模式。
- 错误处理:禁用详细错误信息(避免泄露数据库结构)。补充:防御需多层(开发+运维),如OWASP Top 10推荐。
4. SQL手工注入的过程
手工注入过程分4步,强调手动测试(非工具):
- 测试注入点:在参数(如
id=1
)后添加'
或"
,观察错误(如SQL语法错误),确认漏洞。推测意图:模拟真实攻击。- 确定注入类型:判断数字型(
id=1+1
返回正常)或字符型(id=1'
需闭合引号)。- 提取信息:
- 用
ORDER BY
猜列数(如ORDER BY 5
)。- 用
UNION SELECT
联合查询(如UNION SELECT 1,2,3
定位输出点)。- 提取数据(如
UNION SELECT user(),database(),version()
)。- 盲注利用:若无回显,使用时间延迟(如
IF(MID(user(),1,1)='a',SLEEP(5),0)
)推断数据。补充:过程需耐心,常用于CTF或漏洞验证。
5. 如何判断 id =1 中的1是字符型还是数字型
简短答案:通过添加引号测试。
- 数字型:输入
id=1+1
,若返回id=2
的结果(如用户2数据),则为数字型。- 字符型:输入
id=1'
,若返回错误(如SQL语法错误),则为字符型(需闭合引号)。
补充:字符型需用'
闭合(如id=1' AND '1'='1
),数字型直接运算。工具如Burp Suite可自动化测试。
6. SQLmap 工具的使用?各个参数的含义?是否有完整翻译过官方文档?
使用方式
SQLmap是自动化SQL注入工具,基本命令:
sqlmap -u "http://example.com?id=1"
。过程:自动检测注入点、提取数据。参数含义(常见5个)
--url
:指定目标URL。--dbs
:枚举所有数据库。--tables
:枚举表名(需指定库,如-D testdb --tables
)。--dump
:导出表数据(如-D testdb -T users --dump
)。--os-shell
:获取操作系统shell(需权限)。补充:其他参数如--level
(扫描深度)、--risk
(风险等级)。官方文档翻译
作为AI助手,我没有个人经验,但SQLmap官方文档(英文)未完整翻译为中文。社区有部分中文教程(如GitHub或博客),建议参考官方GitHub获取最新内容。
7. 通过SQL注入,我们能够做到什么?
SQL注入危害严重,利用后可执行5类操作:
- 数据窃取:读取数据库内容(如用户凭证、支付信息)。推测意图:了解攻击影响。
- 数据篡改:修改或删除数据(如UPDATE语句改密码)。
- 权限提升:获取管理员权限(如执行GRANT命令)。
- 系统命令执行:数据库支持时(如SQL Server的xp_cmdshell),运行OS命令。
- 拒绝服务:注入重负载查询(如复杂JOIN),瘫痪服务。补充:实际案例(如Equifax数据泄露)显示可导致法律风险。
8. Java Web相关漏洞 反序列化漏洞讲解一下
反序列化漏洞是Java Web高危漏洞,详细论述:
原理
Java对象序列化(将对象转字节流)时,攻击者篡改输入流,执行恶意代码。核心:未验证反序列化数据。技术角度:
ObjectInputStream
处理恶意类(如Apache Commons Collections链)。推测意图:理解Java特有风险。
- 漏洞链:利用库(如Fastjson或Jackson)的gadget链触发RCE(远程代码执行)。
利用方式
- RCE攻击:发送恶意序列化数据(如HTTP请求中),执行系统命令。
- 文件操作:写入Webshell或读取敏感文件。
- 内存破坏:导致应用崩溃(拒绝服务)。
防御方式
- 输入验证:禁用反序列化或使用白名单。
- 安全库:升级组件(如Apache Commons Collections 4.0+)。
- WAF规则:检测序列化特征。补充:案例(如Log4j漏洞)显示广泛影响。
9. SSRF漏洞讲解一下?原理?常见漏洞出现点
原理
SSRF(Server-Side Request Forgery)是服务器被诱导向内部或外部发起恶意请求。核心:应用未校验用户提供的URL(如
image?url=http://internal
)。推测意图:识别内部网络风险。
- 技术角度:攻击者控制服务器请求(如读取内网文件或访问云元数据)。
常见漏洞出现点(分5点)
- URL参数:功能如头像上传(
url=file:///etc/passwd
)。- Webhook集成:回调URL未过滤(如Slack或GitHub)。
- 文件处理:PDF生成或预览功能(如读取内部服务)。
- 云服务:访问元数据接口(如AWS的
169.254.169.254
)。- API调用:内部微服务暴露(如
http://localhost:8080/admin
)。危害
- 内网探测(扫描端口)、数据泄露(读取文件)、RCE(结合其他漏洞)。防御:限制请求协议(禁用file://)、使用白名单。
10. XSS原理?利用方式?防御方式?
原理
XSS(跨站脚本)是攻击者注入恶意脚本到网页,用户浏览器执行。核心:未过滤用户输入(如评论框输入
<script>alert(1)</script>
)。推测意图:理解客户端漏洞。
- 类型角度:存储型(脚本存数据库)、反射型(URL参数触发)、DOM型(前端处理)。
利用方式
- 会话劫持:窃取Cookie(如
document.cookie
发送到攻击者服务器)。- 钓鱼攻击:伪造登录页窃取凭证。
- 键盘记录:监控用户输入。
- 传播恶意软件:重定向到恶意站点。
防御方式(多层面)
- 输入输出编码:HTML实体化(如
<
转<
)。- CSP策略:Content Security Policy限制脚本源。
- HttpOnly标志:防止Cookie被JS访问。
- 框架安全:现代框架(如React)自动转义。补充:OWASP推荐XSS防御排名Top 10。
11. 手机APP渗透经验?
作为AI,我基于通用经验总结APP渗透方法(分5点):
- 静态分析:反编译APK(工具如Jadx),查找硬编码密钥或漏洞代码。推测意图:移动端安全评估。
- 动态分析:抓包(工具如Burp Suite或Frida),测试API漏洞(如注入或越权)。
- 文件存储检查:分析本地文件(如SQLite数据库),查找敏感数据泄露。
- 权限滥用:测试过度权限(如访问联系人)。
- 反调试绕过:处理加固(如梆梆安全),使用Xposed框架。补充:重点在API安全和数据加密(如SSL Pinning绕过)。
12. CTF攻防战,做了什么?
CTF(Capture The Flag)中攻防战(Attack-Defense)涉及攻击对方服务同时防御己方。经验分3点:
- 攻击阶段:利用漏洞(如Web或Pwn题)获取flag,工具如Metasploit。推测意图:模拟实战。
- 防御阶段:修补漏洞(如更新补丁或配置防火墙),监控日志。
- 策略协作:团队分工(如专人负责Web或逆向)。补充:典型活动(如DEF CON CTF),强调快速响应。
13. 一个登陆页面 有图形验证码 找回密码 注册功能 你该如何进行测试
测试分功能和安全层面,控制在5点:
- 验证码绕过:测试重放攻击(复用旧验证码)、OCR识别(工具如Tesseract)或逻辑漏洞(如验证码未绑定会话)。推测意图:全面黑盒测试。
- 登录功能:尝试SQL注入(用户名输入
' OR 1=1 --
)、暴力破解(Burp Intruder)。- 找回密码:测试邮箱或手机劫持(如短信绕过)、安全问题弱口令。
- 注册功能:检查用户枚举(如错误提示差异)、XSS(昵称输入脚本)。
- 整体安全:审计会话管理(如Cookie安全)、HTTPS强制。补充:结合OWASP ASVS标准。
14. 你最得意的一个python脚本
作为AI,我提供一个代表性脚本:SQL注入自动化检测工具(基于requests和BeautifulSoup),用于批量扫描网站。
- 功能:
- 输入URL列表,自动测试参数(如?id=1)。
- 检测注入点(通过错误响应或布尔逻辑)。
- 生成报告(CSV格式)。
- 得意点:
- 多线程加速扫描。
- 支持盲注检测(时间延迟)。
- 轻量级(<100行代码)。
代码片段:pytho
import requests from bs4 import BeautifulSoup def check_sql_injection(url): payloads = ["'", " AND 1=1", " AND 1=2"] for payload in payloads: test_url = f"{url}{payload}" response = requests.get(test_url) if "SQL syntax" in response.text or response.status_code == 500: return True return False # 示例:check_sql_injection("http://example.com/page?id=1")
补充:此脚本在CTF或渗透测试中高效实用。
15. Linux下的命令操作 如查找某个端口的进程号 全盘查找某个特定名字的文件等
列举常用命令(控制在5个):
- 查找端口进程号:
lsof -i :端口号
或netstat -tulnp | grep 端口号
(如netstat -tulnp | grep 80
)。- 全盘查找文件:
find / -name 文件名
(如find / -name "config.ini"
)。- 进程管理:
ps aux | grep 进程名
(如ps aux | grep apache
)。- 文件内容搜索:
grep -r "文本" /路径
(如grep -r "password" /var/www
)。- 系统监控:
top
(实时进程)或df -h
(磁盘空间)。补充:命令组合(如find / -type f -exec grep -H "text" {} \;
)提升效率。
16. 短信绕过具体展开讲一下
短信绕过是绕过短信验证码的漏洞,常见于登录或注册。分原理和利用:
原理
验证码未绑定会话或未失效,导致攻击者重用、篡改或跳过验证。推测意图:理解双因子认证弱点。
- 技术角度:服务器未校验请求顺序(如先发验证码再验证)。
利用方式(5点)
- 重放攻击:截获验证码(Burp Suite)后重复使用。
- 号码篡改:修改HTTP请求中的手机号(如
POST /sms?phone=attacker_num
)。- 验证码未失效:使用旧验证码(如超时设置过长)。
- 暴力破解:尝试常见验证码(如0000)。
- 逻辑漏洞:跳过步骤(如直接访问验证接口)。防御:绑定会话、限制频率、使用一次性令牌。
17. XXE漏洞原理?危害?常见场景
原理
XXE(XML External Entity)是XML解析时加载恶意外部实体。核心:解析器未禁用外部实体(如
<!ENTITY xxe SYSTEM "file:///etc/passwd">
)。推测意图:理解XML风险。
- 技术角度:攻击者注入恶意XML,读取文件或发起请求。
危害
- 数据泄露:读取服务器文件(如
/etc/passwd
)。- SSRF攻击:访问内网服务。
- 拒绝服务:实体扩展攻击(如Billion Laughs)。
常见场景(5点)
- 文件上传:XML格式文件(如Word或PDF)。
- API请求:Content-Type为
application/xml
的POST数据。- SOAP服务:Web Service接口处理XML。
- 配置文件:解析XML配置(如Spring框架)。
- 文档转换:PDF生成器(如Apache FOP)。防御:禁用DTD(如libxml_disable_entity_loader)。