首页 > Web开发 > 详细

include(文件包含漏洞,php伪协议)

时间:2020-11-20 00:24:40      阅读:70      评论:0      收藏:0      [点我收藏+]

点击tips
技术分享图片

技术分享图片
查看元素,也并没有有用的信息,联想到题目,include
想起了文件包含漏洞。
构造payload
?file=/../../../../../../flag.php

没有返回东西。看完wq学到了一个新姿势:
php伪代码

https://segmentfault.com/a/1190000018991087
https://www.freebuf.com/column/148886.html

构造payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
得到base64加密后的flag.php文件,丢去解密得到flag。

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
【file://协议】

PHP.ini:

file:// 协议在双off的情况下也可以正常使用;

allow_url_fopen :off/on

allow_url_include:off/on

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

使用方法:

file:// [文件的绝对路径和文件名]

http://127.0.0.1/cmd.php?file=file://D:/soft/phpStudy/WWW/phpcode.txt

【php://协议】

条件:

不需要开启allow_url_fopen,仅php://input、 php://stdin、 php://memory 和 php://temp 需要开启allow_url_include。

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

参考自:http://php.net/manual/zh/wrappers.php.php#refsect2-wrappers.php-unknown-unknown-unknown-descriptioq

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

PHP.ini:

php://filter在双off的情况下也可以正常使用;

allow_url_fopen :off/on

allow_url_include:off/on
技术分享图片
测试现象:
http://127.0.0.1/cmd.php?file=php://filter/read=convert.base64-encode/resource=./cmd.php
技术分享图片
技术分享图片
测试现象:

http://127.0.0.1/cmd.php?file=php://input

[POST DATA] <?php phpinfo()?>

include(文件包含漏洞,php伪协议)

原文:https://www.cnblogs.com/cmredkulaa/p/14008645.html

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