当任意文件上传偶遇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 ...
随机推荐
- hugo + nginx 搭建博客记录
作为一个萌新Gopher,经常逛网站能看到那种极简的博客,引入眼帘的不是花里胡哨的图片和样式,而是黑白搭配,简简单单的文章标题,这种风格很吸引我.正好看到煎鱼佬也在用这种风格的博客,于是卸载了我的wo ...
- postgresql分组后获取第一条数据
-- 根据编号分组取第一条数据 select * from table t where t.no=(select max(no) from table t1 where t1.no=t.no) -- ...
- C语言:位运算符
异或 ^ 两个二进制位相同结果为0:不相同结果为1 1^1=0 1^0=1 0^1=1 0^0=1 按位或 | 两个二进制位 ...
- python 子类调用 父类的构造函数
class A(object): def __init__(self): self.nameaa = 'aa' def funca(self): print('function a %s' % sel ...
- 做词云时报错cannot import name ‘WordCloud‘ from partially initialized module ‘wordcloud‘的解决办法
问题: 在做词云时,运行时出现该问题,wordcloud安装成功,但运行出错,错误提示是:cannot import name 'WordCloud' from partially initializ ...
- Jmeter之事务控制器
性能测试的结果统计时我们一定会关注TPS,TPS代表的是每秒事务数,每个事务对应的是我们的请求.虽然JMeter能够帮我们把每个请求统计成一个事务,但有时候我们希望把多个操作统计成一个事务,JMete ...
- 两人团队项目-石家庄地铁查询系统(web版)psp表
结对开发_石家庄地铁查询_博客地址:https://www.cnblogs.com/Aduorisk/p/10652917.html 队友:冯利伟 PSP: PSP0 Personal Softwar ...
- 理解并掌握Promise的用法
前沿: Promise在处理异步操作非常有用.项目中,与后端进行数据请求的时候经常要用到Promise.我们可以用promise + xhr进行ajax的封装.也可以使用基于promise封装的请求 ...
- Beam Search快速理解及代码解析(上)
Beam Search 简单介绍一下在文本生成任务中常用的解码策略Beam Search(集束搜索). 生成式任务相比普通的分类.tagging等NLP任务会复杂不少.在生成的时候,模型的输出是一个时 ...
- 10、Java——内部类
1.类中定义类 (1)当一类中的成员,作为另外一种事物的时候,这个成员就可以定义为内部类. (2)分类:①成员内部类 ②静态内部类 ③私有内部类 ④局部内部类 ⑤匿名内部类 ⑥Lambda表达式 ...