当任意文件上传偶遇Safedog
0x01 写在前面
渗透过程中可能会经常遭遇WAF,此时不要轻易放弃,绞尽脑汁竭尽全力,或许弹尽粮绝之时也是柳暗花明之日。
0x02 过狗上传
一次项目渗透过程中,找个一处上传功能

先上传图片,测试上传功能是否正常

功能正常,那么我们尝试上传木马

出现了安全狗,asp后缀直接被拦截了,尝试asa后缀:

还是不行,再次尝试cer、cdx、aspx、asmx、ashx等后缀都失败了,网站中间件是IIS7.5,已测试不解析php,自然也不会有解析漏洞。
这个时候我们发现上传表单中存在filelx参数,值为jpg,那么思路来了,修改为asp再次尝试

提示文件类型无法上传,修改为其他非jpg后缀时都是相同提示,猜测这里应该是白名单过滤。测试发现参数filepath控制上传路径,并且可以随意更改,我们简单尝试下

这里我们发现了一个非常有趣的现象,当我把路径改为upload/a时,上传文件路径就变成upload/a时间戳.jpg,这时我们灵感来了,如果我把路径后面的时间戳.jpg截断会发生什么?
我们果断构造路径upload/a.asp%00,%00用shift+ctrl+u转换下,提交数据包:

bingo,这里结果和我们预想的一样,浏览器访问一下:

文件存在,但是出现了错误,没关系,我们传下正常的asp webshell。几经尝试之后,我们终于通过脏数据+shell代码成功上传webshell。
0x03 执行受阻
拿了shell我们当然是上蚁剑梭哈了:

但是蚁剑提示了黑名单URL地址,这倒是从来没有遇到过,百度搜索也无果,这里更换菜刀尝试一下,有狗那么我们优先尝试过狗刀:

失败,继续尝试其他版本菜刀。这里又尝试了11版菜刀、14版菜刀、16版菜刀、CKnife、Altman,结果不尽人意,全部失败了。
不得已,我们直接祭出网页版webshell管理工具,成功连上webshell:

但是网页版实在是太蛋疼了,这里通过网页版上传冰蝎马,成功连上冰蝎:

但是此时高兴似乎还太早,执行命令没有反应:

更换aspx马,再次执行:

0x04 成功提权
更换aspx马后执行命令提示拒绝访问,想到可以手动上传cmd.exe,再调用执行即可,但是冰蝎没有右键虚拟终端的功能,所以我们上传一个aspx大马:

调用上传cmd.exe尝试执行命令:

再次失败,但是没有关系,办法总比困难多。这里想到既然网站支持.net脚本,那么极有可能使用SQLserver数据库,翻找一下文件,查找配置文件:

没过多久,我们便发现了sa账号密码,此时终于可以露出猥琐的微笑:

