這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 网页前端 » web安全研究
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web安全研究

发布时间: 2022-10-04 22:32:39

① web的安全威胁有哪几个方面

1、来自服务器本身及网络环境的安全,这包括服务器系统漏洞,系统权限,网络环境(如ARP等)、网络端口管理等,这个是基础。
2、来自WEB服务器应用的安全,IIS或者Apache等,本身的配置、权限等,这个直接影响访问网站的效率和结果。
3、网站程序的安全,这可能程序漏洞,程序的权限审核,以及执行的效率,这个是WEB安全中占比例非常高的一部分。
4、WEB Server周边应用的安全,一台WEB服务器通常不是独立存在的,可能其它的应用服务器会影响到WEB服务器的安全,如数据库服务、FTP服务等。
这只是大概说了一下,关于WEB应用服务器的安全从来都不是一个独立存在的问题。
web常见的几个漏洞
1. sql注入。SQL注入攻击是黑客对数据库进行攻击的常用手段之一。
2. XSS跨站点脚本。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
3. 缓冲区溢出。缓冲区溢出漏洞是指在程序试图将数据放到及其内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出的现象。
4. cookies修改。即使 Cookie 被窃取,却因 Cookie 被随机更新,且内容无规律性,攻击者无法加以利用。另外利用了时间戳另一大好处就是防止 Cookie 篡改或重放。
5. 上传漏洞。这个漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。
6. 命令行输入。就是webshell ,拿到了权限的黑客可以肆意妄为。

② 网络安全和web安全是一回事么他们有什么区别与联系

网络安全是一个统称,范围很大。从字面意思上来讲,凡是涉及到网络的安全都属于网络安全,以TCP/IP四层网络模型为例,从底层的硬件到顶层的应用,无论是硬件还是软件都属于网络安全的范围,Web安全就是网络安全的一部分。Web安全与网络安全不同,它主要就是指应用层面上,比如:Web应用、Web平台、网站等。

③ 基于web的安全防范措施的研究与应用

一、计算机网络攻击的常见手法

互联网发展至今,除了它表面的繁荣外,也出现了一些不良现象,其中黑客攻击是最令广大网民头痛的事情,它是计算机网络安全的主要威胁。下面着重分析黑客进行网络攻击的几种常见手法及其防范措施。

(一)利用网络系统漏洞进行攻击

许多网络系统都存在着这样那样的漏洞,这些漏洞有可能是系统本身所有的,如WindowsNT、UNIX等都有数量不等的漏洞,也有可能是由于网管的疏忽而造成的。黑客利用这些漏洞就能完成密码探测、系统入侵等攻击。

对于系统本身的漏洞,可以安装软件补丁;另外网管也需要仔细工作,尽量避免因疏忽而使他人有机可乘。

(二)通过电子邮件进行攻击

电子邮件是互联网上运用得十分广泛的一种通讯方式。黑客可以使用一些邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪,这一点和后面要讲到的“拒绝服务攻击(DDoS)比较相似。

对于遭受此类攻击的邮箱,可以使用一些垃圾邮件清除软件来解决,其中常见的有SpamEater、Spamkiller等,Outlook等收信软件同样也能达到此目的。

(三)解密攻击

在互联网上,使用密码是最常见并且最重要的安全保护方法,用户时时刻刻都需要输入密码进行身份校验。而现在的密码保护手段大都认密码不认人,只要有密码,系统就会认为你是经过授权的正常用户,因此,取得密码也是黑客进行攻击的一重要手法。取得密码也还有好几种方法,一种是对网络上的数据进行监听。因为系统在进行密码校验时,用户输入的密码需要从用户端传送到服务器端,而黑客就能在两端之间进行数据监听。但一般系统在传送密码时都进行了加密处理,即黑客所得到的数据中不会存在明文的密码,这给黑客进行破解又提了一道难题。这种手法一般运用于局域网,一旦成功攻击者将会得到很大的操作权益。另一种解密方法就是使用穷举法对已知用户名的密码进行暴力解密。这种解密软件对尝试所有可能字符所组成的密码,但这项工作十分地费时,不过如果用户的密码设置得比较简单,如“12345”、“ABC”等那有可能只需一眨眼的功夫就可搞定。

