xss

how to sanitize input data in web api using anti xss attack

女生的网名这么多〃 提交于 2020-02-03 04:47:05
问题 Below is the snippet of my code Model class // Customer.cs using CommonLayer; namespace Models { public class Customer { public int Id { get; set; } [MyAntiXss] public string Name { get; set; } } } I want to sanitize the value in the 'Name' field of the Model class as below // CutstomModelBinder.cs using Microsoft.Security.Application; using System.ComponentModel; using System.Linq; using System.Web.Mvc; namespace CommonLayer { public class CutstomModelBinder : DefaultModelBinder { protected

DVWA系列---反射型 XSS(Reflected Cross Site Scripting)

最后都变了- 提交于 2020-02-02 20:42:53
文章目录 1、Low 2、Medium 3、High 4、Impossible 1、Low 测试代码: <script>alert(document.cookie)</script> ,弹出当前Cookie 成功,未做任何防范。 查看源码: 其中: array_key_exists() 函数检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。 2、Medium 继续尝试刚才的语句 <script>alert(document.cookie)</script> 时,出现以下内容: 再次尝试: <img src = alert(1)> ,成功爆出 判断应该是对 <script> </script> 进行了转义。 尝试大小写绕过 <sCript>alert(1)</scRipt> ,成功注入! 尝试嵌套绕过 <sc<script>ript>alert(1)</script> ,成功注入,且判断出只对 <script> 进行了转义。 查看源码: 可见,只使用 str_replace() 函数对 <script> 进行了过滤,且该函数区分大小写。 3、High 尝试大小写绕过: <sCript>alert(1)</scRipt> 结果是一个尖括号:> 尝试普通注入: <script>alert(1)</script> ,结果是:> 尝试添加 >

pikachu靶机练习平台-xss

本小妞迷上赌 提交于 2020-02-02 03:45:13
第一题: 反射性xss(get) 输出的字符出现在url中 第二题:反射性xss(post) 登录后输入<script>alert(1)</script> 第三题:存储型xss 输入<img src=http://1.html onerror=alert(1)> 第四,五题:domxss: 输入:'><img src="#" onmouseover="alert('xss')"> 第七题: 输入:<img src=0+onerror="alert(123)"> 第八题:xss之htmlspecialchars 审查元素后发现输入的内容是被拼接在<a href ="输入的内容">中 输入: javascript:alert(1) 第九题: xss之href输出 第十题: 输入:';alert(1)// 来源: https://www.cnblogs.com/gudexiao-1996/p/11685246.html

HTML Purifier - Change default allowed HTML tags configuration

拜拜、爱过 提交于 2020-02-02 02:56:29
问题 I want to allow a limited white list of HTML tags that users can use in my forum. So I have configured the HTML Purifier like so: $config = HTMLPurifier_Config::createDefault(); $config->set('HTML.Allowed', 'p,a[href|rel|target|title],img[src],span[style],strong,em,ul,ol,li'); $purifier = new HTMLPurifier($config); What I am wondering is, does the default configuration of the HTML Purifier still apply, with the exception of a reduced number of accepted HTML tags or do I need to re-set every

跨站脚本攻击XSS

穿精又带淫゛_ 提交于 2020-02-01 22:45:08
1、XSS简介 跨站脚本(cross site script)为了避免与样式css混淆,简称xss。xss是一种经常出现在web应用的计算机安全漏洞,也是web中最主流的攻击方式。是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去,使别的用户访问都会执行相应的嵌入代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式 XSS攻击的危害包括: 1、盗取各类用户账号,如机器登录账号、用户网银账号、各类管理员账号 2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力 3、盗窃企业重要的具有商业价值的资料 4、非法转账 5、强制发送电子邮件 6、网站挂马 7、控制受害者机器向其它网站发起攻击 2、原理解析 XSS主要原因: 过于信任客户端提交的数据! XSS主要分类: 反射型XSS攻击(reflected xss),又称为非持久型跨站点脚本攻击,它是最常见类型的攻击。漏洞产生的原因是攻击者注入的数据反映在响应中。一个典型的非持久型xss包含一个带xss攻击向量的链接,即每次攻击需要用户的点击。 存储型XSS(stored xss)又称为持久型跨站点脚本,他一般发生在xss攻击向量(一般指XSS攻击代码)存储在网站数据库,当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行

