Web端安全

web安全性测试 WEB安全性测试 一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密。参数操作、异常管理、审核和日志记录等几个方面入手。 1.安全体系测试 1)部署与基础结构 网络是否提供了安全的通信 部署拓扑结构是否包括内部的防火墙 部署拓扑结构中是否包括远程应用程序服务器 基础结构安全性需求的限制是什么 目标环境支持怎样的信任级别 ... 阅读详情

1、跨站脚本漏洞

    由于程序员在编写程序时对用户输入的可控数据没有做充分的过滤或转义,直接把用展现在页面中。当用户提交构造的脚本或html标签时,便会执行,这就是跨站脚本攻击。

  • 存储型跨站

    用户可控数据内容长期存储于页面中,当用户输入脚本或HTML标签时,输入的数据长期展示在页面中,也就形成了储型跨站脚本攻击。

  • 反射型跨站

    在用户可控数据中,未长久保存于数据库中的数据,例如URL提交的参数,开发人员未对参数做过滤或转码,导致前端直接展示相关数据,这样便形成了反射型跨站脚本漏洞。

  • Dom型跨站

    当使用文档对象模型来创建文档的时候,对用户可控数据没有做正确的编码输出,便会出现DOM型跨站脚本漏洞

    恶意用户可以利用跨站脚本可以做到:

  • 盗取用户cookie,伪造用户身份登录。

  • 控制用户浏览器。

  • 结合浏览器及其插件漏洞,下载病毒木马到浏览者的计算机上执行。

  • 修改页面内容,产生钓鱼攻击效果。

  • 蠕虫攻击。

在三种跨站脚本漏洞中影响相对最大的是存储型跨站脚本漏洞。

HTML跨站脚本漏洞

    当用户可控数据未经转义或过滤输出到HTML中时,用户提交恶意数据后形成HTML跨站脚本攻击,HTML跨站分为反射型和存储型两种,反射型跨站需要被动诱骗点击,而存储型只需要打开页面即可触发危害较大,常见的出现此类问题的主要有留言板,论坛发帖回帖,博客系统,评论系统

解决方案:

在HTML中展示用户可控数据,应该进行htmlescape转义

转义符号:

& -->&

< -->&lt;

> -->&gt;

"-->&quot;

JavaScript跨站脚本漏洞

    当用户可控数据未经转义或过滤输出到HTML中时,用户提交恶意数据后形成HTML跨站脚本攻击,JavaScript跨站与HTML跨站很多人会搞混,两者的区别在于HTML跨站插入恶意脚本必须带有HTML标签或者带有HTML伪协议标签,过滤起来要比JavaScript跨站简单,JavaScript跨站只需要插入鼠标事件即可触发此类漏洞。

    JavaScript跨站也分为存储型和反射型,造成的影响也不同,反射型跨站需要被动诱 骗点击,而存储型只需要打开页面即可触发危害较大

解决方案:

在JavaScript中展示用户可控数据,需要对用户可控数据做JavaScript escape转义。

转义字符:

/ --> \/

| --> \|

"--> \"

\ --> \\

JSON跨站脚本漏洞

    Json回传数据自定义函数名时,函数名可以通过UTF-7编码或其他编码造成跨站脚本攻击

    Json跨站与普通跨站区域别于格式,json格式的匹配利用普通跨站代码很难实现,如 果http传输设定为json必须通过UTF-7传输才能触发跨站漏洞所以此类漏洞利用较难。

解决方案:

  • Java代码:

    response.setContentType("appliaction/json");

按照以上设置,http返回头为appliaction/json

  • 对callback:函数名做正则过滤

    String.replaceAll("[A\w\_","");对函数名做严格过滤,只允许数字、大小写字母、下划线 以上方法可以彻底防御jsoncallback跨站脚本攻击

注:特殊情况下的json可在正则中放宽相关字符,但是对于以下字符是严格禁止使用 '":;=|V&%#{}[]?#$@!() + -.

URL跨站脚本漏洞

    当系统把用户可控数据放入URL中,并且把URL直接输出到前端HTML页面或页面 JavaScript时,用户可控数据便可以构造攻击脚本,这种攻击我们叫做URL跨站脚本攻击。

     URL跨站和HTML、JavaScript跨站有很多相似的地方,因为最终用户可控URL还是会输出到HTML和JavaScript中,但是URL跨站和HTML、JavaScript跨站的解决方法是不同的。

