最近在学习文件上传漏洞,这里使用pikachu靶场来对文件上传漏洞进行一个复习+练习
废话不多说,开整!
1、文件上传漏洞介绍
pikachu靶场是这样介绍文件上传漏洞的:
文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式进行重命名后存储在指定的目录。
如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨,则攻击着可能会上传一些恶意的文件,比如一句话木马,从而导致后台服务器被webshell。
所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。比如:
–验证文件类型、后缀名、大小;
–验证文件的上传方式;
–对文件进行一定复杂的重命名;
–不要暴露文件上传后的路径;
–等等…
总结一下文件上传漏洞成功需要有下列四大前提:
-
目标具有文件上传功能
-
上传后的文件能够被Web服务器解析执行
-
知道文件上传到服务器后的存放的物理路径和文件名称
-
目标文件可以被用户访问
这里借用大佬总结好的一个图片就可以很好的阐述文件上传的整个过程、防御手段和绕过方法:

下面就对pikachu靶场中的文件上传模块进行通关来练习一下文件上传漏洞
2、pikachu-client check
来到第一关client check关卡可以看到如下页面:

可以看到我们可以上传一个图片,并且页面也说明了“只允许上传图片”的字样,点击提示可以看到 这一关的检验应该是在前端检验的
尝试上传一个php文件:

可以看到不让上传php文件,那么我们想要上传php文件必须要绕过限制:
方法1:浏览器禁用JS
我这里使用的是火狐浏览器,其他浏览器可以去百度搜:

将true修改为false后再次尝试上传php文件:

可以看到现在就可以上传成功了,访问该文件

可以看到成功解析
方法2:抓包修改后缀
第二种方式就是新建一个php文件然后内容是phpinfo();
然后将后缀修改为jpg,上传文件时,抓包修改后缀就可以看到成功上传了
修改前:

修改后:

可以看到确实上传了
尝试访问:

成功解析
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取
如果你想要入坑黑客&网络安全工程师,这份282G全网最全的网络安全资料包!
学习资料工具包
压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。
网络安全源码合集+工具包
视频教程
视频配套资料&国内外网安书籍、文档&工具
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
黑客/网安大礼包:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!

339

被折叠的 条评论
为什么被折叠?