为了防止受到这种攻击的危害,用户在进行密码设置时一定要将其设置得复杂,也可使用多层密码,或者变换思路使用中文密码,并且不要以自己的生日和电话甚至用户名作为密码,因为一些密码破解软件可以让破解者输入与被破解用户相关的信息,如生日等,然后对这些数据构成的密码进行优先尝试。另外应该经常更换密码,这样使其被破解的可能性又下降了不少。

(四)后门软件攻击

后门软件攻击是互联网上比较多的一种攻击手法。Back Orifice2000、冰河等都是比较着名的特洛伊木马,它们可以非法地取得用户电脑的超级用户级权利,可以对其进行完全的控制,除了可以进行文件操作外,同时也可以进行对方桌面抓图、取得密码等操作。这些后门软件分为服务器端和用户端,当黑客进行攻击时,会使用用户端程序登陆上已安装好服务器端程序的电脑,这些服务器端程序都比较小,一般会随附带于某些软件上。有可能当用户下载了一个小游戏并运行时,后门软件的服务器端就安装完成了,而且大部分后门软件的重生能力比较强,给用户进行清除造成一定的麻烦。

当在网上下载数据时,一定要在其运行之前进行病毒扫描,并使用一定的反编译软件,查看来源数据是否有其他可疑的应用程序,从而杜绝这些后门软件。

(五)拒绝服务攻击

互联网上许多大网站都遭受过此类攻击。实施拒绝服务攻击(DDoS)的难度比较小,但它的破坏性却很大。它的具体手法就是向目的服务器发送大量的数据包,几乎占取该服务器所有的网络宽带,从而使其无法对正常的服务请求进行处理,而导致网站无法进入、网站响应速度大大降低或服务器瘫痪。现在常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。它们的繁殖能力极强,一般通过Microsoft的Outlook软件向众多邮箱发出带有病毒的邮件,而使邮件服务器无法承担如此庞大的数据处理量而瘫痪。

对于个人上网用户而言,也有可能遭到大量数据包的攻击使其无法进行正常的网络操作,所以大家在上网时一定要安装好防火墙软件,同时也可以安装一些可以隐藏IP地址的程序,怎样能大大降低受到攻击的可能性。

二、计算机网络安全的防火墙技术

计算机网络安全是指利用网络管理控制和技术措施,保证在一个网络环境里,信息数据的保密性、完整性和可使用性受到保护。网络安全防护的根本目的,就是防止计算机网络存储、传输的信息被非法使用、破坏和篡改。防火墙技术正是实现上述目的一种常用的计算机网络安全技术。

(一)防火墙的含义

所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,防止他们更改、拷贝、毁坏你的重要信息。

(二)防火墙的安全性分析

防火墙对网络的安全起到了一定的保护作用,但并非万无一失。通过对防火墙的基本原理和实现方式进行分析和研究,作者对防火墙的安全性有如下几点认识:

1.只有正确选用、合理配置防火墙,才能有效发挥其安全防护作用

防火墙作为网络安全的一种防护手段,有多种实现方式。建立合理的防护系统,配置有效的防火墙应遵循这样四个基本步骤:

a.风险分析;

b.需求分析;

c.确立安全政策;

d.选择准确的防护手段,并使之与安全政策保持一致。

然而,多数防火墙的设立没有或很少进行充分的风险分析和需求分析,而只是根据不很完备的安全政策选择了一种似乎能“满足”需要的防火墙,这样的防火墙能否“防火”还是个问题。

2.应正确评估防火墙的失效状态

评价防火墙性能如何,及能否起到安全防护作用,不仅要看它工作是否正常,能否阻挡或捕捉到恶意攻击和非法访问的蛛丝马迹,而且要看到一旦防火墙被攻破,它的状态如何? 按级别来分,它应有这样四种状态:

a.未受伤害能够继续正常工作;

b.关闭并重新启动,同时恢复到正常工作状态;

c.关闭并禁止所有的数据通行;

d. 关闭并允许所有的数据通行。

前两种状态比较理想,而第四种最不安全。但是许多防火墙由于没有条件进行失效状态测试和验证,无法确定其失效状态等级,因此网络必然存在安全隐患。

3.防火墙必须进行动态维护

