0


网络安全实验-文件上传漏洞、文件包含漏洞、CSRF漏洞

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

网络安全实验:文件上传,文件包含,CSRF


一、实验要求

1.文件上传:(1)%00截断绕过,要求虚拟机中搭建实验环境,分别实现 GET、POST方法的绕过(2)二次渲染绕过
2、文件包含 (1)DVWA环境下去包含其他目录的任意3个文件,要求使用相对路径 (2)远程文件包含 (3)中间件日志包含绕过,要求使用蚁剑连接成功
3、CSRF (1)DVWA-High等级 (2)使用Burp生成CSRF利用POC

二、实验步骤

1.文件上传

(1)%00截断绕过,要求虚拟机中搭建实验环境,分别实现 GET、POST方法的绕过
1、截断条件:
php版本小于5.3.4
php.ini的magic_quotes_gpc为OFF状态

首先配置环境
请添加图片描述
请添加图片描述请添加图片描述

请添加图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、截断原理:
利用%00是字符串结束标识符的机制,攻击者可以利用手动添加字符串标识符的方式来将后面的内容进行截断,而后面的内容又可以帮助我们绕过前端的检测。
%00截断通常用来绕过Web的白名单限制。Upload-labs(Pass-12)看代码可以得知是一个白名单,只允许上传’jpg’,‘png’,'gif’格式的文件,但是上传路径是可以控制的,可以使用%00进行截断。
3、进行文件上传:
1)GET方法
选pass11在这里插入图片描述

构建php脚本文件
在这里插入图片描述

开brup抓包
在这里插入图片描述
上传一句话木马
修改PHP文件后缀为png
在这里插入图片描述
save_path 后增加文件名 1.php%00
在这里插入图片描述

在这里插入图片描述
连接蚁剑
在这里插入图片描述
在这里插入图片描述
2)POST方法
选择pass12
在这里插入图片描述
在save_path 后增加文件名 1.php%00前操作不变
save_path 后增加文件名 1.php%00
在这里插入图片描述
由于加入的位置是在请求正文中不会url编码,所以,我们要通过抓包软件手动编码
在这里插入图片描述
在这里插入图片描述
剩下同以上操作
在这里插入图片描述在这里插入图片描述
(2)二次渲染绕过
二次渲染:就是根据用户上传的图片,新生成一个图片,将原始图片删除,将新图片添加到数据库中。比如一些网站根据用户上传的头像生成大中小不同尺寸的图像。
Upload-labs(Pass-17)这一关比较综合,判断了后缀名、content-type,以及利用imagecreatefromXXX判断是否为真实图片,最后再做了一次二次渲染。可以看到,这里先是判断Content-Type,然后再用imagecreatefrom[gif|png|jpg]函数判断是否是图片格式,如果是图片的话再
用image[gif|png|jpg]函数对其进行二次渲染。我们可以上传一个正常的图片文件,观察其上传前和上传后图片的二进制流是否发生变化。
1、准备一张符合要求的文件
在这里插入图片描述
上传合规文件
在这里插入图片描述
保存上传成功二次渲染后的文件
在这里插入图片描述
在010Editor上比对这两个文件
在这里插入图片描述
在这里插入图片描述
在未被修改的代码中加入一句话木马
在这里插入图片描述
保存文件重新上传
在这里插入图片描述
在图像链接中加入includ.php才能解析
在这里插入图片描述
在这里插入图片描述

2.文件包含

