文件上传大体学习方向以下图php
凡是在有文件上传的地方,均有可能存在文件上传漏洞。css
能够上传webshell,直接获取当前网站的权限。前端
黑盒测试:扫描敏感文件,经过特定字典扫描以获取上传地址。nginx
相关web应用:会员中心上传头像等git
后台webshell等。github
白盒测试:得到网站源码,从代码中获取某些地方存在文件上传操做web
可经过搜引擎的语法搜索docker
inurl:upload.phpshell
寻找特定网站的文件上传:安全
site:xx.xx upload
进入目录vulhub/nginx/nginx_parsing_vulnerability/目录下
直接执行:
docker-compose up -d
启动容器。
访问服务器地址:
将事先准备好的图片立刻传。
可获取到上传图片的地址:
正常访问:
增长/.php后成功解析
进入vulhub/weblogic/CVE-2018-2894目录下启动靶场环境
docker-compose up -d
访问http://ip:7001/console,可查看到登陆界面
执行docker-compose logs | grep password
可查看管理员密码,管理员用户名为weblogic
。
登陆后台页面,点击base_domain
的配置,在“高级”中开启“启用 Web 服务测试页”选项:
访问http://your-ip:7001/ws_utc/config.do
,设置Work Home Dir为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
。我将目录设置为ws_utc
应用的静态文件css目录,访问这个目录是无需权限的,这一点很重要
而后点击安全 -> 增长,而后上传webshell:
上传后,查看返回的数据包,其中有时间戳:
而后访问http://ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]
,便可执行webshell:
靶场项目地址:https://github.com/c0ny1/upload-labs
第一关演示:
上传马:
发现只能上传图片类型。
ctrl+u查看源码,发现是前端js限制:
只需复制源码,将js限制删除,在增长响应地址(指向上传地址)便可。
再进行上传操做:
上传成功: