实验目的
通过本实验,了解php封装伪协议,掌握filter协议和data协议的用法
实验环境
操作机:kali
靶机:Windows Server 2003
实验地址:http://靶机ip/exp/include2/filter/
http://靶机ip/exp/include/include3.php
用户名:college
密码:360College
实验原理
php内置又很多内置URL风格的封装为协议,利用这些伪协议可以读取文件内容、命令执行等操作。
实验内容
靶机phpstudy开启服务;
filter协议文件包含
1.登录“Kali-Desktop”操作机,打开火狐浏览器,输入地址:http://靶机ip/exp/include2/filter/
点击超链接,发现URL是http://【ip】/exp/include2/filter/index.php?file=show.php
,应该是关于文件包含的
2.页面没有任何可利用的信息(因为内容被解析成php是看不见的),因此需要使用?file=php://filter/read=convert.base64-encode/resource=index.php
,读取到base64加密的index.php文件
3.解密得到flag:flag{edulcni_elif_lacol_si_siht}
data协议 命令执行
1.登录“Kali-Desktop”操作机,打开火狐浏览器,输入地址:http://靶机ip/exp/include/include3.php
2.使用?page=data://text/plain,<?php phpinfo();?>
,发现报错,需要在服务器端开启php.ini配置文件的allow_url_include参数(参见上文),然后重启Apache服务,刷新页面
3.代码得到执行,同样也可以写入一句话木马,再用菜刀进行连接
实验总结
掌握data协议和filter协议的用法