防火墙安装和投入使用后,并非万事大吉。要想充分发挥它的安全防护作用,必须对它进行跟踪和维护,要与商家保持密切的联系,时刻注视商家的动态。因为商家一旦发现其产品存在安全漏洞,就会尽快发布补救(Patch) 产品,此时应尽快确认真伪(防止特洛伊木马等病毒),并对防火墙软件进行更新。

4.目前很难对防火墙进行测试验证

防火墙能否起到防护作用,最根本、最有效的证明方法是对其进行测试,甚至站在“黑客”的角度采用各种手段对防火墙进行攻击。然而具体执行时难度较大,主要原因是:

a.防火墙性能测试目前还是一种很新的技术,尚无正式出版刊物,可用的工具和软件更是寥寥无几。据了解目前只有美国ISS公司提供有防火墙性能测试的工具软件。

b.防火墙测试技术尚不先进,与防火墙设计并非完全吻合,使得测试工作难以达到既定的效果。

c.选择“谁”进行公正的测试也是一个问题。

可见,防火墙的性能测试决不是一件简单的事情,但这种测试又相当必要,进而提出这样一个问题:不进行测试,何以证明防火墙安全?

5.非法攻击防火墙的基本“招数”

a. IP地址欺骗攻击。许多防火墙软件无法识别数据包到底来自哪个网络接口,因此攻击者无需表明进攻数据包的真正来源,只需伪装IP地址,取得目标的信任,使其认为来自网络内部即可。IP地址欺骗攻击正是基于这类防火墙对IP地址缺乏识别和验证的机制而得成的。

b.破坏防火墙的另一种方式是攻击与干扰相结合。也就是在攻击期间使防火墙始终处于繁忙的状态。防火墙过分的繁忙有时会导致它忘记履行安全防护的职能,处于失效状态。

c.防火墙也可能被内部攻击。因为安装了防火墙后,随意访问被严格禁止了, 这样内部人员无法在闲暇的时间通过Telnet浏览邮件或使用FTP向外发送信息,个别人会对防火墙不满进而可能攻击它、破坏它,期望回到从前的状态。这里,攻击的目标常常是防火墙或防火墙运行的操作系统,因此不仅涉及网络安全,还涉及主机安全问题。

(三)防火墙的基本类型

实现防火墙的技术包括四大类:网络级防火墙(也叫包过滤型防火墙)、应用级网关、电路级网关和规则检查防火墙。

1.网络级防火墙

一般是基于源地址和目的地址、应用或协议以及每个IP包的端口来作出通过与否的判断。一个路由器便是一个“传统”的网络级防火墙,大多数的路由器都能通过检查这些信息来决定是否将所收到的包转发,但它不能判断出一个IP包来自何方,去向何处。

先进的网络级防火墙可以判断这一点,它可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。

下面是某一网络级防火墙的访问控制规则:

(1)允许网络123.1.0使用FTP(21口)访问主机150.0.0.1;

(2)允许IP地址为202.103.1.18和202.103.1.14的用户Telnet (23口)到主机150.0.0.2上;

(3)允许任何地址的E-mail(25口)进入主机150.0.0.3;

(4)允许任何WWW数据(80口)通过;

(5)不允许其他数据包进入。

网络级防火墙简洁、速度快、费用低,并且对用户透明,但是对网络的保护很有限,因为它只检查地址和端口,对网络更高协议层的信息无理解能力。

2.规则检查防火墙

该防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。它同包过滤防火墙一样, 规则检查防火墙能够在OSI网络层上通过IP地址和端口号,过滤进出的数据包。它也象电路级网关一样,能够检查SYN和ACK标记和序列数字是否逻辑有序。当然它也象应用级网关一样, 可以在OSI应用层上检查数据包的内容,查看这些内容是否能符合公司网络的安全规则。规则检查防火墙虽然集成前三者的特点,但是不同于一个应用级网关的是,它并不打破客户机/服务机模式来分析应用层的数据, 它允许受信任的客户机和不受信任的主机建立直接连接。规则检查防火墙不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据,这些算法通过已知合法数据包的模式来比较进出数据包,这样从理论上就能比应用级代理在过滤数据包上更有效。

目前在市场上流行的防火墙大多属于规则检查防火墙,因为该防火墙对于用户透明,在OSI最高层上加密数据,不需要你去修改客户端的程序,也不需对每个需要在防火墙上运行的服务额外增加一个代理。如现在最流行的防火墙之一OnTechnology软件公司生产的OnGuard和CheckPoint软件公司生产的FireWall-1防火墙都是一种规则检查防火墙。

