溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

發(fā)布時(shí)間:2022-01-17 17:28:17 來(lái)源:億速云 閱讀:175 作者:柒染 欄目:安全技術(shù)

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

0x0 項(xiàng)目介紹

項(xiàng)目地址:https://github.com/Piwigo/Piwigo

項(xiàng)目介紹:piwigo是用于網(wǎng)絡(luò)的開源照相館軟件。 專為組織,團(tuán)隊(duì)和個(gè)人管理您的照片庫(kù)而設(shè)計(jì)。

官網(wǎng)地址:piwigo.org

0x1 準(zhǔn)備工作

Linux下下載https://github.com/Piwigo/Piwigo/archive/2.9.5.zip解壓、賦權(quán)、進(jìn)入目錄后使用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

即可看到啟動(dòng)界面

0x2 審計(jì)

一 admin/group_perm.php中selection和parent參數(shù)存在的注入:

selection值未經(jīng)驗(yàn)證進(jìn)入到move_categories函數(shù)中

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

追蹤move_categories函數(shù)可以看到函數(shù)把該值分解后直接接入到sql語(yǔ)句中

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

測(cè)試下即可發(fā)現(xiàn)漏洞存在

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

二 admin/group_list.php中g(shù)roup_selection參數(shù)存在的sql注入:

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

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

代碼中$action對(duì)應(yīng)多個(gè)動(dòng)作,但是在多個(gè)動(dòng)作里$group都被直接粘結(jié)到sql語(yǔ)句中,這兒我舉delete方法看下:

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

這兒很直觀看到被放進(jìn)了sql語(yǔ)句中,試驗(yàn)下

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

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

圖中可以看到cat_false被放入到函數(shù)中,

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

我們追蹤下這個(gè)函數(shù),在admin/include/functions.php中找到函數(shù),$cat_false值變?yōu)?category經(jīng)過(guò)判斷是否是數(shù)組判斷數(shù)量后被放入get_uppercat_ids函數(shù)中處理,

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

繼續(xù)追蹤get_uppercat_ids函數(shù),上述存在漏洞的參數(shù)變?yōu)?cat_ids,圖中可以看到該$cat_ids經(jīng)過(guò)簡(jiǎn)單判斷被放入sql語(yǔ)句并開始查詢,

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

這種漏洞函數(shù)跳轉(zhuǎn)比較多,且沒有明顯的看到回顯地方,這種場(chǎng)合特別適合時(shí)間注入,我們使用

1 and if(ascii(substr(database(),1,1))>97,1,sleep(5))驗(yàn)證可以發(fā)現(xiàn)網(wǎng)頁(yè)打開時(shí)間延遲,證明漏洞存在,使用sqlmap跑一波

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

四 admin/group_perm.php存在的sql漏洞:

這個(gè)漏洞跟上面三種admin/user_perm.php漏洞相同,調(diào)用的同一個(gè)函數(shù),只是用戶和組的區(qū)別,看張入口圖意思一下:

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

sqlmap跑一下

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

五 admin/batch_manager.php中filter_category參數(shù)存在的注入:我們看具體代碼:

當(dāng)post包中存在'filter_category_use'鍵時(shí)將'filter_category'值給xx['category']

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

往下走,找到xx['category']被調(diào)用的地方,可以看到該值未被過(guò)濾直接被放到sql語(yǔ)句中。

需要注意的是這個(gè)請(qǐng)求鏈接在網(wǎng)頁(yè)中并未找到,需要手工在post包添加filter_category_use=on&filter_category=1

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

sqlmap跑一下

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

piwigo v2.9.5的5個(gè)sql注入分別是怎樣的

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI