看到wooyun上ourphp这个厂商又出新的版本了,说修改了wooyun上现有的漏洞,我也来凑凑热闹吧。下载最新版本(ourphp_v1.2.0.20150414),2015-04-14更新的,研究学习一下。
先说一下是如何造成如此之多的漏洞的:
Ourphp的url都是形如这样:http://demo.ourphp.net/?cn-job-7.html,其中的cn-job-7.html会被解析成cn、job、7三个参数,这里的cn参数存在注入漏洞,而整个ourphp的网站几乎都是这种类型的url。
这里罗列几个
无需登陆的:
前台登陆以后的:
贴个图再说下cn下的模板就有这么多,还不算多个参数组合的,这里就不写了吧
来看看代码是如何注入的,比较难发现
在网站主页index.php (client/user等中类似)中
包含了这么一个文件: './function/ourphp_system.class.php';去跟进看看
其中又有这么一句$smarty->assign('column',indexcolumn());
,调用了indexcolumn(),跟进
看到$ourphp_Language被带入sql执行了。$ourphp_Language又是怎么得到的呢?
还是在被包含的这个文件里:'./function/ourphp_system.class.php'
整个过程中都没有对QUERY_STRING中的第一个参数进行过滤处理,造成了注入。整个网站存在的太多,这里一起提交了。希望一起修复。
Payload:GET提交
本地测试如下:
官方demo测试如下:
Demo的数据库user为:ourphp@localhost
Demo的Mysql版本:5.5.37
Demo的数据库:ourphp