从趋势上看,未来的防火墙将位于网络级防火墙和应用级防火墙之间,也就是说,网络级防火墙将变得更加能够识别通过的信息,而应用级防火墙在目前的功能上则向“透明”、“低级”方面发展。最终防火墙将成为一个快速注册稽查系统,可保护数据以加密方式通过,使所有组织可以放心地在节点间传送数据。

(四)防火墙的配置

防火墙配置有三种:Dual-homed方式、Screened-host方式和Screened-subnet方式。Dual-homed方式最简单。 Dual-homedGateway放置在两个网络之间,这个Dual-omedGateway又称为bastionhost。 这种结构成本低,但是它有单点失败的问题。这种结构没有增加网络安全的自我防卫能力,而它往往是受“黑客”攻击的首选目标,它自己一旦被攻破,整个网络也就暴露了。Screened-host方式中的Screeningrouter为保护Bastionhost的安全建立了一道屏障。它将所有进入的信息先送往Bastionhost,并且只接受来自Bastionhost的数据作为出去的数据。这种结构依赖Screeningrouter和Bastionhost,只要有一个失败,整个网络就暴露了。Screened-subnet包含两个Screeningrouter和两个Bastionhost。 在公共网络和私有网络之间构成了一个隔离网,称之为"停火区"(DMZ,即DemilitarizedZone),Bastionhost放置在"停火区"内。这种结构安全性好,只有当两个安全单元被破坏后,网络才被暴露,但是成本也很昂贵。

(五)防火墙的安全措施

各种防火墙的安全性能不尽相同。这里仅介绍一些一般防火墙的常用安全措施:

1.防电子欺骗术

防电子欺骗术功能是保证数据包的IP地址与网关接口相符,防止通过修改IP地址的方法进行非授权访问。还应对可疑信息进行鉴别,并向网络管理员报警。

2.网络地址转移

地址转移是对Internet隐藏内部地址,防止内部地址公开。这一功能可以克服IP寻址方式的诸多限制,完善内部寻址模式。把未注册IP地址映射成合法地址,就可以对Internet进行访问。

3.开放式结构设计

开放式结构设计使得防火墙与相关应用程序和外部用户数据库的连接相当容易,典型的应用程序连接如财务软件包、病毒扫描、登录分析等。

4.路由器安全管理程序

它为Bay和Cisco的路由器提供集中管理和访问列表控制。

(六)传统防火墙的五大不足

1.无法检测加密的Web流量

如果你正在部署一个光键的门户网站,希望所有的网络层和应用层的漏洞都被屏蔽在应用程序之外。这个需求,对于传统的网络防火墙而言,是个大问题。

由于网络防火墙对于加密的SSL流中的数据是不可见的,防火墙无法迅速截获SSL数据流并对其解密,因此无法阻止应用程序的攻击,甚至有些网络防火墙,根本就不提供数据解密的功能。

2、普通应用程序加密后,也能轻易躲过防火墙的检测

网络防火墙无法看到的,不仅仅是SSL加密的数据。对于应用程序加密的数据,同样也不可见。在如今大多数网络防火墙中,依赖的是静态的特征库,与入侵监测系统(IDS,Intrusion Detect System)的原理类似。只有当应用层攻击行为的特征与防火墙中的数据库中已有的特征完全匹配时,防火墙才能识别和截获攻击数据。

但如今,采用常见的编码技术,就能够地将恶意代码和其他攻击命令隐藏起来,转换成某种形式,既能欺骗前端的网络安全系统,又能够在后台服务器中执行。这种加密后的攻击代码,只要与防火墙规则库中的规则不一样,就能够躲过网络防火墙,成功避开特征匹配。

3、对于Web应用程序,防范能力不足

网络防火墙于1990年发明,而商用的Web服务器,则在一年以后才面世。基于状态检测的防火墙,其设计原理,是基于网络层TCP和IP地址,来设置与加强状态访问控制列表(ACLs,Access Control Lists)。在这一方面,网络防火墙表现确实十分出色。

