首頁 >運維 >安全 >piwigo v2.9.5的5個sql注入分別是怎樣的

piwigo v2.9.5的5個sql注入分別是怎樣的

PHPz
PHPz轉載
2023-05-15 20:55:10992瀏覽

0x0 專案介紹

專案網址:https://github.com/Piwigo/Piwigo

專案介紹:piwigo是用於網路的開源照相館軟體.專為組織,團隊和個人管理您的照片庫而設計。

官網網址:piwigo.org

0x1 準備工作

Linux下下載https://github.com/Piwigo/Piwigo/archive/ 2.9.5.zip解壓縮、賦權、進入目錄後使用docker安裝:

docker run -d --name piwigo_mysql -e MYSQL_DATABASE=piwigo -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 3000:80 -v $(pwd)/:/var/www/html/ --link piwigo_mysql:mysql --name piwigo nimmis/apache-php5

即可看到啟動介面

0x2 稽核

#一admin/group_perm.php中selection和parent參數存在的注入:

#selection值未經驗證進入move_categories函數中

piwigo v2.9.5的5个sql注入分别是怎样的

追蹤move_categories函數可以看到函數把該值分解後直接存取到sql語句中

piwigo v2.9.5的5个sql注入分别是怎样的

#測試下即可發現漏洞存在

piwigo v2.9.5的5个sql注入分别是怎样的piwigo v2.9.5的5个sql注入分别是怎样的

二admin/group_list.php中group_selection參數存在的sql注入:

圖中可以看到group_selection值放入$groups中,selectAction值被放入到$action裡

piwigo v2.9.5的5个sql注入分别是怎样的

程式碼中$action對應多個動作,但在多個動作裡$group都被直接黏結到sql語句中,這兒我舉delete方法看下:

piwigo v2.9.5的5个sql注入分别是怎样的

這兒很直觀看到被放進了sql語句中,試驗下

piwigo v2.9.5的5个sql注入分别是怎样的

三admin/user_perm.php中cat_false參數存在的sql注入:

圖中可以看到cat_false被放入到函數中,

piwigo v2.9.5的5个sql注入分别是怎样的

我們追蹤下這個函數,在admin/include/functions.php中找到函數,$cat_false值變成$category經過判斷是否是數組判斷數量後被放入get_uppercat_ids函數中處理,

piwigo v2.9.5的5个sql注入分别是怎样的

繼續追蹤get_uppercat_ids函數,上述存在漏洞的參數變成$cat_ids,圖中可以看到該$cat_ids經過簡單判斷被放入sql語句並開始查詢,

piwigo v2.9.5的5个sql注入分别是怎样的

這種漏洞函數跳轉比較多,且沒有明顯的看到回顯地方,這種場合特別適合時間注入,我們使用

1 and if(ascii(substr(database(),1,1))>97,1,sleep(5))驗證可以發現網頁開啟時間延遲,證明漏洞存在,使用sqlmap跑一波

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

##perm.php存在的sql漏洞:

piwigo v2.9.5的5个sql注入分别是怎样的這個漏洞跟上面三種admin/user_perm.php漏洞相同,呼叫的同一個函數,只是使用者和群組的差別,看張入口圖意思一下:

piwigo v2.9.5的5个sql注入分别是怎样的

##sqlmap跑一下

piwigo v2.9.5的5个sql注入分别是怎样的

五admin/batch_manager.php中filter_category參數存在的注入:

我們看具體程式碼:

###當post包中存在'filter_category_use'鍵時將'filter_category'值給xx['category']###############往下走,找到xx[' category']被呼叫的地方,可以看到該值未被過濾直接被放到sql語句中。 ###

要注意的是這個請求連結在網頁中並未找到,需要手工在post包中加入filter_category_use=on&filter_category=1

piwigo v2.9.5的5个sql注入分别是怎样的

sqlmap跑一下

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

#

以上是piwigo v2.9.5的5個sql注入分別是怎樣的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除