Web安全防护一、Web安全简介二、Web攻击来源1、客户端2、服务器3、通道三、Web应用基本组成部分URL工作过程HTTP/HTTPSHTTP有两类报文HTTP请求报头HTTP协议请求方法状态码状态码组成三、Cookie概述Cookie和Session的关系四、Web攻击1、注入漏洞SQL注入步骤2、跨站脚本基本跨站类型3、跨站请求伪造跨站请求伪造攻击原理五、Web安全防御手段1、从Web架构上防御行为规范2、从Web语音上防御Web应用系统防御/入侵检测3、从通信通道上防御Anti-DDos六、URL地址结构URL过滤原理URL过滤总体流程七、恶意URL来源恶意URL检测控制八、Web信誉体系应用场景Web信誉体系工作流程Web信誉体系分类Web应用系统安全缺陷1、程序设计安全隐患2、配置管理安全隐患3、运行平台安全漏洞九、WAF工作流程WAF处理架构十、DDOSCC攻击十一、X-Forwarded-For一、Web安全简介**web安全简介**传统网络层面的攻击与防御手段都日趋成熟随着应用市场的爆炸性发展基于Web的应用也逐渐增多。在此背景下Web应用更是成为了黑客瞄准的重要目标。二、Web攻击来源Web的攻击来源主要可以根据Web应用的实现机制从以下三个方面来探讨。1、客户端网站木马钓鱼欺骗活动内容攻击2、服务器web服务器的漏洞授权、认证攻击跨站脚本攻击SQL注入3、通道Dos、CC攻击窃听SSL重定向三、Web应用基本组成部分Web基于客户端client/服务器Server架构实现包含三个部分使用HTML (HyperText Mark-up Language) 描述文件使用URL(Uniform Resource Locator) 指定文件的所在透过HTTP (HyperText Transfer Protocol) 协议与服务器沟通对一个网站进行渗透测试1、手机信息ping网站解析ip地址大型的网站都部署有CDN【加速访问】就近访问网站源在深圳北京有站点缓存北京用户有限访问北京这边普通ping基本都是CDN的地址。URL工作过程URL连接可以执行JavaScript代码HTTP/HTTPS**HTTPHypertext Transfer Protocol**是一种无状态的协议基于简单的请求-响应模式requests/responses。HTTP有两类报文请求报文一从客户端向服务器发送请求报文响应报文一从服务器到客户端的回答HTTP包请求GET获取路径和响应ReplayHTTP请求报头一个HTTP请求报文由请求行**request line、请求头部header**、空行和请求数据4个部分组成。请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成它们用空格分隔。例如GET /index.html HTTP/1.1.HTTP协议请求方法HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。**GET**读取由URL所标识的信息。**OPTION**请求一些选项的信息。**HEAD**请求读取URL所标识信息的首部。**POST**给服务器添加信息。**PUT**在指明的URL下存储一个文档。**DELETE**删除指明的URL所标志的资源。**TRACE**用来进行环回测试的请求报文。**CONNECTHTTP**用于代理服务器。状态码所有HTTP响应的第一行都是状态行依次是当前HTTP版本号3位数字组成的状态代码以及描述状态的短语彼此由空格分隔。格式为HTTP-Version Status-Codeeason-Phrase CRLF。如: HTTP/1.1200 OK。其中HTTP-Version表示服务器HTTP协议的版本。Status-Code表i不服务器发回的响应状态代码。Reason-Phrase表示状态代码的描述。状态码组成状态代码由三位数字组成第一个数字定义了向应的类别且有五种可能取值。**1xx**信息–表示请求已接收继续处理。**2xx**成功–表示请求已被成功接收、理解、接受。如:200 0K请求成功。**3xx**重定向–要完成请求必须进行更进一步的操作。**4xx**请求错误–请求有语法错误或请求无法实现。如400 Bad Request客户端请求有语法错误不能被服所理解。403 Forbidden服务器收到请求但是拒绝提供服务。404 Not Found请求资源不存在。**5xx**服务器端错误–服务器未能实现合法的请求。如503 Server Unavailable服务器当前不能处理客户端的请求。三、Cookie概述Cookie是一种在客户端保持HTTP状态信息的技术由Web服务器将其携带在响应报文中发送给客户端浏览器。Cookie和Session的关系浏览器存放Cookie服务器存放Sessioon ID。用户请求使用Session页面时Web服务器产生Session和一个Session-id并返回临时Cookie (Keysessionid)。用户第二次请求Session页面会自动带上Cookie信息Web服务器接收请求并通过Sessionid读取Session把信息返回用户。SessionID是保存到客户端用Cookie保存的用户提交页面时会将这一SessionID提交到服务器端来存取Session数据。这一过程是不用开发人员干预的。所以一旦客户端禁用Cookie那么Session也会失效。Cookie是保存在客户端的Session是保存在服务器端的。Cookie是保存在客户端的这导致了Cookie的不可靠性。而Session虽然保存在服务器端但由于用户会获得Session的一个标记称为Sessionid这个id是用Cookie保存的这导致了Session的不安全性。同时通过一些抓包工具也可以达到盗用Session的目的。为了提高Session的安全性和Cookie的可靠性可以给它们设置过期增加签名内容同时可以限制用户IP。OWASP开源Web应用安全项目一个组织发布web安全的漏洞。需要重点关注的三个攻击注入跨站脚本XSS跨站请求伪造CSRF四、Web攻击1、注入漏洞注入漏洞发生在应用程序将不可信的数据发送到解释器时。注入漏洞的本质就是混淆数据和执行代码使输入的数据变成可执行的语句。其中SQL注入攻击是最常见、危害最严重的注入攻击。注入能导致数据丢失**注入dele删除或数据破坏数据覆盖操作、缺乏可审计性或是拒绝服务。注入漏洞有时甚至能导致完全主机接管注入反向TCP代码控制服务器**。攻击者提供一段代码给服务器比如把code和date数据进行发送服务器进行计算不小心执行了。构建特殊语句使数据库执行数据库返回值SQL注入步骤判断是否存在注入漏洞比如and 11,or’1’1等。数据库类型判断单引号、;–一个分号两个横线。获取数据库数据或Dump整个数据库。提权and existsselect count(/*)from2、跨站脚本跨站脚本**xSS**是近年来最为流行的网络攻击方式之一已经占到了网络攻击相当大的比例众多网站如著名的Facebook等都遭遇过此类攻击。国内知名的新浪微博遭遇的网络病毒实际上也是跨站脚本漏洞所导致的。从本质上看跨站脚本实际上是一种恶意代码执行的方式。主要原因在于网站对于用户提交的数据过滤不严格导致问题产生。基本跨站类型反射型存储型XSS起初的危害主要是盗取用户的Cookie信息。Cookie信息中包含了浏览者和网站服务器之间的常用记录包括登录记录、浏览记录等。如果攻击者得到了用户的Cookie信息可以模仿用户和网站进行交互得到更多想要的数据。例如攻击者在某论坛上发布一个URL链接当用户点击该链接后用户的浏览器就会将Cookie信息发送到攻击者的网站。攻击者收集到Cookie信息后可以以浏览者身份访问网站、进入邮箱等继续窃取私人信息。跨站脚本简称为CSS**Cross Site Scripting因为容易和另一个名“层叠样式表”Cascading Style Sheets.CSS**混淆为了区别网络安全人士习惯将其简称为XSS攻击。反射型跨站代码一般存在于链接中请求这样的链接时跨站代码经过服务端反射回来这类跨站的代码一般不存储到服务端。反射型跨站脚本攻击实例3、跨站请求伪造CSRF**Cross-site request forgery**跨站请求伪造也被称成为oneclick attack或者session riding通常缩写为CSRF或者XSRF是一种对网站的恶意利用。尽管听起来像跨站脚本 (XSS)但它与XSS非常不同并且攻击方式几乎相左。XSS利用站点内的信任用户而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。用户登录真站产生Cookie然后不登录出真网站的情况下弹出一个弹窗点击后进行302重定向到黑客网站。跨站请求伪造攻击原理五、Web安全防御手段1、从Web架构上防御行为规范URL过滤规范上网行为Web信誉体系防范恶意网页站点2、从Web语音上防御Web应用系统防御/入侵检测针对服务器端漏洞、数据库防御防范跨站脚本等类型攻击3、从通信通道上防御Anti-DDos防范HTTP-Flood攻击六、URL地址结构URL过滤原理URL过滤总体流程七、恶意URL来源沙箱联动场景沙箱检测到恶意URL。AV检测到的带恶意文件的URL。低信誉URL。恶意URL检测控制URL配置文件的恶意URL检测开关开启时依次检测上述恶意URL。八、Web信誉体系应用场景Web信誉用于描述网站的可信程度信誉度高的网站上文件的安全性也高。FW根据网站信誉度的高低决定是否提取出网络流量中的文件并进行威胁检测。URL信誉反映了用户访问的URL是否值得信赖。利用远程查询服务获取URL的信誉值并对低信誉的URL实施阳断。Web信誉体系工作流程Web信誉体系分类按照不同的信誉度Web信誉功能将网站分为4类预定义可信网站自定义可疑网站a自定义可信网站0未知网站Web应用系统安全缺陷1、程序设计安全隐患不安全的用户访问处理机不安全的数据验证机制不安全的系统边界防护机制程序编写安全缺陷2、配置管理安全隐患服务器配置管理安全缺陷数据库配置管理安全缺陷发布平台配置管理安全缺陷应用自身配置管理安全缺陷3、运行平台安全漏洞应用服务器安全漏洞数据库管理系统安全漏洞发布平台安全漏洞九、WAF工作流程WAF主要由执行前端、后端中心系统及数据库组成。WAF处理架构**协议重组**WAF绕过HTTP包允许GET内容拆成N个包最后组起来就是一个注入攻击。十、DDOSCC攻击CC攻击一个网站有多个资源每个人看到资源都不一样黑客伪装无穷多ID号去获取资源服务器去根据ID号查数据库没有这个人不停返回ID错误数据库被耗死新的人进来由于数据库忙碌没法提供服务无穷的访问请求。CC攻击是指利用大量代理服务器对目标计算机发起大量连接导致目标服务器资源枯竭造成拒绝服务和传统的网络层DDOS攻击方法的不同的是CC攻击一般针对WEB页面进行攻击首先黑客会寻找比较耗费服务器资源的页面然后使用代理将CC攻击转发到服务器由于服务器接收到大量CC攻击而造成服务服务器资源枯竭从而造成拒绝服务CC攻击危害十分大严重影响网站的正常运行。CC攻击防护基于用户单位时间内发起请求的页面和请求数进行统计当WAF发现单个客户端在一定时间内发起非正常页面请求次数将该客户端锁定至黑名单中一定时间从而达到CC攻击的防御。**高速缓存防篡改技术**提前缓存比如图片这种素材即使黑客把网站原始素材改了后边的人要访问这个素材直接从缓存里边给到。双向SSL基于HTTPS的应用系统在网络环境常规的设备无法识别传输的应用数据更无法识别来自应用层的攻击。要对HTTPS应用进行应用防护必须要求WAF能良好的支持HTTPS协议并能对SSL数据流进行中继。有了地址组和端口组我们可以把一个部门所有主机的IP地址定义到一个地址组中或把一类服务加入端口组中实现功能需要导入的证书实现HTTPS双向代理接入无需改变网络。十一、X-Forwarded-ForSSL下源IP解析X-Forwarded-For在某些复杂环境可能会经过多层代理每次代理后都会把转换前的IP加在X-Forwarded-For头部。X-Forwarded-For格式如下X-Forwarded-For:cient1,proxy1,proxy2。如头部为X-Forwarded-For115.238.8.8,192.168.1.1那么在反向代理级数选1的情况下日志显示的源IP为192.168.1.1如果配置为2则显示115.238.8.8。X-Forwarded-For起到的作用就是标明经过代理来这里可能有多次代理字段中就会有多个你回的时候也要经过代理回去保持来回路径一致。《网络安全从零到精通全套学习大礼包》96节从入门到精通的全套视频教程免费领取如果你也想通过学网络安全技术去帮助就业和转行我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。网络安全学习路线图想要学习 网络安全作为新手一定要先按照路线图学习方向不对努力白费。对于从来没有接触过网络安全的同学我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线大家跟着这个路线图学习准没错。配套实战项目/源码所有视频教程所涉及的实战项目和项目源码学习电子书籍学习网络安全必看的书籍和文章的PDF市面上网络安全书籍确实太多了这些是我精选出来的面试真题/经验以上资料如何领取片描述](https://i-blog.csdnimg.cn/direct/5458f21c6efa4e739621ffb5d4309b20.jpeg#pic_center)面试真题/经验以上资料如何领取