首页 > 其他 > 详细

文件包含与伪协议

时间:2020-09-15 14:23:37      阅读:78      评论:0      收藏:0      [点我收藏+]

文件包含与伪协议

说明: include()函数对文件后缀名无要求,而对其中的语法有要求,即使后缀名为txt,jpg也会被当做php文件解析,只要文件内是形式就可以执行,但是如果不是php语法的形式,即使后缀为php,也无法执行。

file伪协议

用于访问本地文件系统的文件 条件:allow_url_fopen: off/on allow_url_include: off/on

技术分享图片

php伪协议(常用的php://filterphp://input

php://filter:

技术分享图片

? (参数如图)

技术分享图片

																							(过滤器如图)

使用方法举例:

  1. php://filter/read=string.toupper/resource=http://www.example.com

php://filter协议头 read=读取形式 这里的string.toupper 是将读出来的字符串大写形式呈现(可以多种形式重叠 中间以“|”链接) resource 接对象

  1. php://filter/write=string.rot13/resource=example.txt”,”Hello World”

(注:关于为什么我们读数据的时候很多时候用base64编码后再去转码,假如想string.toupper这样的读取方式,结果输出的其实是运行后的代码,而不是php源码,所以我们要加密后再解密去看源码)

php://input

php://input可以利用post方式传入命令执行,具体做法是将要执行的php代码直接卸载post中提交

技术分享图片

Phar伪协议(和其类似的压缩包伪协议)

这个参数是就是php解压缩包的一个函数 ,不论文件后缀是什么,都会被当成压缩包来解压

这就可以让我们写shell后压缩成zip,然后将后缀改成jpg等格式 它一样会被当做压缩包

技术分享图片

类似的还有zip://,只不过zip://要用#分隔压缩包和压缩包里的内容,并且#要用url编码%23

Data伪协议

data和input伪协议差不多都是可以传入用户想要执行的php代码

具体做法:

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=data://text/plain,<?php phpinfo(); ?>

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOyA/Pg==



http://127.0.0.1/dvwa/vulnerabilities/fi/?page=data:text/plain,<?php phpinfo(); ?>

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=data:text/plain;base64,PD9waHAgcGhwaW5mbygpOyA/Pg==

打个总结

{{uploading-image-591425.png(uploading...)}}

文件包含与伪协议

原文:https://www.cnblogs.com/cjz12138/p/13672527.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!