xss

Implement XSS protection in Golang

感情迁移 提交于 2020-04-12 07:02:26
问题 I am using Golang to construct an API Rest. I have a struct with a lot of fields (more than 100), so I assign the values that comes from the client side to the struct using gorilla/schema that's working pretty nice. Now, I want to avoid the users to insert Javascript code in any of the strings fields, in the struct I have defined bool, strings, byte[] and int values. So, now I am wondering what is the best way to validate that. I am thinking in interate over the struct only in the strings

Implement XSS protection in Golang

跟風遠走 提交于 2020-04-12 07:02:08
问题 I am using Golang to construct an API Rest. I have a struct with a lot of fields (more than 100), so I assign the values that comes from the client side to the struct using gorilla/schema that's working pretty nice. Now, I want to avoid the users to insert Javascript code in any of the strings fields, in the struct I have defined bool, strings, byte[] and int values. So, now I am wondering what is the best way to validate that. I am thinking in interate over the struct only in the strings

Implement XSS protection in Golang

白昼怎懂夜的黑 提交于 2020-04-12 07:01:32
问题 I am using Golang to construct an API Rest. I have a struct with a lot of fields (more than 100), so I assign the values that comes from the client side to the struct using gorilla/schema that's working pretty nice. Now, I want to avoid the users to insert Javascript code in any of the strings fields, in the struct I have defined bool, strings, byte[] and int values. So, now I am wondering what is the best way to validate that. I am thinking in interate over the struct only in the strings

Implement XSS protection in Golang

痴心易碎 提交于 2020-04-12 07:01:02
问题 I am using Golang to construct an API Rest. I have a struct with a lot of fields (more than 100), so I assign the values that comes from the client side to the struct using gorilla/schema that's working pretty nice. Now, I want to avoid the users to insert Javascript code in any of the strings fields, in the struct I have defined bool, strings, byte[] and int values. So, now I am wondering what is the best way to validate that. I am thinking in interate over the struct only in the strings

ES6中的模板字符串和新XSS Payload

这一生的挚爱 提交于 2020-04-11 20:00:33
#ES6中的模板字符串和新XSS Payload 众所周知,在XSS的实战对抗中,由于防守方经常会采用各种各样严格的过滤手段来过滤输入,所以我们使用的XSS Payload也会根据实际情况作出各种各样的调整,最常见的如避免括号,避免引号,避免关键字等,以绕开过滤函数的检查,从而成功将代码注入到网页中运行。 在传统的XSS Payload变形中,常用的无非有以下几种: 使用String.fromCharCode来避免关键字,如String.fromCharCode(97,108,101,114,116,40,49,41); 使用URL编码来避免括号的识别,如location=’alert%281%29’; 使用正则对象的特点来避开引号,如alert(/1/); 在多年的研究中基本上传统的变形手段都被研究的差不多了,很难找到创新的绕开手段。 然而,近几年ECMAScript新版本的不断发展和推行,在带来了各种激动人心的语言特性的同时,也不可避免地带来了一些新的安全挑战。本文中所说的模板字符串,便是 ECMAScript 6草案中的一种新特性 。 如** MDN **中所述,模板字符串(Template literals)允许嵌入表达式,并且支持多行字符串和字符串插补特性。基本语法为以下几种: 其中第一行为最基本用法 ,即使用反引号 (‘`’) 来代替普通字符串中的用双引号和单引号。

Jfinal cms前台评论XSS漏洞分析

杀马特。学长 韩版系。学妹 提交于 2020-04-07 19:47:27
Jfinal cms采用Java语言开发,官方代码仓库为: https://gitee.com/jflyfox/jfinal_cms 。 Jfinal cms前台评论处存在XSS漏洞,以 v4.6版本为例,下面是 简单 的 漏洞分析。 首先来看如何利用此漏洞。 第一步:填写payload 在新闻评论的地方填写如下payload: abcd<img src="/xswv.png" onerror="alert('OK')"></span><span> 第二步:提交内容 点击“发布”按钮。 第三步:触发漏洞 刷新页面即可看到弹窗提示。 接下来是代码分析: 根据BurpSuite抓包来看,提交评论时访问的URL为:http://xxx.abcde.com/front/comment/save,根据此路径可以快速定位到CommentController.java文件。 该文件是CommentController类,CommentController类有个save方法,我们具体来看save方法的代码。 在save方法中先做了一些权限判断,没有登录的用户不能添加评论。然后调用CommentService对象的saveComment方法来保存用户的评论。 我们跳转到CommentService.java文件查看saveComment方法的具体代码。

代码审计中的XSS反射型漏洞

