当前位置: 首页 > news >正文

wordpress网站外包建站模板

wordpress网站外包,建站模板,wordpress媒体库缩略图不现实,微信小程序报价单Web 应用防火墙#xff08;Web Application Firewall#xff0c; WAF#xff09;通过对 HTTP(S) 请求进行检测#xff0c;识别并阻断 SQL 注入、跨站脚本攻击、跨站请求伪造等攻击#xff0c;保护 Web 服务安全稳定。 Web 安全是所有互联网应用必须具备的功能#xff0c…Web 应用防火墙Web Application Firewall WAF通过对 HTTP(S) 请求进行检测识别并阻断 SQL 注入、跨站脚本攻击、跨站请求伪造等攻击保护 Web 服务安全稳定。 Web 安全是所有互联网应用必须具备的功能没有安全防护的应用犹如怀揣珠宝的儿童独自行走在盗贼环伺的黑夜里。我们准备开发一个 Web 应用防火墙该防火墙可作为 Web 插件部署在 Web 应用或者微服务网关等 HTTP 服务的入口拦截恶意请求保护系统安全。我们准备开发的 Web 应用防火墙名称为“SkyNet 天网”。 需求分析 HTTP 请求发送到 Web 服务器时请求首先到达 SkyNet 防火墙防火墙判断请求中是否包含恶意攻击信息。如果包含防火墙根据配置策略可选择拒绝请求返回 418 状态码也可以将请求中的恶意数据进行消毒处理也就是对恶意数据进行替换或者插入某些字符从而使请求数据不再具有攻击性然后再调用应用程序处理。如下图 SkyNet需要处理的攻击和安全漏洞列表 概要设计 SkyNet能够发现恶意攻击请求的主要手段是对 HTTP 请求内容进行正则表达式匹配将各种攻击类型可能包含的恶意内容构造成正则表达式然后对 HTTP 请求头和请求体进行匹配。如果匹配成功那么就触发相关的处理逻辑直接拒绝请求或者将请求中的恶意内容进行消毒即进行字符替换使攻击无法生效。 其中恶意内容正则表达式是通过远程配置来获取的。如果发现了新的攻击漏洞远程配置的漏洞攻击正则表达式就会进行更新并在所有运行了 SkyNet防火墙的服务器上生效拦截新的攻击。组件图如下 HTTP 请求先到达请求过滤器请求过滤器提取 HTTP 请求头和 HTTP 请求体中的数据这个过滤器其实就是 Java 中的 Filter。过滤器调用漏洞策略处理器进行处理而漏洞策略处理器需要调用漏洞定义文件加载模块获得漏洞定义规则漏洞定义文件加载模块缓存了各种漏洞定义规则文件如果缓存超时就从远程配置中心重新加载漏洞定义规则。 漏洞定义规则文件是 SkyNet的核心该文件定义了攻击的正则表达式过滤器正是通过使用这些正则表达式匹配 HTTP 请求头和 HTTP 请求体的方式识别出 HTTP 请求中是否存在攻击内容。同时漏洞定义规则文件中还定义了发现攻击内容后的处理方式是拒绝请求跳转到出错页面还是采用消毒的方式将攻击内容字符进行替换。 漏洞规则定义文件采用 XML 格式示例如下 ?xml version1.0?recipeattacktypeSqlpath^/protectfolder/.*$descriptionSql injection attacksruleSetstage requestcondition oractionnameforwardargerror.html/ruleoperator regexarg paramNames[*]value select|update|delete|count|*|sum|master|script||declare|or|execute|alter|statement|executeQuery|count|executeUpdate//ruleSetruleSetstage responsecondition oractionname replacearg /ruleoperator regexarg responseBody value (//.\n)|(/\*\*.\*/)|(!--.*--)//ruleSet/recipe recipe 是漏洞定义文件的根标签属性 attacktype 表示处理的攻击类型有以下几种。 SQL SQL 注入攻击 XSS 跨站点脚本攻击 CSC 注释与异常信息泄露 CSRF 跨站点请求伪造 FB 路径遍历与强制浏览 path 表示要处理的请求路径可以为空表示处理所有请求路径。 ruleSet 是漏洞处理规则集合一个漏洞文件可以包含多个 ruleSet。stage 标签表示处理的阶段请求阶段request响应阶段response。condition 表示和其他规则的逻辑关系“or”表示“或”关系即该规则处理完成后其他规则不需要再处理“and”表示“与”关系该规则处理完成后其他规则还需要再处理。 action 表示发现攻击后的处理动作。“forward”表示表示跳转到出错页面后面的“arg”表示要跳转的路径“replace”表示对攻击内容进行替换即所谓的消毒使其不再具有攻击性后面的“arg”表示要替换的内容。 rule 表示漏洞规则触发漏洞规则就会引起 action 处理动作。operator 表示如何匹配内容中的攻击内容“regex”表示正则表达式匹配“urlmatch”表示 URL 路径匹配。“arg”表示要匹配的目标可以是 HTTP 请求参数名、请求参数值、请求头、响应体、ULR 路径。“value”就是匹配攻击内容的正则表达式。 详细设计 SkyNet 可以处理的攻击类型有哪些它们的原理是什么SkyNet 对应的处理方法又是什么详细设计将解决这些问题。 XSS 跨站点脚本攻击 XSS 攻击即跨站点脚本攻击 (Cross Site Script)指黑客通过篡改网页注入恶意 JavaScript 脚本在用户浏览网页时控制用户浏览器进行恶意操作的一种攻击方式。 常见的 XSS 攻击类型有两种一种是反射型攻击者诱使用户点击一个嵌入恶意脚本的链接达到攻击的目的。如图 攻击者发布的微博中有一个含有恶意脚本的 URL在实际应用中该脚本在攻击者自己的服务器 www.2kt.cn 上URL 中包含脚本的链接用户点击该 URL会自动关注攻击者的新浪微博 ID发布含有恶意脚本 URL 的微博攻击就被扩散了。 另外一种 XSS 攻击是持久型 XSS 攻击黑客提交含有恶意脚本的请求保存在被攻击的 Web 站点的数据库中用户浏览网页时恶意脚本被包含在正常页面中达到攻击的目的。如图 此种攻击经常使用在论坛、博客等 Web 应用中。 SkyNet 采用正则表达式匹配含有 XSS 攻击内容的请求正则表达式如下 (?:\b(?:on(?:(?:mo(?:use(?:o(?:ver|ut)|down|move|up)|ve)|key(?:press|down|up)|c(?:hange|lick)|s(?:elec|ubmi)t|(?:un)?load|dragdrop|resize|focus|blur)\b\W*?|abort\b)|(?:l(?:owsrc\b\W*?\b(?:(?:java|vb)script|shell)|ivescript)|(?:href|url)\b\W*?\b(?:(?:java|vb)script|shell)|background-image|mocha):|type\b\W*?\b(?:text\b(?:\W*?\b(?:j(?:ava)?|ecma)script\b|[vbscript])|application\b\W*?\bx-(?:java|vb)script\b)|s(?:(?:tyle\b\W*.*\bexpression\b\W*|ettimeout\b\W*?)\(|rc\b\W*?\b(?:(?:java|vb)script|shell|http):)|(?:c(?:opyparentfolder|reatetextrange)|get(?:special|parent)folder)\b|a(?:ctivexobject\b|lert\b\W*?\())|(?:(?:body\b.*?\b(?:backgroun|onloa)d|input\b.*?\\btype\b\W*?\bimage)\b|!\[CDATA\[|script|meta)|(?:\.(?:(?:execscrip|addimpor)t|(?:fromcharcod|cooki)e|innerhtml)|\import)\b) 匹配成功后根据漏洞定义文件可以选择 forward 到错误页面也可以采用 replace 方式进行消毒replace 消毒表如下 在 XSS 攻击字符前后加上“nbsp;”字符串使得攻击脚本无法运行同时在浏览器显示的时候不会影响显示内容。 SQL 注入攻击 SQL 注入攻击的原理如下 攻击者在 HTTP 请求中注入恶意 SQL 命令 (drop table users;)服务器用请求参数构造数据库 SQL 命令时恶意 SQL 被一起构造并在数据库中执行。 如果在 Web 页面中有个输入框要求用户输入姓名普通用户输入一个普通的姓名 Frank那么最后提交的 HTTP 请求如下 http://www.a.com?usernameFrank 服务器在处理计算后向数据库提交的 SQL 查询命令如下 Select id from users where usernameFrank; 但是恶意攻击者可能会提交这样的 HTTP 请求 http://www.a.com?usernameFrank;drop table users;-- 即输入的 uername 是 Frank;drop table users;-- 这样服务器在处理后最后生成的 SQL 是这样的 Select id from users where usernameFrank;drop table users;--; 事实上这是两条 SQL一条 select 查询 SQL一条 drop table 删除表 SQL。数据库在执行完查询后就将 users 表删除了系统崩溃了。 处理 SQL 注入攻击的 rule 正则表达式如下。 (?:\b(?:(?:s(?:elect\b(?:.{1,100}?\b(?:(?:length|count|top)\b.{1,100}?\bfrom|from\b.{1,100}?\bwhere)|.*?\b(?:d(?:ump\b.*\bfrom|ata_type)|(?:to_(?:numbe|cha)|inst)r))|p_(?:(?:addextendedpro|sqlexe)c|(?:oacreat|prepar)e|execute(?:sql)?|makewebtask)|ql_(?:longvarchar|variant))|xp_(?:reg(?:re(?:movemultistring|ad)|delete(?:value|key)|enum(?:value|key)s|addmultistring|write)|e(?:xecresultset|numdsn)|(?:terminat|dirtre)e|availablemedia|loginconfig|cmdshell|filelist|makecab|ntsec)|u(?:nion\b.{1,100}?\bselect|tl_(?:file|http))|group\b.*\bby\b.{1,100}?\bhaving|load\b\W*?\bdata\b.*\binfile|(?:n?varcha|tbcreato)r|autonomous_transaction|open(?:rowset|query)|dbms_java)\b|i(?:n(?:to\b\W*?\b(?:dump|out)file|sert\b\W*?\binto|ner\b\W*?\bjoin)\b|(?:f(?:\b\W*?\(\W*?\bbenchmark|null\b)|snull\b)\W*?\()|(?:having|or|and)\b\s?(?:\d{1,10}|[^]{1,10})\s*?[]|(?:print\]\b\W*?\|root)\|c(?:ast\b\W*?\(|oalesce\b))|(?:;\W*?\b(?:shutdown|drop)|\\version)\b|(?:s(?:qloledb|a)|msdasql|dbo)) 从请求中匹配到 SQL 注入攻击内容后可以设置跳转错误页面也可以选择消毒 replacereplace 表如下 CSRF 跨站点请求伪造攻击 CSRF(Cross Site Request Forgery跨站点请求伪造)攻击者通过跨站请求以合法用户的身份进行非法操作如转账交易、发表评论等如图 CSRF 的主要手法是利用跨站请求在用户不知情的情况下以用户的身份伪造请求。其核心是利用了浏览器 Cookie 或服务器 Session 策略盗取用户身份。 SkyNet的防攻击策略是过滤器自动在所有响应页面的表单 form 中添加一个隐藏字段合法用户在提交请求的时候会将这个隐藏字段发送到服务器防火墙检查隐藏字段值是否正确来确定是否为 CSRF 攻击。恶意用户的请求是自己伪造的无法构造这个隐藏字段就会被防火墙拦截。 注释与异常信息泄露 为调试程序方便或其他不恰当的原因有时程序开发人员会在前端页面程序中使用 HTML 注释语法进行程序注释这些 HTML 注释就会显示在客户端浏览器给黑客造成攻击便利。 此外许多 Web 服务器默认是打开异常信息输出的即服务器端未处理的异常堆栈信息会直接输出到客户端浏览器这种方式虽然对程序调试和错误报告有好处但同时也给黑客造成可乘之机。黑客通过故意制造非法输入使系统运行时出错获得异常信息从而寻找系统漏洞进行攻击。 匹配 HTML 注释的正则表达式如下 “lt;!--(.|#x000A;|#x000D;)*--gt;” 如果匹配到 HTML 注释就用空字符串 replace 该注释。 对于异常信息泄露SkyNet会检查响应状态码。如果响应状态码为 500 系列错误则会进一步匹配响应体内容检查是否存在错误堆栈信息。
http://www.pierceye.com/news/5225/

