ThinkPHP是一個國內使用很廣泛的老牌PHP MVC框架。貌似國內有不少創(chuàng)業(yè)公司或者項目都用了這個框架。
最近官方發(fā)布了一個安全補丁,官方表述是:該URL安全漏洞會造成用戶在客戶端偽造URL,執(zhí)行非法代碼。 復制代碼 代碼如下:125 - $res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['1']="2";', implode($depr,$paths)); 125 + $res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['1']='2';', implode($depr,$paths)); 這個代碼是把pathinfo當作restful類型url進行解析的,主要作用是把pathinfo中的數據解析并合并到$_GET數組中。 然而在用正則解析pathinfo的時候,主要是這一句: 復制代碼 代碼如下:$res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['1']="2";', implode($depr,$paths)); 復制代碼 代碼如下:'$var['1']="2";' 復制代碼 代碼如下:index.php/module/action/param1/${@print(THINK_VERSION)} 總之這個問題非常嚴重,找了一下,發(fā)現目前沒有修補漏洞的網站還是很多的。而ThinkPHP框架的特征其實非常好識別,有意者直接寫個scanner進行掃描也未必不可能。 為了不造成更大損失,特地發(fā)帖希望引起各位使用thinkphp做開發(fā)的同學關注
|