任意文件包含(搭的环境)

首先自己搭一个环境

在centos虚拟机里边的根目录下创建一个show.php

<?php

$name = $_GET['name'];

include({"${name}");              //注意,这里要用双引号,因为里边有变量,只有双引号里边才可以识别变量

?>

然后访问虚拟机

192.168.0.107/show.php?name=/etc/passwd

访问成功,页面成功返回信息

注意 :然后试着获取phpinfo() 的信息,这时候按理来说是没有那个文件包含

<?php phpinfo(); ?>

接下来没办法了么?! 真的没办法了么?

构造UserAgent 修改为<?php phpinfo();?> 然后包含以下访问成功的日志文件

这样是不是就可以成功获取 phpinfo();的信息了呢? 当然是可以的了

就这样修改头部信息 ,然后访问目标网站 ,这时候目标网站的日志里边应该就有 phpinfo()的信息了

然后我们去虚拟机里边验证下

现在看来确实是如此的,然后修改包含的路径 ,Apache 的访问日志在 /var/log/httpd/access_log

让我们来访问下

********************************到这里位置都是截图,内容都是空白的***********************************

这是怎么回事,哪里出现问题了么?! 不应该啊 ,确实不应该啊 ,尝试在根目录下创建一个1.php

然后访问一下,成功,说明这样写的路径没有问题,但是访问不了是真么回事呢?

别人提醒 ,是不是哪个文件夹没有执行权限啊, 于是 ls -l 逐个查看文件夹权限

发现如下


结果看来 ,软件是没有权限进入文件夹的

于是增加执行权限给文件夹 chmod o+x httpd 

然后再次访问

成功获取 phpinfo() 的信息


危害:

如果文件包含的是你连接sql数据库的配置文件呢?

账号密码是不是都暴露了呢?

可怕不可怕?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值