文件上传Upload 漏洞挖掘思路
1:尽可能多的找出网站存在的上传点
2:尝试使用如上各种绕过方法
3:尝试 geshell
4:无法上传webshel的情况下:
尝试上传html等,或可造成存储XSS漏洞
上传点构造XSS等,结合上传后的页面显示,或可形成XSS漏洞
上传思路:
1:尽可能多的找出网站存在的上传点
2:尝试使用如上各种绕过方法
3:尝试 geshell
4:无法上传webshel的情况下:
尝试上传html等,或可造成存储XSS漏洞
上传点构造XSS等,结合上传后的页面显示,或可形成XSS漏洞
1.文件名大小写绕过
用 AsP pHp之类的文件名绕过黑名单检测
2.名单列表绕过
用黑名单里没有的名单进行攻击,比如黑名单里面没有asa或者cer之类
3.0x00截断绕过
name=getname(httprequers)//若此时获取的文件名为test.asp. jpg(asp后面为0x00)
type= gettype(name)//而在 gettype0函数里处理方式是从后往前扫描扩展名,所以判断为jpg
if(type==jpg)
SaveFileToPath(UploadPath.name,name)//这里是以0×00作为文件名截断,最后以test.asp存入路径里
4. htaccess文件攻击
配合名单列表绕过,上传一个自定义的 htaccess
//(.htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法)
如:
Addtypeapplication/x-httpd-phpjpg
Add Handler php5-script php
5.解析调用/漏洞绕过
直接上传—个代码注入过的非黑名单扩展名,再利用解析漏洞达到上传攻击的目的。
上传点可能引发的其他类型的漏洞
1:是否有反射型XSS/SQL/RCE
例
filename="x<svg+onload=alert(/x/)> 111.png"
文件上传Upload 漏洞挖掘思路的更多相关文章
- 渗透测试学习 十五、 文件上传&&解析漏洞
大纲:文件解析漏洞 上传本地验证绕过 上传服务器验证绕过 文件解析漏洞 解析漏洞主要说的是一些特殊文件被IIS.Apache.Nginx在某些情况下解释成脚本文件格式的漏洞. IIS 5.x/6.0解 ...
- vue ----element-ui 文件上传upload 组件 实现 及其后台
1.前台 action 不用改 :https://jsonplaceholder.typicode.com/posts/ getFile: 获取文件 data(){ return { file: {} ...
- 文件上传Upload 学习笔记
整理完自己还有点晕,看来还是得找点靶场自己练习练习Orz 1:客户端JavaScript校验 Burp改包即可 2:服务端对Content-Type进行校验 猜测后,修改对应Content-Type字 ...
- U-Mail邮件服务系统任意文件上传+执行漏洞(runtime缺陷与验证绕过)
http://www.wooyun.org/bugs/wooyun-2010-061859
- 基于 java 【Web安全】文件上传漏洞及目录遍历攻击
前言:web安全之文件上传漏洞,顺带讲一下目录遍历攻击.本文基于 java 写了一个示例. 原理 在上网的过程中,我们经常会将一些如图片.压缩包之类的文件上传到远端服务器进行保存.文件上传攻击指的是恶 ...
- kindeditor<=4.1.5文件上传漏洞
最近发现很多网页篡改与暗链都是利用kindeditor编辑器,于是搜了一下kindeditor的漏洞,发现低于4.1.5版本的存在文件上传的漏洞,可以上传txt,html后缀的文档,许多恶意的文档貌似 ...
- 17.[CVE-2017-12615]Tomcat任意文件上传漏洞
[CVE-2017-12615] Tomcat任意文件上传漏洞 首先先贴出wooyun上的一个案例:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0 ...
- WEB漏洞——文件上传
有关文件上传的知识 为什么文件上传存在漏洞 上传文件时,如果服务端代码未对客户端上传的文件进行严格的验证和过滤就容易造成可以上传任意文件的情況,包括上传脚本文件(asp.aspx.php.jsp等格式 ...
- PHP学习笔记 02 之文件上传
我们了解了表单传值后,这些我就可以完成PHP的文件上传了.我们了解PHP文件上传前,先了解PHP文件上传的原理. 一.PHP上传文件原理 第一步:将本地的文件通过form表单上传到服务器的临时目录中, ...
随机推荐
- Resource exhausted: OOM when allocating tensor with shape[3,3,384,384] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0。。。。。
报错信息: OP_REQUIRES failed at assign_op.h:111 : Resource exhausted: OOM when allocating tensor with sh ...
- 【一起学系列】之命令模式:封装一个简单Jedis
意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤销的操作. 命令模式的诞生 [产品]:开发小哥,来活啦,咱们需要设计一款遥控器,核心功能就 ...
- 定时器之Timer
Timer中的TimerTask就是一个线程,可以一直执行下去的.可以使用Timer类的cancel方法来结束.-------------------------------------------- ...
- 图解java方法的简单执行步骤
图解java方法的简单执行步骤 1,找到该方法 2 传入对应的参数 3 执行方法体 4 返回结果
- 盘点JMeter不为人知那一些细节
Jmeter工作原理 向服务器提交请求,并从服务器取回请求返回的结果.即建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果. 文章内容以Jm ...
- vue : async / await 的应用
比如有组数据是很多页面都要用的,我想把它写在一个js文件里作为公共方法. public.js import axios from 'axios'; axios.defaults.headers.pos ...
- 搭建kubernetes集群
什么是Kubernetes? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成K ...
- 【Nginx】图片显示过慢,文件下载不完全,竟然是Nginx的锅!!
写在前面 最近,一名读者跟我说他通过浏览器访问自己的服务器时,图片显示的非常慢,以至于在浏览器中都无法完全加载出来,下载文件时,更是恼火,文件根本就无法完全下载下来.而且奇怪的是这位读者所在的网络是没 ...
- vue学习 `${HH}-${mm}-${dd}` 按键修饰符
vue 有一种拼接字符串的规范写法 //键盘 Tab 键 上边的键 英文输入状态 然后采用类似EL表达式${变量}return `${}:${}:${}` //有时候我们经常在输入完密码之后,按回车E ...
- 利用updatexml()报错注入mysql
基本介绍一下updatexml() updatexml(XML_document, XPath_string, new_value) XML_document是文档对象的名称 XPath_string ...