前四天整理

1.Web安全核心漏洞

  • **SQL注入漏洞:**并非完全消亡,2023 年黑帽大会披露「协议层绕过预编译防御」技术,可通过三层 / 四层协议特性实现注入(参考 DEF CON 32 相关议题)。

  • **前端加密与逆向:**护网行动中 Web 漏洞逐年减少,核心原因是前端加密(requestid、timestamp、自定义加密函数)普及,需使用 BurpSuite Autodecoder、Galaxy 等工具逆向解密函数。

  • 文件包含漏洞

  1. **Phar 文件包含:**phar://协议不依赖文件扩展名,通过识别文件头 Magic Bytes(如 Zip 格式的 PK\x03\x04)解析内容,可将 Zip 文件改名为 jpg/png 绕过上传限制,核心调用链为「URL 解析→文件打开→格式检测→Zip 解析→源码提取→编译执行」。

  2. **php://filter 妙用:**可通过「编码解码 + 字符串操作」绕过<?php exit; ?>限制 ------Base64 解码时跳过非法字符(<、?、; 等),或用strip_tags去除 XML 标签格式的限制代码,支持多过滤器组合(如 strip_tags+base64-decode)还原 webshell。

  3. **session.upload_progress 利用:**默认开启session.upload_progress.enabled,上传文件时通过 POSTPHP_SESSION_UPLOAD_PROGRESS字段注入代码,结合 Cookie 设置 PHPSESSID 生成临时 Session 文件,需通过条件竞争在文件被清除前完成包含。

2.HTTPS/TLS核心原理

  • **HTTP 风险:**明文传输导致窃听、篡改、冒充三大安全问题,HTTPS 通过在 HTTP 与 TCP 之间加入 TLS 协议解决。

  • TLS 握手过程(RSA 密钥协商):

  1. **客户端发送 Client Hello:**包含 TLS 版本、密码套件列表、Client Random 随机数。

  2. **服务端响应 Server Hello + 证书:**确认 TLS 版本与密码套件,返回 Server Random 随机数及数字证书(含公钥、持有者信息、CA 签名等)。

  3. **客户端验证证书:**通过证书链(根证书→中间证书→服务器证书)验证合法性,使用 CA 公钥解密证书签名,对比 Hash 值确认未篡改。

  4. **客户端发送预主密钥:**生成 pre-master 随机数,用服务端公钥加密后通过 Change Cipher Spec 消息发送。

  5. **双方生成会话密钥:**基于 Client Random、Server Random、pre-master 三者推导 Master Secret(对称密钥)。

  6. **双向验证加密通信:**客户端与服务端分别发送 Encrypted Handshake Message,验证加密通道可用性,后续 HTTP 数据通过会话密钥加密传输。

  • **RSA 算法缺陷:**不支持前向保密,服务端私钥泄露会导致历史密文被破解,主流替代方案为 ECDHE 算法(兼顾安全性与效率)。

3.PHP伪协议

|-------------------|-----------------------------------------|---------------------|------------------------------------------------------------|
| 协议 | 启用条件 | 核心用途 | 典型用法 |
| file:// | 无(双off可使用) | 读取本地文件 | file://D:/phpStudy/WWW/phpcode.txt |
| php://filter | 无(双off可使用) | 读取源码(Base64 编码避免执行) | php://filter/read=convert.base64-encode/resource=./cmd.php |
| php://input | allow_url_include=on | 执行 POST 提交的 PHP 代码 | POST 数据:<?php phpinfo()?>,URL:?file=php://input |
| zip:// | 无(双off可使用) | 访问压缩包内文件(绕过上传限制) | zip://D:/file.jpg%23phpcode.txt(# 编码为 %23) |
| compress.bzip2:// | 无(双off可使用) | 解压并包含.bz2 压缩文件 | compress.bzip2://D:/file.bz2 |
| compress.zlib:// | 无(双off可使用) | 解压并包含.gz 压缩文件 | compress.zlib://D:/file.gz |
| data:// | allow_url_fopen=on+allow_url_include=on | 直接执行嵌入的 PHP 代码 | data://text/plain,<?php phpinfo()?> 或 Base64 编码格式 |

3.session.upload_progress条件竞争利用

|---------------------------------|------------------------------|---------------------------------------|
| 配置项 | 默认值 | 作用 |
| session.upload_progress.enabled | On | 启用上传进度跟踪功能 |
| session.upload_progress.name | PHP_SESSION_ UPLOAD_PROGRESS | 触发进度跟踪的 POST 字段名(固定标识) |
| session.upload_progress.cleanup | On | 上传完成后自动清除 Session 中的进度数据(核心触发条件竞争的原因) |
| session.upload_progress.prefix | upload_progress_ | Session 中存储进度数据的键名前缀 |

  1. **触发 Session 创建:**发送包含 PHP_SESSION_UPLOAD_PROGRESS 字段的文件上传请求,同时在 Cookie 中指定 PHPSESSID=自定义ID(如 zyl),PHP 会自动创建 Session 文件(命名格式通常为 sess_自定义ID,如 sess_zyl);

  2. **注入恶意代码:**PHP_SESSION_UPLOAD_PROGRESS 字段的值可自定义为 PHP 恶意代码(如 <?php phpinfo(); ?> 或一句话木马),该代码会被写入临时 Session 文件;

  3. **条件竞争触发:**由于 session.upload_progress.cleanup=On,上传完成后 Session 文件会被立即清除,需在 "文件创建成功" 与 "文件被清除" 之间的时间差内,通过文件包含漏洞访问该 Session 文件,执行恶意代码。

4.SQL注入的协议层绕过

  1. 绕开应用层的预编译防护,利用TCP/IP协议的三层(网络层)、四层(传输层)特性,向数据库服务器注入恶意查询。
  2. 预编译仅对应用层传递的SQL语句进行参数化处理,但协议层可通过特定技术纂改或追加查询内容,使数据库将恶意代码识别为合法执行语句

防御建议:

  • 协议层校验:在数据库服务器或中间件层面,对传输的协议数据进行完整性校验,拦截异常篡改的数据包。
  • 多层防御:除预编译外,搭配输入验证、输出编码、WAF 协议层防护等措施,避免单一防御机制被突破。
  • 及时更新:关注数据库与中间件的安全补丁,修复协议层可能存在的漏洞。
相关推荐
大榕树信息科技2 小时前
如何利用动力环境监控系统提升机房管理智能化?
网络·物联网·机房运维·机房管理系统·动环监控系统
Bruce_Liuxiaowei2 小时前
基于Regsvr32.exe的渗透测试完整记录
网络·windows·安全·网络安全·内网渗透
姓蔡小朋友2 小时前
OSI分层模型
网络
独自破碎E3 小时前
Java中HashMap的默认负载因子为什么设置为0.75?
java·开发语言·网络
a***59263 小时前
TCP/IP协议栈:从基础到未来趋势
网络·网络协议·tcp/ip
哎呦 你干嘛~3 小时前
服务与参数通讯介绍
网络
txinyu的博客3 小时前
TCP 队头阻塞问题
服务器·网络·tcp/ip
优选资源分享3 小时前
IPTools v5.0.8.3 专业 IP 地址修改与网卡配置工具
网络·tcp/ip·php
这儿有一堆花3 小时前
详解 TCP/IP:互联网通信的底层逻辑与现实挑战
网络·tcp/ip·php