渗透第一次作业

一、总结

1.PHP伪协议是PHP自己支持的一种协议与封装协议,简单来说就是PHP定义的一种特殊访问资源的方法。有些伪协议成功执行需要allow_url_fopen和allow_url_include的支持。

2.常见的PHP伪协议

1)file协议(默认文件协议)

作用:访问本地文件系统

2)php://协议

.php://input(读取原始请求体)

php://input 是个可以访问请求的原始数据的只读流,获取POST请求数据的协议

当675enctype="multipart/form-data" 的时候 php://input 是无效的。

php://input 伪协议 成功执行前提php.ini 中的 allow_url_include设置为On

.php://filter(编码解码文件)

php://filter可以获取指定文件源码。当它与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,让其不执行。从而导致任意文件读取。

php://filter在双off的情况下也可以正常使用;

allow_url_fopen :off/on

allow_url_include:off/o

3).zip://, bzip2://, zlib://协议

zip://, bzip2://, zlib://协议在双off的情况下也可以正常使用;

allow_url_fopen :off/on

allow_url_include:off/on

zip://

作用:访问 ZIP 压缩包内部的文件,而 无需手动解压。

基本语法:zip://压缩包路径#内部文件路径

zip://中只能传入绝对路径。

要用#分隔压缩包和压缩包里的内容,并且#要用url编码%23(即下述POC中#要用%23替换)

只需要是zip的压缩包即可,后缀名可以任意更改。

相同的类型的还有zlib://和bzip2://

bzip://协议(单文件流)

作用:用于 读取 .bz2 压缩文件,读取时自动解压。

基本语法:bzip2://文件路径(没有 #,因为 bzip2 只压缩一个流,不支持目录结构)

zlib协议

作用:读取 gzip / deflate 压缩数据

基本语法:zlib://文件路径

3.文件包含漏洞是指程序在包含文件时,文件路径可被用户控制,且未做严格校验, 导致攻击者可以包含任意文件。

include($_GET['file']); // 用户可控

常见包含函数

include 包含失败仅警告

require 包含失败致命错误

include_once 包含一次

require_once 只包含一次(致命)

文件包含漏洞与 PHP 伪协议关系

(1)php://filter

读取 PHP 源码,但不执行

(2)php://input

让 include 执行 HTTP 请求体里的代码

(3)zip://

执行 ZIP 压缩包内的 PHP 文件

(4)phar://

触发 PHP 反序列化漏洞

(5)包含APACHE日志文件

WEB服务器一般会将用户的访问记录保存在访问日志中。可以根据日志记录的内容,构造请求,把PHP代码插入到日志文件中,通过文件包含漏洞来执行日志中的PHP代码。

(6)包含SESSION

session记录登录行为,以及账号信息

(7)包含/PROC/SELF/ENVIRON

proc/self/environ中会保存user-agent头,如果在user-agent中插入php代码,php代码会被写入到environ中,再包含它。

(8)包含临时文件

php中上传文件,会创建临时文件。在linux下使用/tmp目录,而在windows下使用c:\winsdows\temp目录。在临时文件被删除之前,利用竞争即可包含该临时文件。

(9)包含上传文件

二、问题

基础不扎实导致自己听课很吃力,希望自己可以早早进行查漏补缺!!!

相关推荐
飞凌嵌入式1 小时前
用「EN 18031认证」通关欧盟,这张 “网络安全护照” 已就位
网络·安全·能源
Trouvaille ~1 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
JoySSLLian3 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
Zach_yuan3 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
猫头虎3 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
charlotte102410244 小时前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
Zaralike4 小时前
Linux 服务器网络不通排查 SOP(标准操作流程)
linux·服务器·网络
云姜.4 小时前
网络协议----OSI七层网络协议 和 TCP/IP四层(五层)网络协议
网络·网络协议
!chen4 小时前
LabVIEW TCP Server端工具TCP通信
网络·tcp/ip·labview
枷锁—sha5 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全