(1)DVWA环境下去包含其他目录的任意3个文件,要求使用相对路径
相对路径:舍去磁盘盘符、计算机名等信息,以引用文件的网页所在文件夹位置为参考,建立出的基准根目录。当保存于不同目录的网页引用同一个文件时,所使用的相对路径不同。
1、以dvwa low级别为例
在这里插入图片描述
我们发现这个文件在 vulnerabilities/fi目录下
我们进入后台查看下
在这里插入图片描述
因为low级别没有任何过滤那我们就随机在目录找三个文件用相对路径打开
…/ 返回上级目录
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
2、Medium级别的代码增加了str_replace函数,对page参数进行了一定的过滤,将”http:// ”、”https://”、” …/”、”…\“”替换为空字符。
但str_replace函数并不是很安全,双写就可以绕过了。
3、High级别用到了fnmatch函数
fnmatch() 函数根据指定的模式来匹配文件名或字符串
语法:
fnmatch(pattern,string,flags)
pattern 必需。规定要检索的模式。
string 必需。规定要检查的字符串或文件。
flags 可选。
在这里插入图片描述
限制了page参数的开头必须是file,但是可以用file://协议进行文件读取从而实现绕过
(2)远程文件包含
远程文件包含是指包含非被攻击机器上的文件。
使用dvwa的文件包含漏洞包含 upload-labs 中的文件。
DVWA:被攻击的站点 ;UPload-labs:攻击者自己搭建的站点。
在这里插入图片描述
考虑到upload-labs靶场具备php解析能力,那么我们就可以上传txt格式的php代码:
在这里插入图片描述
把txt上传到upload-labs上
在这里插入图片描述
复制“图像”链接
在这里插入图片描述
在dvwa low模式下的文件包含模块的url尾部修改
在这里插入图片描述
在这里插入图片描述
也可把ip改为一开始在后端查找的ip
(3)中间件日志包含绕过,要求使用蚁剑连接成功
DVWA中,apache2日志文件路径为: /var/log/apache2/access.log
包含日志文件,需要先对文件和目录添加权限,让web端有权限去访问:

在这里插入图片描述
修改完权限之后,访问
在这里插入图片描述
因为url传到后端会编码,所以开brup拦截修改url:
在这里插入图片描述
我们在前端访问日志文件:
在这里插入图片描述
在控制台中查询cookie:
在这里插入图片描述
连接蚁剑
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.CSRF

跨站请求伪造(也称 CSRF),是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法,允许攻击者诱导用户执行他们不打算执行的操作。当用户访问含有恶意代码的网页时,会向指定正常网站发送非本人意愿的数据请求包,如果此时用户恰好登录了该正常网站(也就是身份验证是正常的)就会执行该恶意代码的请求,从而造成CSRF漏洞。
该漏洞允许攻击者部分规避同源策略,该策略旨在防止不同网站相互干扰。
(1)DVWA-High等级
High级别的代码增加了Anti-CSRF token机制,用户每次访问改密页面时,服务器会返回一个随机的token,向服务器发起请求时,需要提交token参数,而服务器在收到请求时,会优先检查token,只有token正确,才会处理客户端请求。
在这里插入图片描述
这个High安全等级主要是利用了DVWA的XSS漏洞和CSRF漏洞共同完成的,找到DVWA的XSS模块,通过XSS漏洞获取浏览器Cookie
1、利用XSS获取cookie

<img src=x OnerrOr=alert(document.cookie)>

在这里插入图片描述
将cookie复制下来
2、抓包修改密码

在这里插入图片描述
在这里插入图片描述
修改cookie,删除token
在这里插入图片描述在这里插入图片描述
(2)使用Burp生成CSRF利用POC
首先我们选择pikachu靶场
在这里插入图片描述
我们正常登录,但是要开启brup抓包
在这里插入图片描述
在 Burp Suite Professional 中的任意位置选择需要测试或利用的请求。
从右键单击上下文菜单中,选择参与工具/生成 CSRF PoC。
在这里插入图片描述
我们可以选择自动包含脚本也就是1,然后点击2,就会生成3,然后可以选择test测试或者选择4复制。在实战中可以将生成的html结合正常网站做诱导性链接。
在这里插入图片描述

总结

这周练习加强了对文件上传漏洞,文件包含漏洞,CSRF漏洞的运用和理解。


本文转载自: https://blog.csdn.net/qlbahuang/article/details/140320826
版权归原作者 八荒WHhacker 所有, 如有侵权,请联系我们删除。

“网络安全实验-文件上传漏洞、文件包含漏洞、CSRF漏洞”的评论:

还没有评论