文件包含漏洞2 | iwebsec
创始人
2024-06-02 06:12:09
0

文章目录

        • 查看php版本及配置
      • 02-本地文件包含绕过
        • %00截断
      • 03-session本地文件包含
        • 通过可控的session值,传入恶意代码
        • 找到session文件地址、文件名
        • 通过文件包含漏洞包含session文件
      • 04-远程文件包含
        • 远程包含任意文件
        • 远程包含webshell
      • 05-远程文件包含绕过
        • 井号(#)截断
        • 问号(?)截断
      • PHP伪协议
      • 06-php://filter伪协议
      • 07-php://input伪协议
        • 读取POST数据
      • 08-php://input伪协议利用
        • 写入木马
        • 命令执行
      • 09-file://伪协议利用
        • 绝对路径
        • 相对路径
        • 网络路径
      • 10-data://伪协议利用
        • 写入木马
      • 11-漏洞防御

接上一篇文章《文件包含漏洞1 | iwebsec》。

在这里插入图片描述

查看php版本及配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

02-本地文件包含绕过

本关卡的源码

$filename  = $_GET['filename'];include($filename . ".html");}else{exit();}
?>

看到源码,就想起了文件上传漏洞的绕过方法——%00截断。

%00截断

适用条件:

magic_quotes_gpc = Off 
PHP版本 < 5.3.4

在这里插入图片描述

符合条件要求,截断成功。假设shell.png是通过文件上传漏洞上传的木马图片,包含木马图片。

在这里插入图片描述

蚁剑连接

在这里插入图片描述

03-session本地文件包含

上一篇文章的包含日志文件原理:先想办法把恶意代码写入日志(日志内容可控)中,再利用文件包含漏洞包含日志(日志路径可知),并执行日志里的恶意代码。

session文件包含原理:当可以获取session文件路径并且session文件的内容可控的的时候,就可以通过包含session文件进行攻击。

整体思路:通过可控的session值,传入恶意代码,找到session文件地址、文件名,通过文件包含漏洞包含session文件,达到getshell的目的。

通过可控的session值,传入恶意代码

session_start();$iwebsec=$_GET['iwebsec'];$_SESSION["username"]=$iwebsec;  //将获取的值存入到Session中,内容可控echo 'SESSION["username"]的内容是'. $_SESSION['username'];}else{exit();}
?>

写入一句话木马

在这里插入图片描述

找到session文件地址、文件名

Linux系统下的session文件路径:

在这里插入图片描述

因此我们可以猜测本靶场的session文件默认存放的位置为/var/lib/php/session。也可以通过phpinfo查询。

在这里插入图片描述

session文件名的构造:sess_ + sessionidsessionidcookie中可以查看。

在这里插入图片描述

通过文件包含漏洞包含session文件

通过上面可以知道session文件名为/var/lib/php/session/sess_fifbf701gg8gdi4a643r5lrti0,因此可以利用第一关的文件包含漏洞包含session文件。

在这里插入图片描述

蚁剑连接

在这里插入图片描述

04-远程文件包含

远程文件包含(remote file include,RFI)是指包含文件的位置并不在本地服务器,而是通过URL的形式包含到其他服务器上的文件,以及执行文件中的恶意代码。条件:

allow_url_fopen=On
allow_url_include=On

远程包含任意文件

在这里插入图片描述

在这里插入图片描述

远程包含webshell

假设远程服务器有一个文件:test.txt 的内容为
在正常情况下访问远程服务器URLhttp://8.134.148.36/test.txt,包含在test.txt中的phpinfo函数不会当做PHP代码执行,但是通过远程文件包含漏洞,包含在test.txtphpinfo函数会被当做PHP代码执行。

远程服务器的一个文件。

在这里插入图片描述

远程包含远程服务器的一个文件。

在这里插入图片描述

getshell。

在这里插入图片描述

但是如果包含php文件则不能执行。

在这里插入图片描述

包含的php文件不能执行。

在这里插入图片描述

05-远程文件包含绕过

$filename  = $_GET['filename'];include($filename . ".html");}else{exit();}
?>

井号(#)截断

在这里插入图片描述

问号(?)截断

在这里插入图片描述

PHP伪协议

协议作用用法
file://用于访问本地文件系统(绝对路径、相对路径、网络路径)在这里插入图片描述
php://input执行POST数据中的php代码在这里插入图片描述
data://通常可以用来执行php代码,一般需要用到base64编码传输。在这里插入图片描述
php://filter读取源代码并进行base64编码输出在这里插入图片描述

06-php://filter伪协议

$filename  = $_GET['filename'];include($filename);}else{exit();}
?>

在这里插入图片描述

在这里插入图片描述

07-php://input伪协议


上面代码输出file_get_contents函数获取的php://input数据。测试时在POST处传入字符串,会在页面回显出字符串。

读取POST数据

我本来用hackbar插件发送POST数据的,但是它无法执行成功,因此用burpsuite

在这里插入图片描述

08-php://input伪协议利用

$filename  = $_GET['filename'];include($filename);}else{exit();}
?>

写入木马

