学习xss模拟构造攻击(第一篇)
0×00前言
XSS又名叫CSS全程(cross site scriptting),中文名跨站脚本攻击,目前网站的常见漏洞之一,它的危害没有像上传漏洞,sql注入,命令执行,这种危害性极高的漏洞一样,但是大致xss与上面讲的这些漏洞不一样它是需要去被动式来完成攻击的,攻击者需要让管理员,用户等来配合完成攻击,xss它有三种语言编写,我们常见的是JavaScript ,比较少见的actionscript,VBScript,它们都是可以在html的标签中执行的。
反射型的xss它是储存时间很短,在html的页面代码中,一但攻击者在网站植入反射型xss然后用户访问了就会被盗取cookie等等,存储型的xss是比较危险的一种xss,一般存储在网站保留用户数据的地方,一当用户访问就触发了攻击,dom型的xss先对也是比较隐蔽的,一般常见在url的get请求,这几种xss危害性最大的肯定就是存储型xss。
Xss通常分为三种类型,第一种是存储型xss,第二种是反射型xss,第三种是dom型xss。
Xss能做到的有盗取管理员,用户的cookie,url跳转,常用到的是盗取cookie,盗取到了管理员cookie那么我们也就可以登录管理员的账号了,那么这也就夸大了权限。
0×01构造攻击

在网站中很明显我们的JavaScript代码已经被存进去了,但是为什么没有弹窗呢?问题在于标签下面对该页面body内的标签查看,在跟踪情况。
这里已经将我们的JavaScript标签的alert(“xss”)过滤了,变成了无效的语句,<script>标签它还是亮着的,所以它是已经添加到代码里面去了

标签中只要<>xss<>内容不加入到标签里面它就会解析成文本内容,那么这时候就要更具其它的标签模仿构造,
<script href="alert(123)">xss</script>
变成这样,href是一个超级文本引用的标签,所以在这里这样构造测试,主要我们的弹窗已经加入到标签内

这次里面的内容都亮了,但是它还是不会弹窗,因为刚刚使用了href,href是一个超级文本引用标签,弹窗语句在里面就变成一个链接,重新来一次构造有效负载
换成了这样的一个code,onmouseover是鼠标移动事件 anytag任何标签,这样构造然后在测试

这样一来鼠标移动到xss的位置,就自动弹出123的提示框,当然这也只能弹出自己的cookie,客服需要去点击也才能看到cookie,这种基本就已经没有作用了下面再来换一种方法来构造过滤问题。
0×02 过滤模拟构造攻击

看到了我们的JavaScript语句已经给过滤了,正常的<script></script>标签以及带有攻击性的都是没办法成功载入的,我们的目的是达到弹窗或者获取cookie类

构造payload
结果我的class 跟 alert 都被过滤了,在一次构造,跟踪一下它的代码,一下是跟踪代码的一些问题以及它的过滤问题。

This.$obj.$chatCtnId.append(This.customHtml(This.replaceFace(This.xssWhiteList(filterXSS(question)))));
跟踪到这里对我的payload进行了过滤,在一次最终它的过程,分析看看能找到什么有效的绕过

跟踪到了网站对xss多种转义过滤,我利用了多种编码特殊字符都无法绕过,这也太强了吧!
继续测试,多种样式的测试,主要考虑到代码中添加了多个名单,以及对敏感字符的过滤本接下来在一次构造payload,我多次构造,但是依然给过滤,无论是字符编码类的都无效,心累一天,最后我构造了一条这样的payload
<a href="#javascript:alert('xss')">xss</a>

为撒它把我的符号过滤了每次它过滤都是直接吃了我的符号,这时候我也是闷逼了然后弹了一下,但是过程的确挺麻烦的到最后发现这样饶了
正常它的代码中可以构造正常可用的payload
都是可以不会遭到过滤的。
学习xss模拟构造攻击(第一篇)的更多相关文章
- 【Go 入门学习】第一篇关于 Go 的博客--Go 爬虫初体验
一.写在前面 其实早就该写这一篇博客了,为什么一直没有写呢?还不是因为忙不过来(实际上只是因为太懒了).不过好了,现在终于要开始写这一篇博客了.在看这篇博客之前,可能需要你对 Go 这门语言有些基本的 ...
- RabbitMQ学习总结 第一篇:理论篇
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- 学习KnockOut第一篇之Hello World
学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- LINQ to XML LINQ学习第一篇
LINQ to XML LINQ学习第一篇 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: public static void CreateDoc ...
- 从.Net到Java学习第一篇——开篇
以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...
- 我们一起学习WCF 第一篇初识WCF(附源码供对照学习)
前言:去年由于工作需要我学习了wcf的相关知识,初期对wcf的作用以及为何用怎么样都是一知半解,也许现在也不是非常的清晰.但是通过项目对wcf的运用在脑海里面也算有了初步的模型.今天我就把我从开始wc ...
- PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建
最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apache Web服务器 安装之前先更新一下系统 sudo apt-g ...
- Golang学习-第一篇 Golang的简单介绍及Windows环境下安装、部署
序言 这是本人博客园第一篇文章,写的不到位之处,希望各位看客们谅解. 本人一直从事.NET的开发工作,最近在学习Golang,所以想着之前学习的过程中都没怎么好好的将学习过程记录下来.深感惋惜! 现在 ...
随机推荐
- $or操作符
[$or操作符] The $or operator performs a logical OR operation on an array of two or more <expressions ...
- S 联系人新增及更新
一.联系人新增 [Public] ConnectString=host="siebel://10.10.1.139:2321/SBA_82/SMObjMgr_chs ConnectUserN ...
- 96. Unique Binary Search Trees (Tree; DP)
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...
- jekins测试环境自动化
最近搭建测试环境自动化,之前都是用机器猫.机器猫的流程大概是这样,开发打包上传到svn,给测试一个svn地址,测试到机器猫上传文件,然后再运行启动. 为了减去开发打包这个环节,所以专用jenkins. ...
- leetcode 20 Valid Parentheses 有效的括号
描述: 给定一些列括号,判断其有效性,即左括号有对应的有括号,括号种类只为小,中,大括号. 解决: 用栈. bool isValid(string s) { stack<char> st; ...
- Win10 Cygwin Cd Permission denied
问题描述 在win10或者win系统上面,使用cygwin的时候, 有时候会出现, 权限问题. 即使是管理员也不行. 问题分析 这个问题,我个人觉得,主要是使用不当造成的. 也就是说, 可能使用chm ...
- python全栈考试
1.执行 Python 脚本的两种方式 shell直接调用python脚本 python run.py 调用解释器来调用脚本 2.2.简述位.字节的关系 每8个位bit,组成一个字节byte. 一个 ...
- 07Mendel's First Law
Problem Figure 2. The probability of any outcome (leaf) in a probability tree diagram is given by th ...
- MVC和WebApi 使用get和post 传递参数(转)
出处:http://blog.csdn.net/qq373591361/article/details/51508806 我们总结一下用js请求服务器的传参方法. Get方式 Get主要是用来查询,一 ...
- Hadoop学习【一】单机版搭建
首先要说一下,Hadoop 2.x版本以后的改动,在这里帖一篇文章,觉得写的不错. http://www.ibm.com/developerworks/cn/opensource/os-cn-hado ...