目录
一.文件上传漏洞原理
1.文件上传功能
2.一句话木马
二Webshell介绍☠☠☠
1.一句话木马的特点
2.小马
3.大马
三网站控制工具
四文件上传的危害
五文件上传靶场练习
六.文件上传漏洞发现与利用
1.利用的流程
1找到上传的位置
2.尝试绕过校验,上传文件
3.获得文件位置
4.蚁剑链接,管理文件
7.文件上传漏洞的防御
1.文件上传漏洞发生的前提
2.防御措施
网站Web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个Web可访问的目录上,并将恶意文件传递给如PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护。
代码短,只有一行代码.
场景多,可以单独生成文件,也可以插入图片中
安全性高,隐匿性强,可变形免杀
体积小,功能少
只有文件上传功能
体积大,功能全
能够管理数据库,文件管理,对站点进行快速的信息收集,甚至能够提权
github.com/tennc/webshell
主流工具(注:如果需要这些工具的安装和使用教程请私信我扣1,我看人数来决定更新)
中国菜刀
中国蚁剑
https://github/AntSwordProject/antSword
weevely
https://github.com/epinna/weevely3
哥斯拉 godzilla
https://github.com/BeichenDream/Godzilla
冰蝎
https://github.com/rebeyond/Behinder
文件上传漏洞是指用户上传一个可执行的脚本文件,而且通过这个脚本文件获得了执行服务器端命令的能力
wooyun.2xss.cc/searchbug.php?q=文件上传 //现在已经挂掉,只剩下一个镜像站
1.危害一:黑链接
有可能被攻击者挂上黑链接
2.挖矿
3.敏感文件的泄露(不具体展示)
(注:靶场我会出一个专栏给大家补上md的)
https://github.com/c0ny1/upload-labs
github.com/almandin/fuxploider
删除/禁用JS,修改MIME,等价扩展名,大小写,htaccess,双写,空格,点. ::$DATA , %00截断, 0x00截断, 图片马,条件竞争等等
1.开源的就审计代码
2.做一个文件的审查器
1.网站上传功能正常
2.文件类型允许上传
3.上传路径可以确认
4.文件可以被访问,可以被执行或被包含
Linux文件权限
1.扩展名(后缀)黑白名单
2.MIME类型校验(image/gif)
3.文件内容头校验(GIF89a)
4.对文件内容进行二次渲染
5.对上传的文件重命名,不易被猜测
6.不要暴露上传文件的位置
7.禁用上传文件的执行权限