近年来,实际应用过程中,HTTP是主要的传输协议。主流的平台供应商和大的应用程序供应商,均已转移到基于Web的体系结构,安全防护的目标,不再只是重要的业务数据。网络防火墙的防护范围,发生了变化。

对于常规的企业局域网的防范,通用的网络防火墙仍占有很高的市场份额,继续发挥重要作用,但对于新近出现的上层协议,如XML和SOAP等应用的防范,网络防火墙就显得有些力不从心。

由于体系结构的原因,即使是最先进的网络防火墙,在防范Web应用程序时,由于无法全面控制网络、应用程序和数据流,也无法截获应用层的攻击。由于对于整体的应用数据流,缺乏完整的、基于会话(Session)级别的监控能力,因此很难预防新的未知的攻击。

4、应用防护特性,只适用于简单情况

目前的数据中心服务器,时常会发生变动,比如:

★ 定期需要部署新的应用程序;

★ 经常需要增加或更新软件模块;

★ QA们经常会发现代码中的bug,已部署的系统需要定期打补丁。

在这样动态复杂的环境中,安全专家们需要采用灵活的、粗粒度的方法,实施有效的防护策略。

虽然一些先进的网络防火墙供应商,提出了应用防护的特性,但只适用于简单的环境中。细看就会发现,对于实际的企业应用来说,这些特征存在着局限性。在多数情况下,弹性概念(proof-of-concept)的特征无法应用于现实生活中的数据中心上。

比如,有些防火墙供应商,曾经声称能够阻止缓存溢出:当黑客在浏览器的URL中输入太长数据,试图使后台服务崩溃或使试图非法访问的时候,网络防火墙能够检测并制止这种情况。

细看就会发现,这些供应商采用对80端口数据流中,针对URL长度进行控制的方法,来实现这个功能的。

如果使用这个规则,将对所有的应用程序生效。如果一个程序或者是一个简单的Web网页,确实需要涉及到很长的URL时,就要屏蔽该规则。

网络防火墙的体系结构,决定了网络防火墙是针对网络端口和网络层进行操作的,因此很难对应用层进行防护,除非是一些很简单的应用程序。

5、无法扩展带深度检测功能

基于状态检测的网络防火墙,如果希望只扩展深度检测(deep inspection)功能,而没有相应增加网络性能,这是不行的。

真正的针对所有网络和应用程序流量的深度检测功能,需要空前的处理能力,来完成大量的计算任务,包括以下几个方面:

★ SSL加密/解密功能;

★ 完全的双向有效负载检测;

★ 确保所有合法流量的正常化;

★ 广泛的协议性能;

这些任务,在基于标准PC硬件上,是无法高效运行的,虽然一些网络防火墙供应商采用的是基于ASIC的平台,但进一步研究,就能发现:旧的基于网络的ASIC平台对于新的深度检测功能是无法支持的。

三、结束语

由于互联网络的开放性和通信协议的安全缺陷,以及在网络环境中数据信息存储和对其访问与处理的分布性特点,网上传输的数据信息很容易泄露和被破坏,网络受到的安全攻击非常严重,因此建立有效的网络安全防范体系就更为迫切。实际上,保障网络安全不但需要参考网络安全的各项标准以形成合理的评估准则,更重要的是必须明确网络安全的框架体系、安全防范的层次结构和系统设计的基本原则,分析网络系统的各个不安全环节,找到安全漏洞,做到有的放矢。

④ 学web安全前都需要掌握什么

1、基础网络协议/网站架构

互联网的本质也就是一系列的网络协议,不管是C/S架构还是B/S架构都是基于网络通信,渗透人员需要了解到通信流程以及数据包走向等,才能使用相应手段跟工具去做渗透。

Web网站常见的协议以及请求方式,这些在做渗透的时候必不可少的。甚至也是可以利用协议来做渗透测试。所有的知识都是息息相关的,必不可少。

2、基础的编程能力

一名Web渗透测试人员必须具有有一定的基础编程能力的,每天都跟代码打交道,如果不会写代码或者看不懂代码,十分吃亏。

例如需要自己写一款适合此刻情景漏洞的工具,如果不会写会极大降低效率。再者就是关于后续进阶的代码审计问题,如果不会写代码,代码也看不懂那么就不知道怎么从源代码去审计漏洞,去发现原因。

3、渗透测试工具

