渗透测试-文件上传之双写文件名和::$DATA绕过(四)

文件上传之双写文件名和::$DATA绕过

文件上传实验室upload-labs第9,10,11,12关

文章目录

  • 文件上传之双写文件名和::$DATA绕过
  • 前言
  • 一、什么是::$DATA
  • 二、双写文件名和::$DATA绕过
    • 1.双写文件名绕过
    • 2.双写文件名绕过
  • 总结

 

前言

一、什么是::$DATA

::$DATA是window的一个特殊属性,解析时会自动省略掉。

二、双写文件名和::$DATA绕过

1.利用::$DATA绕过

第九关
查看源码发现没有限制::$DATA后缀名
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第1张图片
上传文件58.jpg
利用burp抓包
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第2张图片
得到文件202204161343202393.php
修改后缀名成功,复制网址到蚁剑连接即可。
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第3张图片
连接成功,实验成功。

第十关
查看源码发现限制了空格和点,这里可以进行构造点和空格和点(. .)进行绕过
上传文件58.jpg
抓包进行修改文件后缀名
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第4张图片
将文件修改为了58.php. .
得到文件路径为upload/58.php.
复制网址到蚁剑连接即可
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第5张图片
连接成功,实验结束。

2.双写文件名绕过

第十一关
查看源码提示,发现php文件会被删除
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第6张图片
利用burp抓包
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第7张图片
发现没有了后缀名
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第8张图片
打开网址发现不存在,这时可以利用双写文件名进行绕过
修改为58.pphphp
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第9张图片
成功绕过,上传成功。
复制网址到蚁剑连接即可,实验结束。

第21关
源码看不懂,但是查百度发现也是双写绕过
上传文件58.jpg
修改文件名为.php
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第10张图片
将以下代码
------WebKitFormBoundaryGV4EMgYPFfuHTeBv
Content-Disposition: form-data; name=“save_name”

upload-20.jpg
------WebKitFormBoundaryGV4EMgYPFfuHTeBv
Content-Disposition: form-data; name=“submit”

修改为
------WebKitFormBoundaryRsV4F8SwwBFiYUAl
Content-Disposition: form-data; name=“save_name[0]”

upload-20.php
------WebKitFormBoundaryRsV4F8SwwBFiYUAl
Content-Disposition: form-data; name=“save_name[2]”

jpg
------WebKitFormBoundaryRsV4F8SwwBFiYUAl
Content-Disposition: form-data; name=“submit”

进行重发一次
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第11张图片
重发成功,文件上传成功,生成.php文件。
打开文件网址,复制网址到蚁剑连接
渗透测试-文件上传之双写文件名和::$DATA绕过(四)_第12张图片
连接成功,成功获取shell,实验结束。

总结

本次实验是对文件上传简单靶场的练习,对双写文件名和window特性::$DATA绕过方法的认识,掌握了文件上传漏洞的攻击和利用方法。

 

你可能感兴趣的:(渗透测试,测试工具,运维开发)