相关文章:

  • 做试管的网站什么网站做的很好
  • 网站制作 语言选择怎么做有没有教做熟食的网站
  • 钦州市网站建设手机网站大全排行
  • 昆山做网站怎么做房地产开发公司是做什么的
  • 北京服饰网站建设济南高风险区最新通告
  • 如何规划建设一个企业网站曼奇立德原画培训学费
  • 建设摩托车报价大全网页优化方案
  • 拓者设计吧网站官网arukas搭建wordpress
  • 宝塔建设网站教程客户网站建设洽谈方案
  • 沈阳 网站开发有哪几个网站可以做贸易
  • 手机建站服务网站口碑推广
  • 目前比较流行的公司网站建站技术海口 网站制作公司
  • 网站自己怎么做直播百度竞价推广后台
  • wap织梦手机网站wordpress文章更新后
  • 公司网站建设意见申诉网站风险
  • 高端的佛山网站建设wordpress+播放列表
  • 优秀的网站设计图片wordpress文章在哪个文件夹
  • 佛山优化网站公司北京齐力众信网站建设
  • 网站后台账户如何做会计分录天津网站建设zhy88
  • 恩施seo整站优化哪家好钢笔工具网站
  • 我用帝国做的网站上传到别一个服务器上重新邦了一个域名如何做网站的主页
  • 长沙有哪个学校可以学网站建设个人怎么开网站
  • wordpress主题站模板下载连江可门港建设发展有限公司网站
  • 烟台定制网站建设电话阜新网站开发
  • 江门做网站多少钱口腔网站设计图
  • 青岛企业网站制作百度软件
  • 用vs代码做网站宣传文案模板
  • 深圳工业设计大展南宁市优化网站
  • 创建网站的ip地址怎么获得深圳企业黄页信息查询
  • 订餐网站开发有什么做任务的网站吗