
Thinkphp遠(yuǎn)程命令執(zhí)行漏洞怎么修復(fù)?
THINKPHP漏洞修復(fù),官方于近日,對(duì)現(xiàn)有的thinkphp5.0到5.1所有版本進(jìn)行了升級(jí),以及補(bǔ)丁更新,這次更新主要是進(jìn)行了一些漏洞修復(fù),最嚴(yán)重的就是之前存在的SQL注入漏洞,以及遠(yuǎn)程代碼執(zhí)行查詢系統(tǒng)的漏洞都進(jìn)行了修復(fù),官方本以為沒有問題了,但是在實(shí)際的安全檢測(cè)當(dāng)中發(fā)現(xiàn),還是存在問題,還是可以遠(yuǎn)程代碼進(jìn)行注入,插入非法字符,提交到服務(wù)器后端中去。
關(guān)于這次發(fā)現(xiàn)的oday漏洞,我們來看下官方之前更新的代碼文件是怎么樣的,更新的程序文件路徑是library文件夾下的think目錄里的app.php,如下圖:
漏洞產(chǎn)生的原因就在于這個(gè)控制器這里,整個(gè)thinkphp框架里的功能對(duì)控制器沒有進(jìn)行嚴(yán)格的安全過濾于檢查,使攻擊者可以偽造惡意參數(shù)進(jìn)行強(qiáng)制插入,最根本的原因就是正則的表達(dá)式寫的不好,導(dǎo)致可以繞過。
在controller獲取控制器后,直接進(jìn)行賦值,但是并沒有對(duì)控制器的名進(jìn)行嚴(yán)格的檢測(cè),導(dǎo)致可以使用斜杠等特殊符號(hào)來遠(yuǎn)程代碼注入。
我們來搭建一下網(wǎng)站的環(huán)境,apache+mysql+Linux centos系統(tǒng),搭建好的測(cè)試環(huán)境地址是127.0.01/anquan ,我們可以直接在index.php后面?zhèn)卧旃魠?shù),示例如下:
127.0.0.1/anquan/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20-l
直接get方式提交到網(wǎng)站中去,可以直接查詢到網(wǎng)站當(dāng)前根目錄的所有文件,截圖如下:
通過該漏洞也可以直接遠(yuǎn)程代碼注入執(zhí)行phpinfo語句,查詢當(dāng)前的php版本,路徑,擴(kuò)展,以及php.ini存放的地址,都可以看得到,構(gòu)造如下代碼即可。
127.0.0.1/anquan/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=php%20-r%20'phpinfo();'
有些人可能會(huì)問了,既然都可以phpinfo,查詢目錄文件,可不可以getshell寫網(wǎng)站木馬文件到網(wǎng)站里呢? 答案是可以的,我們測(cè)試的時(shí)候是以一句話木馬代碼的寫入到safe.php文件里。
127.0.0.1/anquan/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20%27%27%20>%20safe.php
關(guān)于這次thinkphp的漏洞利用以及分析到此就結(jié)束了,該漏洞屬于高危漏洞,危害嚴(yán)重性較大,很多升級(jí)更新補(bǔ)丁的網(wǎng)站都會(huì)受到攻擊,甚至有些網(wǎng)站會(huì)被掛馬,那么該如何修復(fù)thinkphp的漏洞呢?替換之前的正規(guī)則表達(dá)式即可,還需要對(duì)網(wǎng)站的目錄進(jìn)行權(quán)限部署,防止生成php文件,對(duì)網(wǎng)站上的漏洞進(jìn)行修復(fù),或者是對(duì)網(wǎng)站安全防護(hù)參數(shù)進(jìn)行重新設(shè)置,使他符合當(dāng)時(shí)的網(wǎng)站環(huán)境。如果不懂如何修復(fù)網(wǎng)站漏洞,也可以找專業(yè)的網(wǎng)站安全公司來處理,國(guó)內(nèi)如Sinesafe和綠盟、啟明星辰等安全公司比較專業(yè).
針對(duì)于這個(gè)情況,我們要對(duì)其library/think/App.php代碼里的正規(guī)則表達(dá)式進(jìn)行更改,if (!preg_match('/^[A-Za-z][\w\.]*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); }
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級(jí)服務(wù)市場(chǎng):https://www.ijiandao.com/

隨時(shí)掌握互聯(lián)網(wǎng)精彩
- 1 看總書記關(guān)心的清潔能源這樣發(fā)電 7904252
- 2 今年最強(qiáng)臺(tái)風(fēng)來襲 7808969
- 3 澳加英宣布承認(rèn)巴勒斯坦國(guó) 7711961
- 4 長(zhǎng)春航空展這些“首次”不要錯(cuò)過 7615897
- 5 43歲二胎媽媽患阿爾茨海默病 7522847
- 6 iPhone 17橙色斜挎掛繩賣斷貨 7424366
- 7 女兒發(fā)現(xiàn)父親500多萬遺產(chǎn)用于保健 7334103
- 8 老奶奶去世3年 鄰居幫打掃門前落葉 7236720
- 9 英國(guó)航母從南?!傲锪恕?/a> 7141012
- 10 三所“零近視”小學(xué)帶來的啟示 7048947