文件包含漏洞 第四十三天
代理地址
以http://118.24.52.95/get_all/获得的json数据,代理ip以及端口号,
通过爬取放入代理池,可以进一步利用
附注:代理的python,还没有整理,暂时先以json数据提交
本地包含
文件包含涉及的函数
include():
使用包含文件时,只有"执行到"include()
函数时才能将文件包含进来,发生错误时给出警告,继续向下执行
include_once():
功能与include相同,重复使用时,程序只调用一次
require():
require()执行发生错误,函数会输出错误信息并停止脚本运行,
require_once()
功能与require相同,重复使用时,程序只调用一次
成因
文件包含函数加载的参数没有经过严格意义的定义,可以被用户控制,
包含其他的恶意文件,导致执行非预期的代码。
代码如下:
<?php
$filename = $_GET['filename'];
include($filename);
?>
$_GET['filename']参数开发者没有经过严格的过滤,直接带入了include的函数,攻击者可以修改
$_GET['filename']的值,执行非预期的操作。
远程包含
成因与函数
同本地包含文件的成因与函数相同
代码构成
此形式可以构成本地和远程的双包含漏洞
此形式只有本地包含漏洞,
原因:在include的前面添加啦“./”这不能使浏览器解析
远程连接中的http协议
特殊的包含处理方式
%00截断(有限制的本地包含漏洞绕过)
00截断有条件限制,需要在php版本<5.3.4下,且magic_quotes_gpc=Off
代码如下:
<?php
$filename = $_GET["filename"];
include($filename. ".html");
?>
实验结果:
http://192.168.100.144/action.php?filename=a.jpg%00html 查看图片路径,去除都多余字符
有限制的远程连接
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zhumeng512@qq.com
文章标题:文件包含漏洞 第四十三天
本文作者:弈少
发布时间:2019-09-18, 18:33:45
最后更新:2019-09-18, 19:15:16
原始链接:http://yoursite.com/2019/09/18/北京渗透测试第四十三天 20190918/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。