您好,登錄后才能下訂單哦!
piwigo v2.9.5的5個sql注入分別是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
0x0 項目介紹
項目地址:https://github.com/Piwigo/Piwigo
項目介紹:piwigo是用于網絡的開源照相館軟件。 專為組織,團隊和個人管理您的照片庫而設計。
官網地址:piwigo.org
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
即可看到啟動界面
一 admin/group_perm.php中selection和parent參數存在的注入:
selection值未經驗證進入到move_categories函數中
追蹤move_categories函數可以看到函數把該值分解后直接接入到sql語句中
測試下即可發現漏洞存在
二 admin/group_list.php中group_selection參數存在的sql注入:
圖中可以看到group_selection值被放入到$groups中,selectAction值被放入到$action里
代碼中$action對應多個動作,但是在多個動作里$group都被直接粘結到sql語句中,這兒我舉delete方法看下:
這兒很直觀看到被放進了sql語句中,試驗下
三 admin/user_perm.php中cat_false參數存在的sql注入:
圖中可以看到cat_false被放入到函數中,
我們追蹤下這個函數,在admin/include/functions.php中找到函數,$cat_false值變為$category經過判斷是否是數組判斷數量后被放入get_uppercat_ids函數中處理,
繼續追蹤get_uppercat_ids函數,上述存在漏洞的參數變為$cat_ids,圖中可以看到該$cat_ids經過簡單判斷被放入sql語句并開始查詢,
這種漏洞函數跳轉比較多,且沒有明顯的看到回顯地方,這種場合特別適合時間注入,我們使用
1 and if(ascii(substr(database(),1,1))>97,1,sleep(5))
驗證可以發現網頁打開時間延遲,證明漏洞存在,使用sqlmap跑一波
四 admin/group_perm.php存在的sql漏洞:
這個漏洞跟上面三種admin/user_perm.php漏洞相同,調用的同一個函數,只是用戶和組的區別,看張入口圖意思一下:
sqlmap跑一下
五 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
sqlmap跑一下
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。