我是如何通過CSRF拿到Shell的

2022-06-23 06:09:11 字數 1966 閱讀 5892

織夢內容管理系統(dedecms) 以簡單、實用、開源而聞名,是國內最知名的php開源**管理系統,也是使用使用者最多的php類cms系統,在經歷多年的發展,目前的版本無論在功能,還是在易用性方面,都有了長足的發展和進步,dedecms免費版的主要目標使用者鎖定在個人站長,功能更專注於個人**或中小型門戶的構建,當然也不乏有企業使用者和學校等在使用本系統。

最近我在搭建這個系統的時候偶然間發現了乙個有趣的現象,織夢的後台竟然有乙個可以直接執行sql語句的功能,出於職業敏感,能直接執行sql語句的地方往往會有一些漏洞。又經過一番查詢發現了它後台存在乙個csrf的漏洞,一般情況下像這種漏洞都是不怎麼能引起人們的關注的,畢竟是要通過互動才能起作用,而且起的作用還不大。以為到此就結束了嗎?並不是。

這裡根本形不成乙個有效的攻擊鏈,不過我又發現了乙個很有意思的地方,這個cms是可以在前台直接提交友鏈申請的,那麼問題來了?你提交了友鏈申請管理員審核的時候怎麼可能不去瀏覽一下你的**。於是有了下面的一套getshell的流程。

受影響的版本<=官方最新版本(v57utf8sp2)這是乙個0day哦!!

實驗環境 :win10,wamp

(這裡我多次清除cookie,多次關閉瀏覽器進行測試發現,該頁面的效果不受其他因素影響均可正常執行),這段**的作用就是像資料庫中插入我們的shell code。

頁面的**如下:

這裡就可以隨便放置乙個地方,為了更加形象,你可以在頁面上做一些操作,比如加上js**使得管理員訪問頁面的時候不會跳轉,這樣更神不知鬼不覺了。

管理員審核友鏈時定會檢視友鏈所鏈結的內容。(管理員既然可以看到該鏈結證明此時一定處於登陸狀態)

此時我們可以看到資料庫中被插入了惡意**。這裡的**可以自定義,根據你想做的操作自定義就可以了。這裡我就是做實驗,就是用了<?php phpinfo() ?>

此時我們構造生成shell的惡意頁面,頁面**如下,構造完成之後同樣放在我們自己的伺服器上。(這裡構造時,我們需要知道**的路徑,這裡知道相對路徑或者時絕對路徑都是可以的。路徑的獲取方式:乙個**的搭建大多數採用 phpstudy wamp 或者原生態的在php下的www目錄,這裡很好猜測。或者直接請求乙個**上不存在的資源一般會爆出相對路徑,或者去訪問一篇文章分析路徑,再或者用awvs直接拿到路徑,反正這裡獲取路徑的方式特別多)

下面這段**的作用是把我們剛剛插入的shell code生成乙個php頁面。

當管理員檢視該頁面時觸發**的執行,在伺服器端生成乙個我們自定義名稱的shell。然後我們去訪問我們的shell。可以看到執行成功。

這就是在一次測試環境中找到的乙個邏輯漏洞,有時候我們會經常發現一些微不足道的小漏洞之類的,單個的看起來是沒有什麼作用但是多個微不足道的小漏洞結合起來往往會收到超出預期的效果。

我是如何通過程式設計技術轉換還金錢

簡介 常用網名 豬頭三 出生日期 1981.xx.xx 個人 email pliceman 110 163.com qq交流 643439947 程式設計生涯 2001年 至今 13年 職業生涯 11年 開發語言 c c 80x86asm php perl objective c object pa...

我是如何通過微信賺到5000元的

很多人利用微信都賺到錢了,我也算其中的乙個。我玩微信至今只賺了5000元。微信給我帶來的遠遠不止5000元,用微信官方的宣傳語來表達,微信改變了我的生活方式。下面說說我是如何通過微信賺錢的。一丶定位決定市場,市場決定規模。定位很重要,定位好比一座大樓的地基。地基打不好,大樓易倒塌 定位做不好,彎路沒...

我是如何學習git

一開始學習git的時候,網上的git教程很多,看得人眼花繚亂,不知道如何下手。現在對git已經很熟悉了,回過頭來總結一下學習方法。一般官方文件是最全面,但是不一定適合快速上手。我們可以學習一些快速上手的教程,這些教程沒有官方文件那麼全面,但是可以學習到最常用的操作,適合入門。入門之後,如果還想高階,...