解决方案:

URL跨站脚本攻击不能过滤用户输入数据因为过滤用户输入数据可能导致URL无法访问,必须转义用户可控URL,主要遵循以下转义方式

< =%3C > =%3E / = %2F ? = %3F @ =%40'=%27 "=%22 \ = %5C

CSS样式跨站脚本漏洞

    在用户与服务器交互访问的情况下,当页面样式CSS中展示用户可控数据时,攻击者会在所提交的CSS中插入脚本,导致浏览此页面的用户浏览器会执行插入的JavaScript脚 本。CSS跨站出现场景一般多在博客系统、文章发布系统、公告系统、留言系统中出现, CSS多现于存储型跨站,危害较大。

解决方案:

    同样是要对用户数可控输入中style内容做CSS escape转义

富文本跨站脚本漏洞

    web应用程序在一些场合需要允许一些Html标签,和一些标签里的一些属性,如一些日志发表的地方,书写文章的地方,由于开发者对安全认识的局限或者在自己进行的安全过滤时考虑不周,都容易带来跨站脚本攻击,在一些web2.0站点甚至引发Xss  Worm。常 规的一些检测措施包括黑名单,白名单等等,但是都因为过滤得并不全面,很容易被绕过。其实有另外一种过滤相对严格的方法,就是基于Html语法分析的filter, 在满足应用的同时可以最大限度保证程序的安全,一些过滤比较严谨的如YahooMail,Gmail等等就是基于该原理进行的过滤。

解决方案:

  • 白名单模式过滤相关恶意跨站脚本

  • 黑名单模式过滤相关恶意跨站脚本

2、URL跳转漏洞

    由于应用越来越多的需要和其他的第三方应用交互,以及在自身应用内部根据不同的逻辑将用户引向到不同的页面,所以URL跳转便出现在我们的应用中,当对所跳转的连接没 有做验证的情况下可能跳到任何_个网站,导致了安全问题的产生,这种问题就是URL跳转漏洞

解决方案:

  • 对跳转地址进行检测,当跳转地址非本域地址,强制跳转到主站

  • 在控制页面转向的地方校验传入的URL是否为可信域名

  • 对传入跳〖转URL中字符‘@'进行过滤

3、JSON挟持漏洞

    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,JSON传输的数据在两个不同的域,譬如对于大的互联网公司,代表了A应用的A域名想获取代表B应用的B域名的数据时,由于在javascript里无法跨域获取数据,所以一般采取script标签的方式获取数据,传入一些callback来获取最终的数据。这样导致非法网站也会调用相关接 口来实现数据的读取,导致了json传输数据的挟持

解决方案:

  • 验证referer来源,当非白名单域名,返回空信息

  • 改变JSON传输格式,彻底杜绝此类漏洞(这种解决方案改动较大,对业务影响较大, 但是非常彻底);

4、XSIO攻击

    XSIO产生的原因是因为没有限制图片的position属性为absolute绝对定位图片的位置,这就导致了可以把张图插入到整个页面的任意位置,包括网站的banner,包括一个link、 一个button,覆盖页面的连接,甚至覆盖整体页面,很显然这样的漏洞对安全造成了极大的风险,例如网络钓鱼,非法广告,点击挟持等被诸多攻击方法。

解决方案:

  • 如果对效果要求不高,建议过滤图片标签中position属性absolute

  • 如果对效果要求较高,不允许position属性设置为absolute

5、CSRF

    CSRF的全称是Cross-site request forgery,即跨站请求伪造,我们可以简单的理解这种漏洞为,攻击者利用被攻击者的身份发起了某些被攻击者原本不知情的网络请求。包括以 被攻击者的身份发布一条微博,以被攻击者的身份发布一条留言,以被攻击者的身份关注 某个用户的微博等。著名的微博蠕虫就是利用这种漏洞,造成了较大的影响

解决方案:

方法一(长久有效,彻底防御)

在与用户交互时,设置一个csrf的随机token,种植在用户的cookie中。当用户提交表单时,生成隐藏域,值为cookie中随机token, 用户提交表单后验证两处token值,来判断是否为用户提交

方法二(临时防御,可以绕过)

验证用户提交数据的refere信息,当为提交页时,说明为用户提交,当为其他页面时,说明为csrf攻击。

