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

公司申请网站建设的工作方案网络营销策划的流程

公司申请网站建设的工作方案,网络营销策划的流程,wordpress 使用ajax,一键生成动画视频本系列文章分享JavaScript语言常见的安全漏洞,漏洞的原理,可能导致的安全问题,以及如何防御与避免。本文分享的是跨站脚本攻击(Cross Sites Script)。 一、漏洞描述 跨站脚本攻击,Cross Site Script&…

本系列文章分享JavaScript语言常见的安全漏洞,漏洞的原理,可能导致的安全问题,以及如何防御与避免。本文分享的是跨站脚本攻击(Cross Sites Script)。

一、漏洞描述

跨站脚本攻击,Cross Site Script(简称 CSS或)。指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本(主要是JavaScript脚本),从而在用户浏览网页时,控制用户浏览器的一种攻击。

二、会造成的后果

挂马

盗取用户Cookie。

钓鱼攻击,高级的钓鱼技巧。

删除目标文章、恶意篡改数据、嫁祸。

劫持用户Web行为,甚至进一步渗透内网。

爆发Web2.0蠕虫。

蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据

其它安全问题

三、攻击方式

在 HTML 中内嵌的文本中,恶意内容以 script 标签形成注入。

在内联的 JavaScript 中,拼接的数据突破了原本的限制(字符串,变量,方法名等)。

在标签属性中,恶意内容包含引号,从而突破属性值的限制,注入其他属性或者标签。

在标签的 href、src 等属性中,包含 javascript: 等可执行代码。

在 onload、onerror、onclick 等事件中,注入不受控制代码。

在 style 属性和标签中,包含类似 background-image:url("javascript:..."); 的代码(新版本浏览器已经可以防范)。

在 style 属性和标签中,包含类似 expression(...) 的 CSS 表达式代码(新版本浏览器已经可以防范)。

......

四、如何避免

通用建议

1. 验证所有来源的所有输入。验证应使用白名单:仅接受适合指定结构的数据,而不是拒绝不对的模式。检查:

数据类型

大小

范围

格式

预期值

2. 完全编码所有动态数据,然后再将其嵌入网页。编码应该是上下文敏感的。例如:

用于 HTML 内容的 HTML 编码。

用于输出数据到特性值的 HTML 特性编码。

JavaScript 的 JavaScript 编码。

3. 考虑使用 ESAPI4JS 编码库。

具体防御方式

1、HttpOnly

原理:浏览器禁止页面的Javascript访问带有HttpOnly属性的cookie。(实质解决的是:XSS后的cookie劫持攻击)如今已成为一种“标准”的做法。

解决方案:

JavaEE给Cookie添加HttpOnly的方式为:

response.setHeader("Set-Cookie","cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");

2、输入检查(XSS Filter)

原理:让一些基于特殊字符的攻击失效。(常见的Web漏洞如XSS、SQLInjection等,都要求攻击者构造一些特殊字符)

* 输入检查的逻辑,必须在服务端实现,因为客户端的检查也是很容易被攻击者绕过,现有的普遍做法是两端都做同样的检查,客户端的检查可以阻挡大部分误操作的正常用户,从而节约服务器的资源。

解决方案:

检查是否包含"JavaScript","<script></script>"等敏感字符。以及对字符串中的<>:"&/'等特殊字符做处理

3、输出检查

原理:一般来说除了富文本输出之外,在变量输出到HTML页面时,使用编码或转义的方式来防御XSS攻击

解决方案:

* 针对HTML代码的编码方式:HtmlEncode

* PHP:htmlentities()和htmlspecialchars()两个函数

* Javascript:JavascriptEncode(需要使用""对特殊字符进行转义,同时要求输出的变量必须在引号内部)

* 在URL的path(路径)或者search(参数)中输出,使用URLEncode

JavaScript

Data obtained from the execution of an SQL command is rendered to a web-page template

function renderUserProfileTable(res, connection, user_id) {
connection.query('SELECT id,name,description from user WHERE
id= ?', [user_id],function(err, results) {
var table = "<table>"
table += "<table class='profile-html-table'>"
table += "<tr><td>" + results[0].name + "</td></tr>"
table += "<tr><td>" + results[0].description + "</td></tr>"
table += "</table>"
res.render("profile", table)
});
}


Data obtained from the execution of an SQL command is encoded and then rendered to a web-page template

var htmlencoder = require('htmlencode');


function renderUserProfileTable(res, connection, user_id) {
connection.query('SELECT id,name,description from user WHERE
id= ?', [user_id],function(err, results) {
var table = "<table>"
table += "<table class='profile-html-table'>"
table += "<tr><td>" + htmlencoder.htmlEncode(results[0].name) + "</td></tr>"
table += "<tr><td>" + htmlencoder.htmlEncode(results[0].description) + "</td></tr>"
table += "</table>"
res.render("profile", table)
});
}

4.更严格的做法

除了数字和字母外的所有字符,都使用十六进制的方式进行编码

后续会继续分享其他的JavaScript语言常见安全漏洞,欢迎关注,了解更多软件测试技术内容。如需不同品牌软件漏洞扫描工具试用或参数比对,也可私信我。

(谢绝转载,更多内容可查看我的专栏)

http://www.dtcms.com/wzjs/390107.html

相关文章:

  • 上海个人做网站seoul是什么意思
  • 泰安网络营销网站建设外链平台有哪些
  • 深圳网站建设评价seo顾问什么职位
  • 在线A视频做爰网站潍坊seo建站
  • 免费做简历的网站百度seo优化哪家好
  • 金华网站建设行业竞价排名规则
  • 制作图片压缩包小璇seo优化网站
  • 郑州网站防恶意竞价点击软件
  • 昆山做网站费用的网站建设
  • 同城配送网站建设磁力天堂
  • 哈尔滨网站建设效果手机网站免费客服系统
  • 网站建设公司 知乎个人网站怎么做
  • 如何制作自己的微信公众号百度seo关键词优化
  • 穷游网站 做行程 封面微信管理软件
  • 佛山网站建设公司有哪些?推广app赚钱
  • 多少钱算敲诈勒索百度关键词优化多少钱
  • 东营免费网站制作关键词搜索引擎优化推广
  • 腾讯云云服务器官网seo排名优化培训怎样
  • 网站推广seo蜘蛛屯优化排名北京seo如何排名
  • 软件测试开发架构师培训绍兴seo计费管理
  • 江苏做电缆桥架的公司网站百家号排名
  • 高端的网站专业的制作网站开发公司
  • 网站在百度上搜不到seo资源咨询
  • 国外设计素材网站免费优化设计官方电子版
  • 网站备案期间做网页如何免费创建自己的平台
  • 广东企业网站建设湖南长沙关键词推广电话
  • 快递网站策划怎么做ppt百度笔记排名优化
  • 网站关键词优化怎么做营销推广主要包括
  • 加大门户网站安全制度建设环球军事网
  • 深圳龙霸网站建设物三搜收录网