一世执手 提交于 2020-04-07 13:35:25
XSS反射型漏洞 一 XSS漏洞总共分三总 XSS反射型漏洞,XSS保存型漏洞,基于DOM的XSS漏洞 这次主要分享XSS反射型漏洞 基本原理:就是通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特定的代码参数会被HTML解析,执行,如此就可以获取用户的COOIKE,进而盗号登陆。 特点是:非持久化,必须用户点击带有特定参数的链接才能引起。 比如hack甲构造好修改密码的URL并把密码修改成123,但是修改密码只有在登陆方乙才能修改,乙在登陆的情况下点击甲构造好的url将直接在不知情的情况下修改密码。 二 实战例子 1:变量的直接输出 <?php //XSS反射型漏洞 //1.变量的直接输出 echo $_GET['XSS']; ?> 直接对GET获取的值写入一个弹框操作,成功弹出,测试代码和结果见下图 获取cookie,ceookie就是相当于设别的一种认证的作用,获取到cookie就可以进行绕过登陆后台,把alert()括号里的值换成document.cookie即可 alert(document.cookie) 我测试的时候没有网,而且好像出了些故障,可能是版本的原因,获取的空白,这个各位朋友可以自己测试下。 二。:$SERVER变量参数 最常用的参数以及作用 $_SERVER['PHP_SELF'] //直接在URL中输出执行 $_SERVER['HTTP

新浪微博的XSS漏洞攻击过程详解

微笑、不失礼 提交于 2020-04-07 11:37:40
今天晚上(2011年6月28日),新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建 党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉团团高清普通话版种子”,“这是传说中的神仙眷侣啊”,“惊爆!范冰冰艳照真流出了”等等 微博和私信,并自动关注一位名为hellosamy的用户。 事件的经过线索如下: 20:14,开始有大量带V的认证用户中招转发蠕虫 20:30,2kt.cn中的病毒页面无法访问 20:32,新浪微博中hellosamy用户无法访问 21:02,新浪漏洞修补完毕 新浪微博XSS事件 在这里,想和大家介绍一下XSS攻击,XSS攻击又叫跨站脚本式攻击,你Google一下可以搜到很多很多的文章。我在这里就简单地说一下。 首先,我们都知道网上很多网站都可以“记住你的用户名和密码”或是“自动登录”,其实是在你 的本地设置了一个cookie,这种方式可以让你免去每次都输入用户名和口令的痛苦,但是也带来很大的问题。试想,如果某用户在“自动登录”的状态下,如 果你运行了一个程序,这个程序访问“自动登录”这个网站上一些链接、提交一些表单,那么,也就意味着这些程序不需要输入用户名和口令的手动交互就可以和服 务器上的程序通话。这就是XSS攻击的最基本思路。 再说一点,不一定是“记住你的用户名和密码”或是“自动登录”的方法

防止存储性XSS攻击

混江龙づ霸主 提交于 2020-04-06 18:42:46
XSS攻击 是跨站脚本攻击,又分存储型和反射型。 存储型XSS攻击 ,就是将攻击脚本存储至数据库,以致所有访问者都会受到攻击。攻击脚本一般会将用户的cookie发送给攻击者,然后攻击者伪造用户登陆。 反射型XSS攻击 ,就是攻击者通过特定的方式(邮件等)发送给用户恶意链接,通过用户点击达到攻击目的。 示例脚本:1'"><img src=x onerror=alert(1)> 如何防止储存型XSS攻击? JAVA端配置XssFilter: package com.lyh.util; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import org.apache.commons.lang3.StringEscapeUtils; public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { public XssHttpServletRequestWrapper(HttpServletRequest

关于前端的网络攻击

流过昼夜 提交于 2020-04-04 15:41:34
XXS跨站脚本攻击 XSS即跨站脚本(cross site script),XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。 存储型XSS攻击 通过一些用户可以输入的界面,比如评论,填入一些非法字符,如><script>alert(document.cookie)</script>等类似的方式,导致网页做些这个“史壳郎”想要的一些操作。 这种现象的产生原因是,前端模板或者后端模板在渲染的时候没有进行字符转译,导致 <> 这样的字符直接就渲染到了页面上。所以,我们只需要在渲染前做一次转译,将这些符号转为字符实体就好了。现在的前端库,如vue,react,前端模板ejs,juicer,后端模板smarty,blade等,都已经内部做了转译了,可以直接使用。 如: 如果前端后端都没有做任何处理的话,以下这段评论在提交以后就会原封不动地展示在html上。而这个时候,script里的代码执行了,导致所有访问这个页面的用户的cookie都发送到了黑客指定的API。 前端倒是在渲染的时候可以做相应的处理,比如可以用以下方法处理: processedContent(comment) { return comment .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g,