网站程序有漏洞怎么修复和查找漏洞
ecshop目前最新版本为4.0,是国内开源的一套商城系统,很多外贸公司,以及电商平台都在使用,正因为使用的人数较多,很多攻击者都在挖掘该网站的漏洞,就在最近ecshop被爆出高危漏洞,该漏洞利用跨站伪造函数,来对网站数据库进行攻击。
ecshop 漏洞详情
该网站漏洞发生的根本原因是根目录下的user.php文件,在第315-365行里的代码里,该代码主要是处理用户注册,用户登录的一些功能请求处理,与数据库进行通信查询用户的账号密码是否正确,以及写入数据库中用户的注册资料等信息。我们使用一台windows2008服务器来搭建下ecshop系统的环境,我们使用IIS7.5+mysql数据库,php的版本为5.3,在官方下载最新版。
我们来看下发生问题的user.php代码,如下图:
从上面的代码可以看出,用户在登录的时候会先将变量值action传入到login进行赋值变成登录的主要代码,当登录请求的时候,系统会将referer里的值传递给back_act这个参数里,导致网站漏洞发生,由于传入的参数可以传递给assign的函数中去,导致模板注册给改变了变量,可以插入跨站脚本攻击代码进去,直接插入到html文件里。
本身ecshop网站,当初设计的时候就有安全拦截系统,对一些非法的参数,攻击代码进行了强制的转换与拦截,有一些安全的拦截规则,我们可以从includes目录下的safety.php文件可以看出来,如下图:
网站系统的拦截规则写的非常简单,只是过滤了常用的html标签以及eval一句话代码的特征,一些敏感的特殊字符,像《》*%#都拦截掉了。但是ecshop官方疏忽了JS跨站弹窗的一个函数,confirm可以直接插入代码进行使用,漏洞的使用就是绕过ecshop安全拦截规则,把攻击代码直接写入到html里。我们可以使用html的编码方式进行绕过,构造如下的代码:
GET /ECShop4.0/user.php
HTTP/1.1
Referer:" /><a href=java:alert
('Cyc1e_test')><imgsrc="xxxxx
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21
(KHTML, like Gecko)Chrome/41.0.2228.0
Safari/537.21Cookie:ECS_ID=17b608d2a679cf2c7e8611581478e6929dbfb34b;ECS
[visit_times]=2Connection:keep-aliveAccept: */*Accept-
Encoding:gzip,deflateHost:
利用get的提交方式将我们构造的恶意代码写入到数据包中,提交到网站里。这样直接绕过了ecshop的安全检测,该漏洞的使用需要用户点击图片才可以使漏洞正常使用。
关于ecshop网站漏洞的修复建议:
对ecshop safety.php文件进行安全过滤,对#97以及href,,进行强制的拦截,html实体编码也进行拦截,如果对代码不是太懂的话,也可以对模板文件进行安全权限限制,ecshop官方目前没有对此跨站漏洞进行漏洞修复与升级补丁,建议使用4.0版本的网站,删除user.php注册功能,如果自己懂程序,那就可以自己针对代码的漏洞进行ecshop漏洞修复,不懂的话,可以找专业的网站安全公司来修复ecshop漏洞,国内像SINE安全、绿盟安全、启明星辰都是比较专业的安全公司,很多攻击者之所以能植入木马病毒,就是抓住了ecshop网站代码上的漏洞。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java深拷贝和浅拷贝
目录介绍 01.对象拷贝有哪些 02.理解浅拷贝 2.1 什么是浅拷贝 2.2 实现浅拷贝案例 03.理解深拷贝 3.1 什么是深拷贝 3.2 实现深拷贝案例 04.序列化进行拷贝 4.1 序列化属于深拷贝 4.2 注意要点 4.3 序列化案例 05.延迟拷贝 06.如何选择拷贝方式 07.数组的拷贝 7.1 基本数据类型数组 7.2 引用数据类型数组 08.集合的拷贝 8.1 集合浅拷贝 8.2 集合深拷贝 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计N篇[近100万字,陆续搬到网上],转载请注明出处,谢谢! 链接地址:https://github.com/yangchong211/YCBlogs 如果觉得好,可以star一下,谢谢!当然也欢迎提出建议,万事起于忽微,量变引起质变! 01.对象拷贝有哪些 对象拷贝(Object...
- 下一篇
算法不扎实的程序员,每个都很慌
算法能力的考察,向来是顶级科研机构和IT公司面试时最具备区分度的成分,算法功夫扎实,提升面试效率。 算法长期以来被视作是聪明人的专利,好像有些人天生思路就开阔,遇到问题能马上整理出计算模型,然后实施巧思,而大多数人则只能望洋兴叹,一筹莫展。 这种想法其实也不无道理,从小接受系统化训练,参加过信息学竞赛或ACM,肯定会对算法问题反应更快一些。可是这样的人毕竟是极少数,而且即使是他们,也无一不是长期大量地训练才会不断进步。这至少说明,算法并非天外之学,而是一种能够通过训练掌握的技能。换言之,对于5%的真正难题,也许真的是只为5%的天才而存在的。但是其余的95%,却是95%像你我一样的普通人自学可以达成的目标。 提升算法能力,小编带来了一份高效书单。 01 算法入门 算法详解(卷1)——算法基础 这本书在美亚评分4.7,在作者倍受欢迎在线算法课程的基础之上编写的,是四卷本系列的第1卷。这个在线课程2012年起就定期更新,它建立在作者在斯坦福大学教授多年的本科课程的基础之上。也许你有所耳闻,这本书就是《算法详解(卷1)——算法基础》。如果你更喜欢听和看,可以在YouTobe上搜索这本书的主题课...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音