一、什么是文件上传
- 文件上传漏洞是由于在用户上传文件时没有对用户上传的文件的后缀、类型等进行严格的限制。导致攻击者可以上传php等脚本文件,在远程服务器上执行,达到攻击的目的。
二、两种限制方式
- 对于用户上传的文件进行限制是有必要的,一般来说分为客户端的限制和服务器的限制。其中客户端的限制是不可靠的,容易被绕过,而服务器的限制如果设计的合理,就可以防御大部分的文件上传攻击。
三、如何利用文件上传漏洞
- 当我们可以随意的上传我们自己的文件时,上传含有恶意代码的文件在配合相应的连接工具(例如中国菜刀等),便可以实现获取网站的webshell。
即我们攻击的流程大致如下:
寻找上传漏洞 --> 上传木马文件 --> 使用工具连接文件
四、学习文件上传的关键
- 在明确了攻击流程后,如何找到文件上传的漏洞就是我们要学习的主要内容了,无论是木马文件还是最后的工具使用都有着固定的手法、操作并不需要我们花费时间去学习,但在寻找漏洞过程中,随着服务器的不同文件限制,我们也要相应的改变攻击的方式,这就要求我们掌握大部分的文件限制手段以及对应的攻击方式。
五、学习计划
- 掌握基本的文件上传漏洞利用以获取webshell。
- 掌握各种白名单、黑名单绕过方式实现文件上传。
- 掌握文件包含的使用方式。
- 结合文件上传和文件包含来获取webshell。