网络安全-Web安全协议 大家上网娱乐或办公总是离不开浏览器,也就是从web访问各个网站,其安全的重要性与其使用的广泛性成正比。本文就web常见的相关安全协议分享。 阅读详情

相关推荐

渗透测试常见漏洞描述及修复建议

常见漏洞的漏洞描述与修复建议/安全建议

Kak_Sky的博客 6401

黑客编写的web安全总结,web工程师绝不可错过

本文档是黑客编写的web安全编程原则和例子,对从事web开发的工程师提高web安全编程有帮助。 为了让大家对各种web安全威胁的产生原因、常见攻击手段有更深入的了解,并且作为各种web安全威胁的修补方案标准,以便大 家能够快速的定位漏洞代码和解除安全隐患。 本文档有详细的代码例子和易懂的写法。包括 绝对是web工程师的安全编程的参考。 例如:XSS 攻击 Cross Site Sc...

liaowufeng2012的专栏 673

PHP代码审核

概述         代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带来不必要的风险         代码审核不是简单的检查代码,审核代码的原因是确保代码能安全的做到对信息和资源进行足够的保护,所以熟悉整个应用程序的业务流程对于控制潜在的风险是非常重要的。 审核人员可以使用类似下面的问

zhxp_870516的专栏 4344

Web安全介绍及规避。。。

本文转载自:https://jelon.top/posts/web-security/     如果侵权,请及时告知。 一、跨站脚本攻击 (xss) 反射型跨站脚本攻击 攻击者会通过社会工程学手段,发送一个 URL 连接给用户打开,在用户打开页面的同时,浏览器会执行页面中嵌入的恶意脚本。 存储型跨站脚本攻击 攻击者利用 web 应用程序提供的录入或修改数据功能,将数据存...

weixin_30311605的博客 514

Ajax入门到精通

本文介绍了Ajax的概念,四种发送Ajax请求的方式,三种解决Ajax请求跨域的方案。

weixin_47750287的博客 2281

浅谈关于web输入涉及的安全

1、sql注入2、反射型XSS3、存储型XSS4、SSRF漏洞5、XXE漏洞6、反序列化漏洞7、CRLF注入8、SSTI模板注以上的漏洞都可直接使用Burp Suite 的Actively scan this host功能主动扫描漏洞,来发现。

m0_46111897的博客 1167

appscan如何进行web安全性测试_APPSCAN安全测试工具使用

一、安装测试基本工作流程:二、扫描原则扫描的原则“Appscan全面扫描”包含两个阶段:探索和测试。探索阶段在第一个阶段里,appscan会通过模仿成web用户单击链接并填写表单字段来探索站点(web应用程序或web server)这就是探索阶段。探索阶段可以遍历每个URL路径,并分析后创建测试点。测试阶段“测试”期间,appscan会发送它在“探索”阶段创建的成千上万个定制的测试请求,通过你定制...

weixin_42297810的博客 561

Web性能测试和安全测试要点

一、安全测试 (1)SQL注入(比如登陆页面) (2)XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。   document.write("abc")   <script>alter("abc")&l...

技术小白 4055

Web安全测试方案

优先级模块测试重点P0(最高)登录认证、支付接口、用户中心密码爆破、会话安全、金额篡改、数据泄露P1商品下单、订单管理、搜索接口SQL注入、越权访问、参数篡改P2首页、资讯列表、静态资源XSS、CSRF、混合内容、文件泄露本方案通过“OWASP ZAP+专项工具”的免费组合,覆盖Web核心安全风险,以“自动化提效+手动深挖+代码左移”的方式确保测试深度;通过“分级闭环”机制确保漏洞可追溯、可修复。

我是一名在测试领域扎根15年+的“老匠人” 1363

appscan如何进行web安全性测试_web安全测试之AppScan

第一部分:安全测试的对象了解常见的WEB应用安全漏洞,参考OWASP Top 10 2017理解这些常见漏洞的攻击原理,如何判断系统是否存在这些漏洞、如何防止这些漏洞。第二部分:安全测试的实施1.sql注入测试确认所有的解释器都明确的将不可信数据从命令语句或者查询语句中区分出来最有效的方法:代码审查、代码分析工具、测试人员也可以通过创建攻击的方法来确认这些漏洞2.用户权限测试对一些有权限控制要求的...