渗透测试工具网上开源的很多,作为渗透测试人员会使用渗透测试工具这是必不可少的。一些优秀的工具要学会利用,还有就是要学会自己写工具。例如在做渗透测试中,好比说大量的数据FUZZ,如果说人工操作将大大浪费时间跟效率。

如若网上的工具不符合此漏洞的情景,这时候就需要自己手动写工具去调试。当然网上优秀的工具已不少,优先使用会极大提高我们的效率。

4、了解网站的搭建构成

试着去了解一个网站的形成架构,语言,中间件容器等。如果不知道一个网站是如何搭建起来的,那么做渗透的时候根本就没有对应的渗透测试方案。例如一个网站采用了某种中间件,或者什么数据库,再或者是采用网上开源的CMS。

如果对于这些不了解,那么就只能在网页上徘徊游走,甚至无从下手。了解一个网站的搭建与构成,对于前期做踩点与信息收集有着很大的帮助。

5、漏洞原理(重要)

渗透测试人员肯定是要对漏洞原理去深入研究探究,这样会从中发现更多有“趣”的东西。所有有“趣”的东西是可能你在原有的基础漏洞上配合其他漏洞,从而达到组合漏洞,这样效果有可能会更佳,不过不去了解漏洞原理,漏洞产生,不去从代码层出发。

那就不知道漏洞起因,到后期的渗透利用以及修复方案,就会显得吃力,这时候有可能你就需要去查资料,从某种形式的降低了速度与效率,所以,知识与积累必不可少。

6、报告撰写能力

每次做完渗透测试之后,都是需要一个渗透测试报告,对于漏洞挖掘的梳理,网络结构印象加深,这是后期与客户沟通还有与开发对接提修复建议能起到很大的帮助,这些细小的细节决定着你服务的质量与责任感,因此需要不断的积累与提升。

⑤ 国内外有哪些关于web安全的开发和研究,现水平如何

web安全 是未来主要的被攻击对象,占安全威胁35%以上,目前最先进的技术是 AI Security 使用人工湖智能的方式去防御不知道或已经知道的安全威胁,这方面国内只有两家企业有这块核心的技术,分别是:网络安全 与 中云网安。为甚么要用人工智能去抵御攻击,不是人工智能有多先进,而是黑客行为已经在使用 AI 人工智能的方式在制造传统无法抵御与方法在攻击比以往成百倍计算能力的攻击行为,所有一切传统的安全防范只要一击必垮,所以,只有一物治一物,必须对症下药才能防护得住 。

⑥ web安全要学什么

Web安全的范围实在太大,哪些先学,哪些后学,如果没有系统的路线会降低大家效率,对于刚入门的同学们来说简直就是“噩梦”。所以,这篇类似学习路线的文章,希望可以帮助刚入门的萌新们少走弯路。(文末附学习资料及工具领取)

首先我们来看看企业对Web安全工程师的岗位招聘需求是什么?

