DVWA文件上傳漏洞(完結(jié))

當(dāng)選擇中級(jí)防御的時(shí)候,再像低級(jí)防御那樣直接上傳PHP腳本,發(fā)現(xiàn)不給上傳了。

那么,作為攻擊者,又不知道網(wǎng)站源碼是什么,該怎么辦?

只能簡(jiǎn)單分析一下幾種情況,分析網(wǎng)站過(guò)濾的機(jī)制。

比如:(只是猜測(cè))

1.網(wǎng)站開(kāi)發(fā)者,根據(jù)文件名后綴來(lái)過(guò)濾。那么,作為攻擊者就可以修改數(shù)據(jù)包中的文件名來(lái)嘗試上傳。

2.網(wǎng)站開(kāi)發(fā)者根據(jù)上傳文件的類型來(lái)判斷,將不符合規(guī)定類型的過(guò)濾掉。那么,攻擊者是不是可以通過(guò)修改數(shù)據(jù)包的文件類型來(lái)欺騙,達(dá)到上傳文件的目的呢?

3.網(wǎng)站開(kāi)發(fā)者根據(jù)文件名后綴,文件類型,文件大小(圖片文件大小肯定有個(gè)范圍)進(jìn)行過(guò)濾。那么攻擊者該如何思考?

在不知道源碼的情況下,只能嘗試各種可能,來(lái)繞過(guò)網(wǎng)站開(kāi)發(fā)者的過(guò)濾機(jī)制。

由于,修改文件后綴會(huì)使得我們的腳本不能正常運(yùn)行,所以,我就修改了文件類型為image/jpeg,提示上傳成功。然后weevely連接上傳的后門。

再次成功

雖然修改了類型就上傳成功了,但是一個(gè)漏洞里面可以學(xué)到的東西太多了。因此,我抓包來(lái)比較,為什么jpeg文件上傳能成功,原本的php腳本必須得修改類型才能上傳成功。

未經(jīng)修改的PHP后門shell
能上傳的圖片
二者數(shù)據(jù)包的比較

凡事兩個(gè)包不同的地方,都被標(biāo)注了出來(lái)。那么就是說(shuō),只要將數(shù)據(jù)包做一些修改,就有很大的可能性上傳成功。

既然已經(jīng)成功上傳后門,并且連接上去了,那么接下來(lái),就要查看網(wǎng)站開(kāi)發(fā)者的源代碼了,來(lái)看一下網(wǎng)站開(kāi)發(fā)者到底存在什么失誤,使用了什么邏輯,才導(dǎo)致攻擊者乘虛而入。

邏輯很簡(jiǎn)單,就是看你類型是否滿足要求,大小是否滿足,只要滿足這兩點(diǎn),就可以上傳。因此,攻擊者修改了數(shù)據(jù)包的文件類型后,就上傳成功了。


現(xiàn)在,我將防御等級(jí)調(diào)成高級(jí)防御。然后,我依舊利用這種小方法,修改我的數(shù)據(jù)包類型,去欺騙他,但是,這時(shí)候發(fā)現(xiàn),上傳失敗了。意思就是說(shuō),修改類型這一招對(duì)高級(jí)防御不管用。

至于為什么不管用,得看高級(jí)防御代碼是怎么寫的。這個(gè)后面再解析。但是,現(xiàn)在就有這么一個(gè)套路,將一個(gè)后門文件追加到正常的圖片文件后面,相當(dāng)于融合到圖片文件后面,然后再去上傳圖片文件。

命令:
cat file1 >> file2 ? ?將file1內(nèi)容追加到file2后面

可是!上傳的圖片文件無(wú)法執(zhí)行shell的作用。。。就相當(dāng)于file.php.jpeg這樣的文件格式。無(wú)法當(dāng)做php腳本運(yùn)行。難道這就沒(méi)用了嗎?不,依舊有用。只不過(guò)需要相關(guān)的命令注入漏洞來(lái)利用!

比如說(shuō),我這個(gè)特殊的圖片文件上傳成功了,我雖然目前無(wú)法使用,但是只要管理員不刪除我這個(gè)文件,那么這個(gè)隱藏的炸彈始終存在,只是差了一個(gè)引爆器。什么是引爆器?就是類似命令注入漏洞這樣的引爆器,若是又找到了命令注入漏洞,那么就可以利用命令注入來(lái)修改我們上傳好的PHP腳本,使他成為真正的PHP后門腳本。這樣,再利用weevely來(lái)遠(yuǎn)程連接即可。(理論上可行,實(shí)際上還需要其他的輔助手段,本人新手,還未接觸)

但是,但是防御者有一個(gè)非常非常好,還不用進(jìn)行代碼審計(jì)的辦法。那就是權(quán)限設(shè)置!只要防御者將上傳的文件目錄權(quán)限,全部改成只讀,那么即使上傳了腳本又能如何?完全無(wú)法運(yùn)行。不過(guò),估計(jì)這樣會(huì)影響網(wǎng)站的運(yùn)行。(猜測(cè))

最后,解析一下高級(jí)防御漏洞的源代碼:

擴(kuò)展知識(shí):fckeditor 漏洞 ? 對(duì)于上傳漏洞的一種擴(kuò)充知識(shí),可以讓上傳漏洞學(xué)得更好。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,362評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,577評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,486評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,852評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,600評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,944評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,944評(píng)論 3 447
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,108評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,652評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,385評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,616評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,111評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,798評(píng)論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,205評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,537評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,334評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,570評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容

  • 文件上傳漏洞是指用戶上傳了一個(gè)可執(zhí)行的腳本文件,并通過(guò)此腳本文件獲得了執(zhí)行服務(wù)器端命令的能力。這種攻擊方式是最為直...
    付出從未后悔閱讀 1,167評(píng)論 0 4
  • 文件上傳漏洞: 1.本地驗(yàn)證 本地驗(yàn)證:客戶端本地通過(guò)前臺(tái)JS腳本進(jìn)行檢測(cè)。 原理: 當(dāng)用戶在客戶端選擇文件點(diǎn)擊上...
    xaviershun閱讀 1,362評(píng)論 0 1
  • http://www.91ri.org/tag/fuzz-bug 通常情況下,有三種方法被廣泛用來(lái)防御CSRF攻擊...
    jdyzm閱讀 4,200評(píng)論 0 5
  • 一、初步認(rèn)識(shí) 1.上傳功能:網(wǎng)站上各種可以上傳文件,圖片的地方可以被用作上傳點(diǎn)進(jìn)行非法上傳 2.上傳原理:在前端代...
    楠昭閱讀 1,656評(píng)論 1 11
  • 開(kāi)年立下重誓,本年度要好好鍛煉身體,于是乎,沒(méi)過(guò)正月十五就屁顛跑去辦了健身卡,然后開(kāi)始了跑步生涯,過(guò)去的一個(gè)月...
    無(wú)名筱卒閱讀 431評(píng)論 0 3