通过php://input传入了一句话木马');?>,并在当前目录下建立了shell.php文件。

在这里插入图片描述

在这里插入图片描述

命令执行

在这里插入图片描述

在这里插入图片描述

09-file://伪协议利用

参考《PHP伪协议总结》

绝对路径

在这里插入图片描述

相对路径

在这里插入图片描述

网络路径

在这里插入图片描述

10-data://伪协议利用

在这里插入图片描述

在这里插入图片描述

需要用url编码对+进行编码。

写入木马

一句话木马:

在这里插入图片描述

+进行url编码

在这里插入图片描述

在这里插入图片描述

11-漏洞防御

  1. 检查配置文件
    检查 php 中的 php.ini ,其中 allow_url_fopen、allow_url_include 这两个选项与 php 伪协议紧密关联。allow_url_fopen默认是开启的,allow_url_include 默认是关闭,最好根据网站需求,对这两个选项进行合理配置。

  2. 过滤特殊符号
    服务器可以过滤掉执行文件包含操作的符号,例如:\,// 等,以及 php 伪协议常用字符,例如input,output,filter 等,将这些字符进行有效过滤,可以减少恶意文件操作的可能。

  3. 指定包含的文件
    建立一个白名单。当用户创建文件时,将该文件名插入到记录中,以便其请求文件时,站点可以在执行任何包含之前验证文件名。

在这里插入图片描述

相关内容

热门资讯

虞书欣谈成名的代价令人心疼,如... 虞书欣谈成名的代价令人心疼,如今她在圈内的前景如何?虞书欣在圈内前景是很不错的,大家都很喜欢她,也有...
最有效的减肥食谱 最有效的减肥食谱谁有最有效的减肥食谱呢?麻烦给一个吧?急求最有效的减肥食谱,听说有一个什么汤的可以很...
关晓彤鹿晗被曝月底会分手,你对... 关晓彤鹿晗被曝月底会分手,你对于他们两个的爱情有什么看法?当初我也觉得他们俩的感情肯定不会长久的,但...
她曾在家中喂猪,却被张艺谋相中... 她曾在家中喂猪,却被张艺谋相中一夜成名,魏敏芝如今过得怎样?魏敏芝过得非常不错啊,而且当地的头衔也是...
电影《中邪》主要讲了什么? 电影《中邪》主要讲了什么?中邪的剧情简介 · · · · · ·大学生丁鑫和刘梦为拍摄农村风俗纪录片...
可以在营业厅查到短信的内容吗? 可以在营业厅查到短信的内容吗?查自己的短信==如果你是本人应该可以…不是本人是不可以的那是别人的隐私...
春日时雨时晴,杏花开时,小雨落... 春日时雨时晴,杏花开时,小雨落在身上,衣服欲湿未湿;杨柳风最柔,吹到脸上也下觉其寒。是什么诗句沾衣欲...
低学历的女人真的不能娶吗? 低学历的女人真的不能娶吗?我觉得不是的,娶妻子还是主要看对方的品性如何,而不是在意对方的学历。不一定...
电影配音问题 懂的进来 不是很... 电影配音问题 懂的进来 不是很难我想知道一个问题 比如说 一个电影 演员是 X 那他的说...可以是...
关于大蒜的谜语有哪些 关于大蒜的谜语有哪些有关蒜的谜语有:两二小,头长草 (打字一)谜底:蒜弟兄七八个,围着柱子坐,只要一...
怎么夸老师漂亮 怎么夸老师漂亮老师您长得太有气质了,非常出众,我身为一个女孩子都快要把持不住了。就直接一点说:老师你...
一般怎么钢琴即兴伴奏,一拿到简... 一般怎么钢琴即兴伴奏,一拿到简谱就能伴奏的和弦 天空之城简易般的可一参考 摸摸就出来的 弹一个音 ...
我对异地女友说,异地太苦了我真... 我对异地女友说,异地太苦了我真心问你,你和我一起内心快乐吗?她说,不管日子再苦,有你就是甜的?你一个...
为什么叫镇江 为什么叫镇江为什么叫镇江意义为"Garrison of the Yangtze River"
在足球历史上,阿贾克斯都获得过... 在足球历史上,阿贾克斯都获得过多少次欧冠?一共应该是获得过4次冠军,而且他真的是特别厉害,很少有人可...
时间简史是谁写的? 时间简史是谁写的?史蒂芬·威廉·霍金
我爱她,但她爱他。 我爱她,但她爱他。如果换了我是你!我会一直的爱着她!她爱着他,你又爱着他!她知道爱一个不爱自己人的资...
歌词:我是你的月亮,是你夜里的... 歌词:我是你的月亮,是你夜里的光芒。叫月光曲,嘿嘿
枪神纪里面的英文歌曲叫什么? 枪神纪里面的英文歌曲叫什么?枪神纪里面的英文歌曲叫什么?一首是男的一首是女的,女的那首好像有一句是,...
中外小朋友 大家手拉手 来自五... 中外小朋友 大家手拉手 来自五大洲 是什么歌名?中外小朋友 大家手拉手 来自五大洲 是什么歌名?《庆...