weixin_39929566的博客 344

appscan如何进行web安全性测试_web常见安全漏洞测试结果分析-- appscan

基于appscan测试结果分析:一、XSS跨站脚本指的是攻击者往Web页面里插入恶意html代码,通常是JavaScript编写的恶意代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。是最常见的Web应用程序安全漏洞之一JavaScript可以用来获取用户的cookie、改变网页内容、URL调转,存在XSS漏洞的网站,可以盗取用户cookie、黑掉页面...

weixin_35323111的博客 1217

Web安全测试-AppScan

本篇文档主要描述 ChaosBlade 的概念、系统架构,使用场景及核心优势​ChaosBlade 是阿里巴巴 2019 年开源的混沌工程项目,包含混沌工程实验工具 chaosblade 和混沌工程平台 chaosblade-box,旨在通过混沌工程帮助企业解决云原生过程中高可用问题。实验工具 chaosblade 支持 3 大系统平台,4 种编程语言应用,共涉及 200 多的实验场景,3000 多个实验参数,可以精细化的控制实验范围。

探讨探讨 1005

从移动Web,看可信ID如何构建安全防护

通过在移动构建基于弱特征归因的设备唯一身份识别与实时风险环境检测能力,并将这一能力无缝扩展至Web,可信ID方案帮助企业实现了安全防护的全面覆盖与跨协同。该功能支持基于网络位置和物理位置的智能扩展:当在移动Web发现一个风险Wi-Fi或风险设备时,系统可以自动关联并扩展出所有曾连接该网络或处于同一物理位置的其他设备,实现“一点发现,全面围剿”。例如,一个在Web进行爬虫的IP,如果其关联的设备在移动也曾被标记为风险设备,则可以获得更高的风险权重。

AIwenIPgeolocation的博客 245

appscan如何进行web安全性测试_安全性测试AppScan工具使用实战20150920

Appscan是做安全性测试的一款工具,网上资料比较少,项目需要做安全性测试,用它做了web的扫描,可以发现一些问题,并且有原因分析和修复建议,感觉还不错,现在实战1、打开工具,点击【文件】下的【新建】,来打开新建扫描页面2、一般我们选择【常规扫描】,当然也可以根据需要来定义写模板,我是建议团队一起制定一个模板比较好,可以减少误报率和扫描时间3、根据配置向导配置,选择扫描类型,【web Servi...

weixin_39944074的博客 208

Web安全测试的自动化渗透

实施路线图(30天落地)阶段时间关键行动准备期第1-2天工具安装、环境搭建、授权获取测试期第3-10天编写自动化脚本、调试扫描流程执行期第11-20天对目标系统进行全面自动化扫描报告期第21-25天分析结果、生成报告、漏洞分级闭环期第26-30天修复验证、流程优化、文档沉淀。

我是一名在测试领域扎根15年+的“老匠人” 872

高德地图应用:接口调用权限安全升级( webAPI接口加密)(文档篇)

尊敬的开发者,您好: 为了保障您的账号安全,防止Web Key盗用,高德开放平台即将启用新的地图JS API鉴权方式。如果您已创建过WebKey,我们强烈建议您进行更换升级。 详细说明,请见教程: ⁃ JS API 1.4: https://lbs.amap.com/api/javascript-api/guide/abc/prepare ⁃ JS API 2.0: https://lbs.amap.com/api/jsapi-v

草巾冒小子的博客 5665

OAuth2 在Web最容易被忽视、且真实造成过大规模安全事件或重大故障的潜在问题

下面按照 “风险 → 原理 → 典型攻击/故障场景 → 缓解方案” 逐条展开。每条都给出业内已发生的公开案例或 CVE,方便对照自查。

weixin_43680337的博客 851

Web基础安全规范与建议

随着互联网应用的普及,Web安全已成为开发者不可忽视的重要环节。本文将介绍Web开发中应遵循的基础安全规范和建议,帮助开发者构建更加安全Web应用。Web安全是一个复杂且持续发展的领域,开发者需要不断学习和实践。本文介绍了Web开发中应遵循的基础安全规范和建议,帮助开发者构建更加安全Web应用。

gz_qiulinyong的博客 1779
上一篇: 商品服务难点
下一篇: 服务端安全
IT令狐冲
博客等级 码龄18年 122粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值