DVWA靶场
第一关:low
直接一条看看结果,很简单直接过关
第二关:Medium
继续接着一条看结果,没有弹窗,接着我们看下源码
看到前端源码后,发现好像给 等等都可以
第三关:High
经过了第二关,我们以后可以尝试每次见到框就使用都被过滤了,我们再尝试下别的payload,比如是事件法中的
与 伪协议法这两payload
很不巧这两个都被过滤了,这是后我们就应该考虑下究竟是通过什么而过滤的呢,那直接看下源码吧,其实呢也蛮简单的,我们只要不使用带有正则匹配的这些就可以过滤了
此时我们就可以换不带有script这些的标签来绕过
<input onfocus=alert(1);>
成功绕过
总结下,我们以后在测试xss的时候,我们可以使用这样偏门的payload,因为常见的这样的payload很容易被过滤,尽量使用偏门的payload的进行测试,其实前几关都可以使用这样的payload进行绕过。
防止的方法就是将<>进行过滤
靶场网址:XSS平台|CTF欢迎来到XSS挑战|XSS之旅|XSS测试
level1:
看到url中的name传参,我们可以尝试最常用的payload进行绕过
payload: 成功过关
level2:
我们接着使用很好,没有出现弹窗,我们查看源码
发现第一个回显点的时候将<>全给使用转义符转义了,所以在这个位置我们无法利用了,只能看下一个value里面的回显点了,我们可以先尝试下闭合绕过
payload:aaa" οnclick="alert(1) 成功绕过
level3:
使用没有弹窗,我们查看源码,尖括号被过滤了
我们继续式我们的事件法来绕过
payload: ' οnclick= ' alert(1) 成功绕过
level4:
这次我们不能这么傻逼了,经过了前面的教训,这次我们上 ' οnclick= 'alert(1) 这样的payload,漂亮没有弹窗,我们查看源码,发现这是双引号闭合
我们将payload改进下,使用双引号闭合
payload: " οnclick= " alert(1) 成功完成
这时候我想了下,感觉这里还可以使用 "> ,但是发现好像这里过滤了<>
level5:
我们试下我们万能的payload: " οnerrοr=alert(1),漂亮又不行了,查看源码
好家伙直接给我onerror给加下划线了,接着我们再试试"> //发现也加过滤了,毫无人性,我们发现,这里尖括号没有转换,那我们换别的搞事
我们接着构造伪协议来绕过
payload: ">xss 成功绕过
level6:
我们将上一关的payload拿过来,直接给href和onclick都加上了
这时我们试试标签法,说不定可以绕过嘞
payload: "> 成功绕过
level7:
我们接着试试上一关的payload : ">,没绕过意料之中,我们查看源码,发现好像直接替换为了空白,那我们多的不说直接双写绕过
payload: ">alert(1) 成功绕过
level8:
继续呗,借用level6中的payload "> ,发现value这个位置双引号和尖括号都被转义了,感觉看样子无法绕过了,我们看到下面的href部分,很容易想到伪协议
那我们就试试伪协议看能够绕过payload javascript:alert(1),很遗憾没有绕过,我们看看源码,这里加了下划线,此时我们想到是否可以通过大小写绕过呢,那我们就是试试
我们在这里构造payload为 JaVascript:alert(1),很遗憾又没绕过我们接着查看源码,发现这里还是将javascript中加入了下划线,这事我们通过html实体化,将其中的一个字母替换
HTML实体编码互转 - 爱资料工具
payload: javascript:alert(1) 成功绕过
level9:
我们接着使用上一关的payload: javascript:alert(1) 报错我们接着查看源码,发现这显示你的链接不合法
我们尝试一个正常的连接http://baidu.com发现可以成功,跳转这时候我们尝试http://adfdsfa查看源码,发现只要有http://这就可以构造payload
payload: javascirpt:alert('http://') 成功绕过
其实当时卡在了一个双引号和单引号上面,这里上面应该用单引号,双引号在这过滤了
javascript中单引号和双引号的区别是什么-js教程-PHP中文网
level10:
看着这个页面确实有点蒙蔽,我们直接看前端源码,发现input这有几个参数,分别是t_link、t_history、t_sort这参数感觉可以传参接着我们传入参数
给url传入参数 ?keyword=well done!&t_link=aaa&t_history=bbb&t_sort=cccc,发现一个好玩的,可以看到t_sort的位置可以传入参数,其他位置好像都不可以,这就很好我们直接构造payload
payload:?t_sort=" οnclick=alert(1) type="text 成功绕过
level11:
直接查看前端源码,发现这里有个t_ref参数,我们可以联想到referer,那我们就构造payload,这里我是通过插件修改referer的,当然我们也可使用burp修改
payload: Referer=" οnclick=alert(1) type="text 成功绕过
level12:
查看前端源码,看到这里多了个t_ua,很明显这里应该是User-Agent,和level11差不多,我们就去修改User-Agent,那我们构造payload
payload: Referer=" οnclick=alert(1) type="text 成功绕过
level13:
这几关都是差不多的,我们直接查看源码,这里有个t_cook,不用想,这里肯定就是cookie了,接下来的步骤差不多,我们修改cookie,构造payload
payload: " οnclick=alert(1) type="text 成功绕过
这里有点奇怪,命名这里有took参数,但我们传t_cook的时候发现就是传不上,我就想着那我直接都给赋值" οnclick=alert(1) type="text 总有一个能成的,说干就干,果然成功弹窗
最后发现是user这个名称控制的t_cook
最后全部通关,被虐千百遍,我依旧待她如初恋,那我们就开始总结下。
XSS绕过:
1.大小写绕过
2.闭合绕过
3.伪协议绕过
4.双写绕过
5.HTML实体编码绕过(在可以执行js代码的时候可以尝试)
6.关键字绕过
7.请求头绕过
内容补充篇:
ddXSS 跨站脚本漏洞总结(知识点+实例)XSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544TXSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。 反射型 反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要欺骗用户自己去点击链接才能触发XSS代码,但是服务器中没有这样的页面和内容,一般容易出现在搜索页面。 存储型 存储型的XSS是持久化的,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行。这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。 DOM型 DOM型的XSS是基于文档对象模型Document Objeet Model,DOM 的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序https://copyfuture.com/blogs-details/20211205070847544T