溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

某shop后臺sql注入漏洞

發布時間:2020-08-03 06:14:32 來源:網絡 閱讀:713 作者:踟躕 欄目:安全技術

前言

最近看了下tpshop,審計出幾個雞肋的漏洞,這個SQL注入漏洞是其中之一。然后審計完網上搜了一下發現有一堆后臺的sql注入漏洞,應該是覺得后臺的SQL不用修叭(我個人是可以理解的)。

漏洞觸發點

首先要登錄后臺,這也是我說漏洞很雞肋的原因。
漏洞位于在后臺的商城-》文章->文章列表處的搜索
某shop后臺sql注入漏洞
抓包,存在漏洞的參數是keywords,當輸入payload
' or length(database())=10)#時,頁面返回文章數0,

某shop后臺sql注入漏洞
而當輸入payload' or length(database())=9)#時,頁面返回為共33篇文章(總共33篇,數據庫名是tpshop2.0)

某shop后臺sql注入漏洞
因此可以通過布爾注入來獲取數據庫信息,當然延時也可以,只不過我自己是能不用延時就不用延時的人。

漏洞成因,分析下代碼

分析下代碼,原因很簡單,where直接拼接了。并且會將查詢到的結果返回到頁面中。
application/admin/controller/Article.php:56

        $keywords = trim(I('keywords'));
        $keywords && $where.=" and title like '%$keywords%' ";
        $cat_id = I('cat_id',0);
        $cat_id && $where.=" and cat_id = $cat_id ";
        $res = $Article->where($where)->order('article_id desc')->page("$p,$size")->select();
        $count = $Article->where($where)->count();// 查詢滿足要求的總記錄數
        $pager = new Page($count,$size);// 實例化分頁類 傳入總記錄數和每頁顯示的記錄數
        //$page = $pager->show();//分頁顯示輸出

        $ArticleCat = new ArticleCatLogic();
        $cats = $ArticleCat->article_cat_list(0,0,false);
        if($res){
         foreach ($res as $val){
          $val['category'] = $cats[$val['cat_id']]['cat_name'];
          $val['add_time'] = date('Y-m-d H:i:s',$val['add_time']);          
          $list[] = $val;
         }
        }
        $this->assign('cats',$cats);
        $this->assign('cat_id',$cat_id);
        $this->assign('list',$list);// 賦值數據集
        $this->assign('pager',$pager);// 賦值分頁輸出        
 return $this->fetch('articleList');

最后執行的sql語句為:

某shop后臺sql注入漏洞

其他

我在用payload的時候用的是=,是因為輸入做了過濾,會轉義> <,用大于號不能直接執行sql,會報錯。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女