当前位置: 首页 > news >正文

花店网站建设课程设计论文/在线工具

花店网站建设课程设计论文,在线工具,wordpress 活动,wordpress数据怎么备份目录 文件包含漏洞概述 文件包含漏洞的环境要求 常见文件包含函数 php的伪协议 file://协议 php://filter协议 php://input协议 压缩伪协议 zip://协议 bzip:// zlib:// data://协议 总结 文件包含漏洞概述 通过PHP函数引入文件时,传入的文件名没有经过…

目录

文件包含漏洞概述

文件包含漏洞的环境要求

常见文件包含函数

php的伪协议

file://协议

php://filter协议

php://input协议

压缩伪协议

zip://协议

bzip://

zlib://

data://协议

总结


文件包含漏洞概述

通过PHP函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,就可能导致意外的文件泄漏甚至恶意代码注入。

文件包含漏洞的环境要求

  • allow_url_fopen=On(默认为On) 规定是否允许从远程服务器或者网站检索数据

  • allow_url_include=On(php5.2之后默认为Off) 规定是否允许include/require远程文件

常见文件包含函数

php中常见的文件包含函数有以下四种:

  • include()

  • require()

  • include_once()

  • require()_once()

include与require基本是相同的,除了错误处理方面:

  • include(),只生成警告(E_WARNING),并且脚本会继续

  • require(),会生成致命错误(E_COMPILE_ERROR)并停止脚本

  • include_once()与require()_once(),如果文件已包含,则不会包含,其他特性如上

php的伪协议

先了解下一些封装协议,涉及的相关协议:file://、php://filter、php://input、zip://、compress.bzip2://、compress.zlib://、data://等内容。

注意如果直接访问一个写有<?php phpinfo(); ?>的txt文件,一般是解析不了的。

但是如果我们以文件包含来运行,是可以正常识别的.因为文件包含会将所以的内容全部识别为php文件进行执行。

file://协议

file:// 用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响。

即在php.ini的两个参数allow_url_fopen:off/onallow_url_include:off/on如果限制,即两个参数都为OFF,我们依然可以使用这个伪协议去读取文件,前提是需要知道文件的物理路径。

我们也可以在后面加上网站地址的文件http://网络路径和文件名

php://filter协议

php:// 访问各个输入/输出流(I/O streams),在CTF中经常使用的是php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码。详细请参考官方的php://filter协议。

这个协议在php.ini的两个参数allow_url_fopen:off/onallow_url_include:off/on如果限制,即两个参数都为OFF,我们依然可以使用这个伪协议。

php://filter 读取源代码并进行base64编码输出,不然会直接当做php代码执行就看不到源代码内容了。

<span style="background-color:#f8f8f8"><span style="color:#333333"> ?file=php://filter/read=convert.base64-encode/resource=./1.php一个点表示当前目录下</span></span>

php://input协议

可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行。并且可以接收数据。可以接收文件。

这个存在限制需要PHP.ini配置文件中的参数allow_url_fopen :off/onallow_url_include:on中的allow_url_include参数保持开启。一般情况下默认是关闭的。

通过burpsuite抓包软件演示如下,很容易写一句话木马<?php fputs(fopen(“shell.php”,”w”),’<?php eval($_POST["cmd"];?>’);?>

压缩伪协议

zip://, bzip2://, zlib://均属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名。这几个协议在php.ini的两个参数allow_url_fopen:off/onallow_url_include:off/on如果限制,即两个参数都为OFF,我们依然可以使用。

具体请参考官方文档zlib://、bzip2://、zip://。

zip://协议

使用方法:

zip://archive.zip#dir/file.txtzip:// [压缩文件绝对路径]#[压缩文件内的子文件名]

先将要执行的PHP代码写好文件名为phpcode.txt,将phpcode.txt进行zip压缩,压缩文件名为file.zip,如果可以上传zip文件便直接上传,若不能便将file.zip重命名为file.jpg后在上传,其他几种压缩格式也可以这样操作。

由于#在get请求中会将后面的参数忽略所以使用get请求时候应进行url编码为%23,且此处经过测试相对路径是不可行,所以只能用绝对路径。

压缩文件后缀可以修改,修改后上传。但是要注意对文件直接压缩,不要直接连着目录压缩,否则会多一个目录。

bzip://

使用方法:

compress.bzip2://file.bz2

测试现象:

使用的时候格式如下?file=compress.bzip2://./file.jpg

zlib://

使用方法:

compress.zlib://file.gz

测试现象:

使用的时候格式如下?file=compress.zlib://D:/soft/phpStudy/WWW/file.jpg

data://协议

经过测试官方文档上存在一处问题,经过测试PHP版本5.2,5.3,5.5,7.0;data:// 协议是是受限于allow_url_fopen的,官方文档上给出的是NO,所以要使用data://协议需要满足双on条件.

利用条件相当苛刻,基本上使用不到。

参考自:PHP: data:// - Manual, 官方文档上allow_url_fopen应为yes。

总结

PHP封装协议在CTF蛮常见的,是经常会遇到的出题点。

http://www.whsansanxincailiao.cn/news/31954404.html

相关文章:

  • 网站维护提醒php文件/百度公司怎么样
  • 网络营销推广方法工具/济南网站seo哪家公司好
  • 免费申请电信卡/南昌seo优化公司
  • 驻马店哪里做网站/查看网站流量的工具
  • 微信公众平台推广网站/百度seo搜索引擎优化厂家
  • 做服装网站需要什么条件/网络营销 长沙
  • 网站建设和前端开发的区别/百度权重
  • 北京好网站制作公司/关键词查询工具有哪些
  • 重庆外贸网站建设公司/我要推广网
  • 牛商网建设的食品网站/外贸网站推广怎么做
  • 备案 网站名称 重复/网络营销中的seo是指
  • 河北 网站建设/2022最新国际新闻10条简短
  • 什么网站可以在线做考教师岗位的题/网络营销渠道策略
  • 广告策划活动公司/北京债务优化公司
  • 网站域名购买方法/百度企业号
  • 深圳正规网站开发团队/软文之家
  • 什么是网站原创文章/seo搜索引擎排名优化
  • 做招聘网站多少钱/想做一个网站
  • 做网站 超速云/长沙官网seo收费
  • 高端网站设计百家号/定制网站建设推广服务
  • 网站建设的公司有哪些/做个网站需要多少钱
  • erp系统有什么用/seo入门版
  • 中山精品网站建设策划/长沙seo技术培训
  • 唐山做企业网站的公司/广州网站建设方案优化
  • 百度做网站怎么联系/宁波seo的公司联系方式
  • 淘宝优惠券微网站开发/品牌策划方案ppt
  • 河南网站建设制作/会计培训班有用吗
  • 哈尔滨企业网站建设公司/优化大师免费下载安装
  • 商城建站系统源码/百度网络推广营销
  • 网站建设常见故障/公司做网站怎么做