WEB 漏洞-文件上传之基础及过滤方式
什么是文件上传漏洞? 指程序对文件的上传未作全面的限制,导致用户可以上传一些超越用户权限的一些文件,可以是木马,shell脚本,病毒等。 文件上传漏洞有哪些危害? 可以通过文件上传漏洞上传webshell后门。 直接获取网站权限,SQL注入部分直接获取权限(文件写入)但是有前提条件大部分获取数据进行后续测试 获取权限后通过权限获取数据库账号密码,也能形成对数据的安全隐患 获取权限后服务器提权,内网提权,网站数据权限
文件上传漏洞如何查找及判断? 黑盒:使用扫描工具扫描打开网站。不知道源码 目录扫描、敏感文件扫描获取上传地址 通过网站给出的相关应用(比如会员中心)上传图像测试点 后台进行文件上传(后台权限) 后台获取网站权限即拿webshell 白盒:直接撸源代码。查看是否有文件上传 主要方法还是扫描,打开应用判断是否有上传漏洞 抓包测试
文件上传漏洞有哪些需要注意的地方? 拿到漏洞后要对漏洞类型进行区分,编辑器、第三方应用、常规等。区分漏洞类型编辑器第三方应用就搜有没有漏洞
关于文件上传漏洞在实际应用中的说明? 上传后门脚本获取网站权限。 20.1 演示案例 ?以前小迪说过网站会根据文件后缀名格式将其放到对应目录解析执行,传个图片马就算图片 里面包含php代码,它送到图片解析目录(比如jpg),因此你的php加进去没有用,当然如果出现了解析漏洞另说,同时意味着,解析什么格式你就只能传什么格式的马。 让你传jgp,你传个php(包括将jpg在数据包改成php),送到php解析目录,上传成功,但在另外的路径你不知道也没意义(我想可猜测php默认路径、要是管理员没改或许有收获)(收集php路径字典),由于上传至错误路径,导致真正的jpg解析路径没有文件,返回前端就会报上传失败
?不同格式下的文件类型后门测试 ?上传的文件要执行的话,要按照对应代码执行。 ?配合解析漏洞下的文件类型后门测试本地文件:上传+解析漏洞=高危漏洞。 ?docker-compose build 搭建环境 docker-compose up -d 启动环境 docker-compose config 查看端口信息 docker-compose ifconfig查看IP信息 ?上传一个含有php代码的图片,页面返回图片路径,访问图片正确显示 路径后加上/1.php ?图片乱码,出现php代码 原因:存在解析漏洞,把jpg在php解析目录解析php的代码 ?收集全信息分析可能存在上传漏洞的点,有别的漏洞就结合,没有就正专代码空 ?1关 前端验证 代码在浏览器本地验证(意味着可以自己修改)不发送到服务器,后端验证 文件发给服务器进行验证,但是不会马上保存(临时存储),进行验证,如果验证通过 ?移动到服务器,不通过则从临时存储中删除 ?第一关前端js验证 方法1 禁用js脚本 (不推荐可能影响正常运行) 2把js验证代码删了3发jpg到BP先过验证再修改后缀名为php (因为改为了php所以送到了php解析目录再访问地址,返回的地址就是解析php的地址)(但是一般后端验证) ?最后一种能bp抓包是因为代码采用php、html、js混编,有后端语言会发送到后端,如果只采用js进行截取和保存就不会发到后端,从而也不能抓包。 ?上传漏洞靶场环境搭建 ?测试某CMS及CVE编号文件上传漏洞测试:这种第三方插件的漏洞测试和常规漏洞测试是不一样的。 ?上传图片,bp改为php,浏览器有显示,不能抓包,点保存,抓到包,但是没有返回一个地址,转发数据包,浏览器报上传失败。实际上上传了(但是我们不知道路径)返回的也不是后门地址。返回结果报错。 ? ?Weblogic:java中间件 cve漏洞 文件格式对应解析,没有解析漏洞情况下,进行常规操作 有解析漏洞就能实现任意文件解析 能实现图片解析为脚本 靶场源码:https://github.com/c0ny1/upload-labs/releases
|