DOMDocument remove script tags from HTML source

时光总嘲笑我的痴心妄想 提交于 2020-02-01 14:36:28
问题 I used @Alex's approach here to remove script tags from a HTML document using the built in DOMDocument. The problem is if I have a script tag with Javascript content and then another script tag that links to an external Javascript source file, not all script tags are removed from the HTML. $result = ' <!doctype html> <html> <head> <meta charset="utf-8"> <title> hey </title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script>

DOMDocument remove script tags from HTML source

吃可爱长大的小学妹 提交于 2020-02-01 14:35:29
问题 I used @Alex's approach here to remove script tags from a HTML document using the built in DOMDocument. The problem is if I have a script tag with Javascript content and then another script tag that links to an external Javascript source file, not all script tags are removed from the HTML. $result = ' <!doctype html> <html> <head> <meta charset="utf-8"> <title> hey </title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script>

网络安全实验6 认识XSS & 盗取cookie

ε祈祈猫儿з 提交于 2020-01-31 06:45:55
赞赏码 & 联系方式 & 个人闲话 【实验名称】认识XSS&盗取cookie 【实验目的】 1. 了解XSS漏洞 2. 掌握盗取Cookie的方法 【实验原理】 1.什么是XSS XSS又叫CSS (Cross Site Script) 也称为跨站,它是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。 2.什么是XSS攻击 XSS攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码,例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。如这句简单的Java脚本就能轻易获取用户信息:alert(document.cookie),它会弹出一个包含用户信息的消息框。入侵者运用脚本就能把用户信息发送到他们自己的记录页面中,稍做分析便获取了用户的敏感信息。 3.什么是Cookie Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密

xss攻击与防御

核能气质少年 提交于 2020-01-30 15:41:48
XSS Cross Site Scripting 跨站脚本 Scripting 能干啥? 获取页面数据----偷取网站任意数据资料 获取 cookies----偷取用户资料 劫持前端逻辑----偷取用户密码和登录状态 发送请求---欺骗用户 .... Xss 攻击分类 反射性 url 参数直接注入 存储性 存储到 DB 后读取时注入 XSS 攻击注入点 HTML 节点内容 <div> #{content} </div> <div> <div> <script></script> </div> </div> HTML 属性 <img src="#{image}" /> <img src="1" onerror="alert(1)" /> JavaScript 代码 <script> var data = "#{data}"; var data = "hello;alert(1);""; </script> 富文本 富文本保留 HTML HTML 有 XSS 攻击的风险 防御机制 浏览器自带有防御机制,但很弱 ctx.set('X-XSS-Protection',1)//默认开启浏览器防护 html 节点内容 对字符串进行转义处理 转义 < < 和 > > var escapeHtml = function(str) { if (!str) return ""; str = str

DVWA-XSS(DOM)

我与影子孤独终老i 提交于 2020-01-30 08:28:41
XSS 简介 参考链接 XSS(Cross Site Script),全称跨站脚本攻击,为了与 CSS(Cascading Style Sheet) 有所区别,所以在安全领域称为 XSS。 XSS 攻击,通常指黑客通过 HTML 注入 篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击行为。 DOM—based XSS漏洞的产生 DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如uRI,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM—based XSS漏洞。 DOM是什么? 可能触发DOM型XSS的属性: document.referer属性 window.name属性 location属性 innerHTML属性 documen.write属性 Low 1. 查看服务器端源代码如下: 没有采取任何保护措施 <?php # No protections,