1职位描述

  • 对公司各类系统进行安全加固;

  • 对公司网站、业务系统进行安全评估测试(黑盒、白盒测试)

  • 对公司安全事件进行响应、清理后门、根据日志分析攻击途径

  • 安全技术研究,包括安全防范技术、黑客技术等;

  • 跟踪最新漏洞信息,进行业务产品的安全检查。

  • 2岗位要求

  • 熟悉Web渗透测试方法和攻防技术,包括SQL注入、XSS跨站、CSRF伪造请求、命令执行等OWSP TOP10 安全漏洞与防御;

  • 熟悉Linux、Windows不同平台的渗透测试,对网络安全、系统安全、应用安全有深入理解和自己的认识;

  • 熟悉国内外安全工具,包括Kali、Linux、Metasploit、Nessus、Namp、AWVS、Burp等;

  • 对Web安全整体有深刻理解,有一定漏洞分析和挖掘能力;

  • 根据岗位技能需求,再来制定我们的学习路径,如下:

    一、Web安全学习路径


    01 HTTP基础

    只有搞明白Web是什么,我们才能对Web安全进行深入研究,所以你必须了解HTTP,了解了HTTP,你就会明白安全术语的“输入输出”。黑客通过输入提交“特殊数据”,特殊数据在数据流的每个层处理,如果某个层没处理好,在输出的时候,就会出现相应层的安全问题。关于HTTP,你必须要弄明白以下知识:

    HTTP/HTTPS特点、工作流程

    HTTP协议(请求篇、响应篇)

    了解HTML、Javascript

    Get/Post区别

    Cookie/Session是什么?

    02 了解如下专业术语的意思

    Webshell
    菜刀
    0day
    SQL注入
    上传漏洞
    XSS
    CSRF
    一句话木马

    ......

    03 专业黑客工具使用

    熟悉如何渗透测试安全工具,掌握这些工具能大大提高你在工作的中的效率。

    Vmware安装

    Windows/kali虚拟机安装

    Phpstudy、LAMP环境搭建漏洞靶场

    Java、Python环境安装

    子域名工具 Sublist3r

    Sqlmap
    Burpsuite
    Nmap
    W3af
    Nessus
    Appscan
    AWVS

    04 XSS

    要研究 XSS 首先了解同源策略 ,Javascript 也要好好学习一下 ,以及HTML实体 HTML实体的10 或16进制还有Javascript 的8进制和16进制编码,最终掌握以下几种类型的XSS:

    反射型 XSS:可用于钓鱼、引流、配合其他漏洞,如 CSRF 等。

    存储型 XSS:攻击范围广,流量传播大,可配合其他漏洞。

    DOM 型 XSS:配合,长度大小不受限制 。

    05 SQL注入

    所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。你需要了解以下知识:

    SQL 注入漏洞原理
    SQL 注入漏洞对于数据安全的影响
    SQL 注入漏洞的方法
    常见数据库的 SQL 查询语法
    MSSQL,MYSQL,ORACLE 数据库的注入方法
    SQL 注入漏洞的类型:数字型注入 、字符型注入、搜索注入 、盲注(sleep注入) 、Sqlmap使用、宽字节注入

    SQL 注入漏洞修复和防范方法
    一些 SQL 注入漏洞检测工具的使用方法

    06 文件上传漏洞

    了解下开源编辑器上传都有哪些漏洞,如何绕过系统检测上传一句话木马、WAF如何查杀Webshell,你必须要掌握的一些技能点:

    1.客户端检测绕过(JS 检测)

    2.服务器检测绕过(目录路径检测)

    3.黑名单检测

    4.危险解析绕过攻击

    5..htaccess 文件

    6.解析调用/漏洞绕过

    7.白名单检测

    8.解析调用/漏洞绕过

    9.服务端检测绕过-文件内容检测

    10.Apache 解析漏洞

    11.IIS 解析漏洞

    12.Nginx 解析漏洞

    07 文件包含漏洞

    去学习下
    include() include_once() require() require_once() fopen() readfile()
    这些php函数是如何产生文件包含漏洞, 本地包含与远程包含的区别,以及利用文件包含时的一些技巧如:截断 /伪url/超长字符截断等 。

    08 命令执行漏洞

    PHP代码中常见的代码执行函数有:
    eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。
    了解这些函数的作用然后些搞清楚如何造成的代码执行漏洞。

    09 CSRF 跨站点请求

    为什么会造成CSRF,GET型与POST型CSRF 的区别, 如何防御使用 Token防止CSRF?

    010 逻辑漏洞

    了解以下几类逻辑漏洞原理、危害及学会利用这几类漏洞:

    信息轰炸、支付逻辑漏洞、任意密码修改、越权访问、条件竞争、任意注册、任意登录、顺序执行缺陷、URL跳转漏洞.

    011 XEE(XML外部实体注入)

    当允许XML引入外部实体时,通过构造恶意内容,可以导致文件读取、命令执行、内网探测等危害。

    012 SSRF

    了解SSRF的原理,以及SSRF的危害。
    SSRF能做什么?当我们在进行Web渗透的时候是无法访问目标的内部网络的,那么这个时候就用到了SSRF漏洞,利用外网存在SSRF的Web站点可以获取如下信息。
    1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
    2.攻击运行在内网或本地的应用程序(比如溢出);
    3.对内网Web应用进行指纹识别,通过访问默认文件实现;
    4.攻击内外网的Web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);
    5.利用file协议读取本地文件等。

    如果上述漏洞原理掌握的都差不多那么你就算入门Web安全了。

    如果看了上面你还不知道具体如何学习?可参考合天网安实验室Web安全工程师岗位培养路径学习:网页链接