文件上传
文章借鉴参考https://gcdcx.blog.csdn.net/article/details/105962968
不想写了直接拿吧
复制这段内容后打开百度网盘APP,操作更方便哦。链接: https://pan.baidu.com/s/1y6bVXPO056nnwO-MO8v0CQ 提取码:r78m
文件上传整体思路
1. 先看中间件IIS apache nginx tomcat等…
2. 通过扫描工具(字典扫描)查看上传地址,常见上传地址为会员中心
3.然后判断上传方式是黑名单还是白名单来进行上传测试
4. 如果还没有成功则查看是什么CMS进行漏洞判断,如通达OA的文件上传漏洞
5.还不行则查看是否有编辑器,可通过网站扫描进行查找,常见在会员中心
6.还不行则查看有没有最新的CVE进行测试
7.最后还不行则没有漏洞
nginx解析漏洞
在后面添加/1.php实现png解析php
查看一个网站是否存在解析漏洞:
复制图像链接访问
在后面添加.php如果乱码则存在,如果错误则没有
fincms上传漏洞
通过上传头像修改png格式为php
但返回上传错误但却是是上传上去了
通过查看网站标题得知网站时fincms搭建可以上网查看漏洞得知有上传漏洞
虽然提示上传失败但却是后台成功上传,查看漏洞直到上传文件路径为
/uploadfile/member/(用户uid)/0x0.php
Weblogic任意文件上传
tomcat任意文件上传CVE-2017-12615
iis6.0
nginx解析漏洞
- Nginx 1.x 最新版
- PHP 7.x最新版
上传文件如 1.jpg
如果在后面添加随意php文件名如
1.jpg/2.php
则1.jpg则会被当做php代码执行
nginx文件名逻辑漏洞
版本信息:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
https://vulhub.org/#/environments/nginx/CVE-2013-4547/
上传一个a.jp的php文件在文件末尾添加一个空格
然后访问
然后访问这个http://your-ip:8080/uploadfiles/a.jpg用burpsuite抓包
在文件名后加两个空格.php即a.jpg .php
然后修改hex就是把第二个空格修改url编码为00然后发包成功解析php
Apache HTTPD 换行解析漏洞
版本:2.4.0~2.4.29
上传1.php文件
在hex编码中在1.php后面添加0a(换行)
然后访问地址http:ip/1.php%0a
成功解析
PUT 方法上传文件
借鉴https://gcdcx.blog.csdn.net/article/details/105962968
HTTP 请求方法之一,允许向服务器直接写入文件
1、Apache 如何开启PUT 方法
@测试Apache 是否开启了put 方法
telnet 192.168.1.200 80
OPTIONS / HTTP/1.1
HOST:192.168.1.200
@apache 开启put 方法操作
httpd.conf 文件
phpstudy 目录:C:\phpStudy\Apache\conf\httpd.conf
开启dav模块
启用模块
开启文件锁
创建DAV 锁文件
在c:\phpStudy\WWW\目录下创建名为 DavLock 文件
上传文件
PUT /info.php HTTP/1.1
HOST:192.168.1.200
Content-Length:18
<?php phpinfo();?>