浅谈web

简述:web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

进入信息化时代以来,网络日益发展,web也逐渐发展。正如电影“whoami”中所说:没有绝对安全的系统,虽然web的出现极大的方便了各行业人员,但是也出现了各种各样的安全问题。在波涛汹涌的网络世界里,web安全问题是其中最大的几多浪花之一。

Web及web安全发展史

Web发展史:

从1989年CERN(欧中舍利子物理研究所)中某个小组提交一个针对internet的新协议和一个使用该写的文档。从此建立web的雏形。在1991年,该系统移植到其他计算机平台,web正式发布。在web1.0时代,大多数人关注的是服务器动态脚本的安全问题。动态脚本语言的普及,以及web技术发展初期对安全问题认知的不足导致很多“血案”发生。也遗留了很多问题。比如:PHP语言只能靠较好的代码规范来保证没有文件包含漏洞,但是无法从语言本身杜绝此类安全问题的发生。

2004年提出web2.0的概念,Web 2.0可以说是信息技术发展引发网络革命所带来的面向未来、以人为本的创新2.0模式在互联网领域的典型体现,是由专业人员织网到所有用户参与织网的创新民主化进程的生动注释。但是对于web安全漏洞依旧猖獗。

在土豆先生提出的关于web3.0的阐述中这样讲道:要求互联网价值的重新分配将是一种必然的趋势,必然催生新一代互联网的产生。Web3.0使所有的网上公民不再受到现有资源积累的限制具有更加平等的获得财富和生育的机会。当然现如今而言,web3.0还未完全到来,we3.0的到来必须满足三个前提:(1)、博客技术为代表、围绕网民互动及个性体验的互联网应用技术的完善和发展(2)虚拟货币的普及和普遍。(3)大家对网络财富的认同,以及网络财务安全的解决方案。

Web1.0、web2.0、web3.0的优缺点:

web1.0的本质是联合,那么web2.0的本质就是互动,它让网民更多地参与信息产品的创造、传播和分享,而这个过程是有价值的。web2.0的缺点是没有体现出网民劳动的价值,所以2.0很脆弱,缺乏商业价值。web2.0是脆弱的,纯粹的2.0 会在商业模式上遭遇重大挑战,需要跟具体的产业结合起来才会获得巨大的商业价值和商业成功。web3.0是在web2.0的基础上发展起来的能够更好地体现网民的劳动价值,并且能够实现价值均衡分配的一种互联网方式。

Web安全问题

从web1.0发布发展至今,发生过不计其数的web安全事件,有震惊世界的google用户数据库泄露事件,也有鲜为人知的入侵事件。

随着web2.0、社交网络等等一系列新型的互联网产品的诞生,基于web环境的互联网越来越广泛,企业信息化的过程中应用都假设在web平台上,web业务的迅速发展也引起了黑客们的强烈关注,从而引发更多的web安全问题。Web安全问题主要分为三种类型:SQL注入攻击,XSS(跨站脚本)攻击,网页挂马攻击。

1998年,rfp在《phrack》杂志第54期首次提出SQL注入攻击。

XSS攻击自提出以来,一直是web安全威胁中,所触发的频率中最多的,在2007年OWSAP统计的所有网络安全中跨站脚本(XSS)攻击占22%,高居所有web威胁之首。

网页挂马是web安全中对访问网页的用户威胁最大的攻击之一。

2017年发布的《2017全球安全报告》显示,几乎每个web应用程序之沙鸥存在1个漏洞,并且Trustwave通过扫描发现:99.7%的应用至少存在1个漏洞,web应用用的平均漏洞数量为11个。

Web漏洞攻击方式

SQL注入攻击:

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

SQL注入攻击是常见的针对数据库的攻击之一,但是由于SQL注入攻击是从正常的WWW端口访问,在防火墙看来与正常访问并没有多少区别,因此,针对SQL注入攻击,市面上的防火墙不会对SQL注入攻击发出警报。如果管理员没有及时查看IIS日志的话,可能被入侵很久都不会被发现。