管理员权限!打完收工。
当任意文件上传偶遇Safedog的更多相关文章
- 【原创】JEECMS v6~v7任意文件上传漏洞(1)
文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...
- 中国电信某站点JBOSS任意文件上传漏洞
1.目标站点 http://125.69.112.239/login.jsp 2.简单测试 发现是jboss,HEAD请求头绕过失败,猜测弱口令失败,发现没有删除 http://125.69.112. ...
- Discuz!NT 后台任意文件上传的源代码修补方法
相关的漏洞介绍: http://www.wooyun.org/bugs/wooyun-2013-035199 Discuz!NT 管理后台可以自定义文件类型,从而造成任意文件上传,测试过程中 aspx ...
- CKFinder 1.4.3 任意文件上传漏洞
CKFinder 是国外一款非常流行的所见即所得文字编辑器,其1.4.3 asp.net版本存在任意文件上传漏洞,攻击者可以利用该漏洞上传任意文件. CKFinder在上传文件的时候,强制将文件名(不 ...
- WordPress Contact Form 7插件任意文件上传漏洞
漏洞名称: WordPress Contact Form 7插件任意文件上传漏洞 CNNVD编号: CNNVD-201311-415 发布时间: 2013-11-28 更新时间: 2013-11-28 ...
- WordPress Suco Themes ‘themify-ajax.php’任意文件上传漏洞
漏洞名称: WordPress Suco Themes ‘themify-ajax.php’任意文件上传漏洞 CNNVD编号: CNNVD-201311-403 发布时间: 2013-11-28 更新 ...
- WordPress Kernel Theme ‘upload-handler.php’任意文件上传漏洞
漏洞名称: WordPress Kernel Theme ‘upload-handler.php’任意文件上传漏洞 CNNVD编号: CNNVD-201311-127 发布时间: 2013-11-12 ...
- WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞
漏洞名称: WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞 CNNVD编号: CNNVD-201311-06 ...
- WordPress Checkout插件跨站脚本漏洞和任意文件上传漏洞
漏洞名称: WordPress Checkout插件跨站脚本漏洞和任意文件上传漏洞 CNNVD编号: CNNVD-201311-015 发布时间: 2013-11-04 更新时间: 2013-11-0 ...
随机推荐
- Python单元测试框架unittest之单用例管理(一)
一.概述 本文介绍python的单元测试框架unittest,unittest原名为PyUnit,是由java的JUnit衍生而来,这是Python自带的标准模块unittest.unittest是基 ...
- vue(19)嵌套路由
嵌套路由 有时候在路由中,主要的部分是相同的,但是下面可能是不同的.比如访问首页,里面有新闻类的/home/news,还有信息类的/home/message.这时候就需要使用到嵌套路由.项目结构如下: ...
- Django基础-004 上下文管理器&中间件&前端公共代码复用
一.上下文管理器 在views中重复使用的代码,可以在上下文管理器中实现 上下文管理器的处理流程如下: 1.先走完views里面的代码,将结果返回给前端 2.然后再将上下文的结果返回给前端 3.上下文 ...
- C++ 标准模板库(STL)——迭代器(iterators)的用法及理解
C++ STL中迭代器(iterators)用于遍历对象集合的元素.由于容器大小随着插入删除等操作动态改变,无法像静态数组那样获取数组长度然后遍历容器里的所有元素:这时就需要迭代器,每次从容器内第一个 ...
- Spring MVC中的M V C
M→Model 模型 V→View 视图 C→Controller 控制器 也就是说一次交互由生到死(请求到相应) 需要经过 这三个层级 来完成 那么为什么这么设计 这么设计又有什么好处 我是这么认为 ...
- python 得到变量名的结果为名的变量的值locals()
>>> a="1">>> b="a">>> print(a,b)1 a>>> print ...
- Nacos源码分析-事件发布机制
温馨提示: 本文内容基于个人学习Nacos 2.0.1版本代码总结而来,因个人理解差异,不保证完全正确.如有理解错误之处欢迎各位拍砖指正,相互学习:转载请注明出处. Nacos的服务注册.服务变更等功 ...
- IDEA工具-自动导包去除星号(import xx.xx.*)
打开设置>Editor>Code Style>Java>Scheme Default>Imports 设置导入类数值阈值,默认同包类是超过5个变成*,静态导入超过3个变成 ...
- [刘阳Java]_什么是EasyUI_第1讲
jQuery EasyUI在Java后台开发中用得还是比较多.当然客观来讲虽然前端技术的发展,很多后台界面设计都植入了前端技术的框架.但是这篇文章我个人觉得也不会妨碍我们对jQuery EasyUI的 ...
- 常见最基础的Dos命令.
打开cmd的方式. 1.+系统+命令提示符 2.Win+R 输入cmd 打开命令台 (推荐使用) 3.在任意的文件夹下按住SHIFT 加鼠标右键 在此处打开命令行窗口 4.资源管理器的地址栏前面加上 ...