日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:會上樹的豬 合天智匯

0x00 SQL注入漏洞:

簡單介紹一下SQL語句:通俗來理解就是開發者盲目相信用戶,沒有嚴格檢查用戶輸入,導致用戶可以輸入惡意參數進入程序邏輯,最終拼接惡意參數改變原本的SQL語句邏輯,造成SQL注入漏洞。

0x01 關于CMS

本次審計的CMS是基于Web應用的B/S架構的團購網站建設解決方案的建站系統,它可以讓用戶高效、快速、低成本的構建個性化、專業化、強大功能的團購網站,采用php和MySQL數據庫開發技術,版本CV1.6。商業案例如下:

某團購CMS的SQL注入漏洞代碼審計

 

審計結果實戰測試:

某團購CMS的SQL注入漏洞代碼審計

 

0x02 漏洞分析:

首先在本地搭建一個網站,方便之后測試,一鍵安裝也沒啥說的,跳過。重點講講這個團購CMS的SQL操作。這個團購CMS將SQL操作全部寫到了
include/library/DB.class.php文件:

某團購CMS的SQL注入漏洞代碼審計

 

然后分析這個文件,發現這里面的函數有些使用了:mysql_real_escape_string函數對參數進行過濾,整數參數就強制轉換int類型

某團購CMS的SQL注入漏洞代碼審計

 

關于mysql_real_escape_string函數的注入可以嘗試寬字節注入,當數據庫編碼采用GBK的時候可以嘗試bypass函數檢查,但是此處不適用。之后審計發現其中存在幾個未對參數進行過濾直接執行SQL語句的函數:GetDbRowById、GetQueryResult、GetField。

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

此處采用敏感函數回溯的方法進行審計,先全局搜索這些函數,然后想辦法對達到觸發條件。

  1. 全局搜索GetField函數,發現沒有被引用的地方。
某團購CMS的SQL注入漏洞代碼審計

 

2、全局搜索GetQueryResult函數,搜索結果比較多,如下:

某團購CMS的SQL注入漏洞代碼審計

 

先嘗試審計第一處:/ajax/manage.php,如下,如果存在,可以通過$id變量進行注入。

某團購CMS的SQL注入漏洞代碼審計

 

追蹤如何觸發函數:第490行,當變量action滿足條件即可:

某團購CMS的SQL注入漏洞代碼審計

 

而繼續回溯,$action的來源$_GET:

某團購CMS的SQL注入漏洞代碼審計

 

同時也發現id變量被強制類型轉換了,哦豁,這下安逸了,這個點基本利用不了了。同時測試過程中此處還有一處調用了未過濾SQL函數:

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

不過都用到了ID參數進行注入,所以不能利用,放棄。

之后選擇其他可能存在的地方繼續審計:/manage/user/index.php

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

但是這兩處同樣存在intval參數過濾。

某團購CMS的SQL注入漏洞代碼審計

 

再繼續搜索,發現/manage/vote/feedback.php

某團購CMS的SQL注入漏洞代碼審計

 

此處$question[‘id’]參數來源于前一個查詢結果,可以考慮二次注入,不過此處因為id參數為提交問卷時系統自動生成,所以無法利用了。

某團購CMS的SQL注入漏洞代碼審計

 

最后兩處調用這個函數的地方在DB.class.php中:其中一個屬于LimitQuery函數調用,因為存在過濾,所以利用比較困難:

某團購CMS的SQL注入漏洞代碼審計

 

另外一處便是GetDbRowById調用,此處不存在過濾,可能存在注入,這個審計便放到下一部分:

某團購CMS的SQL注入漏洞代碼審計

 

  1. 全局搜索GetDbRowById函數:根據之前的審計,函數本身沒有對參數過濾,其中調用的GetQueryResult函數也沒有過濾,可能存在SQL注入。
某團購CMS的SQL注入漏洞代碼審計

 

可以發現GetDbRowById函數在
include/library/Table.class.php文件存在調用:_Fetch函數和FetchForce函數

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

其中_Fetch函數在同類中的Fetch方法被調用:

某團購CMS的SQL注入漏洞代碼審計

 

因此需要全局搜索Fetch函數和FetchForce函數:

首先來搜索FetchForce函數,結果如下,還挺多的

某團購CMS的SQL注入漏洞代碼審計

 

首先要說的就是搜索的結果不一定全部存在注入,需要再次尋找其中疏于過濾的點進行驗證,下面舉幾個栗子:

文件:/ajax/chargecard.php

某團購CMS的SQL注入漏洞代碼審計

 

不需要登錄便可以直接訪問這個文件,當$action為query時可以調用函數,且$secret不存在過濾,開啟debug調試跟蹤參數的流程:先輸入secret=123’

可以看到對secret參數沒有進行任何過濾便傳入FetchForce函數:

某團購CMS的SQL注入漏洞代碼審計

 

將存在惡意字符的參數拼接SQL語句,造成SQL注入,因為此處存在對空格等字符的正則匹配,所以可以使用/**/代替空格。

某團購CMS的SQL注入漏洞代碼審計

 

因為此處不存在回顯,要使用盲注,使用時間盲注驗證,一個用時2秒,一個用時5秒

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

而且同文件下存在另外一處注入:

某團購CMS的SQL注入漏洞代碼審計

 

這個地方用方法也差不多,就改一下action參數便可以。

再舉一個不存在注入的情況:/ajax/manage.php

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

雖然調用了FetchForce函數,但是溯源之后發現對id變量進行了強制轉換,因此屬于不能利用的點。與此同時new.php也屬于同理情況:

某團購CMS的SQL注入漏洞代碼審計

 

同時如果繼續搜索審計就能發現其他存在注入的點:

某團購CMS的SQL注入漏洞代碼審計

 

其余的文件就不一一看了。

接下來查看Fetch函數:搜索結果如下

某團購CMS的SQL注入漏洞代碼審計

 

先來看文件:/ajax/system.php

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

不過這個地方應該是需要管理員登錄的,登錄之后傳參是這個亞子的:

某團購CMS的SQL注入漏洞代碼審計

 

可以采用和之前相同的時間盲注:

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

再看另外一處漏洞:/api/call.php,此處不需要任何登錄,可以在前臺直接訪問到文件,而且其中多個參數存在注入:

某團購CMS的SQL注入漏洞代碼審計

 


某團購CMS的SQL注入漏洞代碼審計

 

再之后很多便與上面的審計方法類似,還存在可以利用的點,也會存在許多無法利用的點,就不一一寫出來了。

上面這個注入點還找到一個案例:

某團購CMS的SQL注入漏洞代碼審計

 

不過存在問題的便是這個CMS的密碼加了一個固定字符串當作鹽,在解MD5時會存在困難。

0x03 總結:

按照慣例,來小結幾句。

關于SQL注入的防御,應該有很多方法了,首先就是不信任用戶輸入,嚴格過濾參數,之后的話還可以使用預查詢方案,之后的話還可以使用軟硬件防火墻。不過這些理論上都會存在bypass的情況,不過我太菜,不會bypass。

另外就是關于參數過濾,如同上面,執行參數過濾,但是依然找到了漏網之魚,所以過濾策略某種情況下也是不可靠的。

最后就是關于代碼審計了,代碼審計一時爽,一直審計一直爽,奧力給!!!

聲明:筆者初衷用于分享與普及網絡知識,若讀者因此作出任何危害網絡安全行為后果自負,與合天智匯及原作者無關!

分享到:
標簽:注入 SQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定