SQL注入攻击的攻击手法灵活,可以根据页面对输入语句(上传文件)过滤不严格或者构造输入语句的源代码有逻辑错误导致被SQL注入攻击。

SQL注入攻击主要步骤有(1)对网站进行分析测试,找到SQL注入漏洞;(2)分析数据库服务器类型,针对不同类型的数据库,采用不同的攻击方式;(3)攻击成功,查看当前连接数据的账号权限,并将权限提高到SA权限;(4)发现web虚拟目录;(5)上传ASP木马;(6)得到系统的管理员权限;(7)盗取信息或进行其他违法行为。

XSS(跨站脚本攻击)

是发生在目标用户的浏览器层面上的,当渲染DOM树的过程成发生了不在预期内执行的JS代码时,就发生了XSS攻击。XSS攻击的重点不在“跨站”,而在于“脚本”。大多数XSS攻击的主要方式是嵌入一段远程或者第三方域上的JS代码。实际上是在目标网站的作用于下执行了这段JS代码。

XSS攻击主要有

(1)反射型XSS攻击:也称作非持久型XSS攻击,是指发生请求时,XSS代码出现在请求URL中,作为参数提交到服务器,服务器解析并响应,响应结果包含XSS代码,最后浏览器并执行。

(2)存储型XSS攻击:也称为持久型XSS攻击。主要将XSS代码发送到服务器,然后在下次请求的时候就不用XSS代码。

(3)DOM XSS:不同于反射性XSS攻击和存储型XSS,DOM XSS代码不需要服务器的解析响应的直接参与,而是通过浏览器的DOM解析,只在客户端进行。

网页挂马攻击

网页挂马指的是把一个木马程序上传到一个网站里面然后用木马生成器生一个网马,再上到空间里面。再加代码使得木马在打开网页时运行。

网页挂马的工作原理

作为网页挂马的散布者,其目的是将木马下载到用户本地,并进一步执行,当木马获得执行之后,就意味着会有更多的木马被下载,进一步被执行,进入一个恶性的循环,从而使用户的电脑遭到攻击和控制。为达到目的首先要将木马下载到本地。

常见的网站挂马攻击方式有两种:

一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行。

黑客先将挂马脚本代码写入Windows中的写字板另存为后缀为.js的脚本文件,并上传到自己指定的网址。

对于web攻击的常见防御

SQL注入攻击

(1)永远不要信任客户端提交的数据,一定要对客户端提交的数据进行校验,校验可以考虑数据类型,字符长度或者正则表达式等方式。

(2)对客户端提交的数据进行转义,例如将" ' "转义为" ' "。

(3)采用预编译绑定变量的SQL语句而不是直接拼接SQL语句。

(4)避免在生产环境中,直接输出错误信息,因为这些错误信息有可能被攻击者利用。

(5)严格执行数据库账号权限管理。

(6)对用户敏感信息特别是密码做严格加密处理。

XSS攻击

从反射型XSS和DOM XSS攻击可以看出,我们不能原样的将用户输入的数据直接存到服务器,需要对数据进行一些处理。

对cookie的保护:对重要的cookie设置httpOnly, 防止客户端通过document.cookie读取cookie。服务端可以设置此字段。

对用户输入数据的处理:

(1)编码:不能对用户输入的内容都保持原样,对用户输入的数据进行字符实体编码。对于字符实体的概念可以参考文章底部给出的参考链接。

(2)解码:原样显示内容的时候必须解码,不然显示不到内容了。

(3)过滤:把输入的一些不合法的东西都过滤掉,从而保证安全性。如移除用户上传的DOM属性,如onerror,移除用户上传的Style节点,iframe, script节点等。

网站挂马攻击:

阻止Src请求的异地外域的JS脚本

安全工程师提供了一段可以中止JS脚本运行的CSS代码,这段代码会让异地外域的JS文件在使用document.write()时,被 document.close()强制关闭。这个时侯JS挂马的内容往往还没有来得及写完,只有部分被强制输出了,Writer后面的内容再不会被写入访 问者的电脑中,从而起到防范JS脚本挂马的作用。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值