XSS Challenges 解题思路及技巧记录

Stage #1

地址:http://xss-quiz.int21h.jp/

XSS Challenges 解题思路及技巧记录_第1张图片

首先输入“123”进行测试:

F12键查看网页源码:

XSS Challenges 解题思路及技巧记录_第2张图片

发现注入点即为标签中,构造payload闭合标签即可。

payload:

"

注入成功:

XSS Challenges 解题思路及技巧记录_第3张图片

 

#######################################################################

Stage #2

地址:Stage#2

XSS Challenges 解题思路及技巧记录_第4张图片

首先输入“123”进行测试:

F12键查看网页源码:

XSS Challenges 解题思路及技巧记录_第5张图片

发现注入点即为标签中,构造payload使标签和value属性提前闭合即可。

payload:

">

注入成功:

XSS Challenges 解题思路及技巧记录_第6张图片

#######################################################################

Stage #3

地址:Stage#3

XSS Challenges 解题思路及技巧记录_第7张图片

首先输入“123”进行测试,F12键查看网页源码:

XSS Challenges 解题思路及技巧记录_第8张图片

发现注入点为标签处,构造构造payload使标签闭合:

发现并未弹窗,查看源码发现<>被转义:

寻找其他注入点,尝试使用burpsuite抓包,修改country(Japan)值:

XSS Challenges 解题思路及技巧记录_第9张图片

修改后(特殊字符使用url编码,也可不编码):

XSS Challenges 解题思路及技巧记录_第10张图片

payload:

"

注入成功:

XSS Challenges 解题思路及技巧记录_第11张图片

#######################################################################

Stage #4

地址:Stage#4

XSS Challenges 解题思路及技巧记录_第12张图片

首先输入“123”进行初探:

XSS Challenges 解题思路及技巧记录_第13张图片

发现与上一关有些类似,使用burpsuite抓包:

XSS Challenges 解题思路及技巧记录_第14张图片

大大的hackme明显就是注入点了,其实p1,p2参数的值经过转义,很难注入,其实仔细查看网页源码可以发现有表单有隐藏参数,就是这个hackme:

XSS Challenges 解题思路及技巧记录_第15张图片

使用burpsuite修改p3参数值:

XSS Challenges 解题思路及技巧记录_第16张图片

payload:

">

注入成功:

XSS Challenges 解题思路及技巧记录_第17张图片

#######################################################################

Stage #5

地址:Stage#5

XSS Challenges 解题思路及技巧记录_第18张图片

首先输入“123”进行初探:

XSS Challenges 解题思路及技巧记录_第19张图片

发现注入点依旧在value处,输入框构造payload发现长度受到限制,maxlength="15",故修改源码中长度限制:

payload:

">

注入成功:

#######################################################################

Stage #6

地址:Stage#6

XSS Challenges 解题思路及技巧记录_第20张图片

首先输入“123”进行初探,发现注入点就在value处:

XSS Challenges 解题思路及技巧记录_第21张图片

输入“">”发现<>被转义:

XSS Challenges 解题思路及技巧记录_第22张图片

可以利用js事件避免使用<>,payload:

"onclick=alert(document.domain) 1="

或:

"onmouseover=alert(document.domain) 1="

闭合后,构成源码:

XSS Challenges 解题思路及技巧记录_第23张图片

经过点击(onclick)或鼠标移动(onmouseover),注入成功:

XSS Challenges 解题思路及技巧记录_第24张图片

#######################################################################

Stage #7

地址:Stage#7

XSS Challenges 解题思路及技巧记录_第25张图片

输入“123”进行初探,发现注入点依旧在value处:

XSS Challenges 解题思路及技巧记录_第26张图片

观察burpsuite中的响应包,发现value值后没有引号(本人暂认为这是本题中空格可以作分隔符的必要条件),但在浏览器中显示有引号,可能是浏览器自动补充的原因:

burp:  

firfox:  

构造payload进行注入发现“ " ”被转义:

利用空格分隔属性构造payload:

1 onclick=alert(document.domain)

或:

1 onmouseover=alert(document.domain)

闭合后,构成源码:

XSS Challenges 解题思路及技巧记录_第27张图片

经过点击(onclick)或鼠标移动(onmouseover),注入成功:

#######################################################################

Stage #8

地址:Stage#8

XSS Challenges 解题思路及技巧记录_第28张图片

输入“123”进行初探,生成一个url为123的链接:

XSS Challenges 解题思路及技巧记录_第29张图片

使用javascript伪协议构造payload:

payload:

javascript: alert(document.domain)

点击生成的链接javascript: alert(document.domain),注入成功:

XSS Challenges 解题思路及技巧记录_第30张图片

#######################################################################

Stage #9

地址:Stage#9

需要使用IE浏览器,暂跳过

#######################################################################

Stage #10

地址:Stage#10

XSS Challenges 解题思路及技巧记录_第31张图片

输入“123”进行初探,发现注入点依旧在value处:

XSS Challenges 解题思路及技巧记录_第32张图片

构造普通payload注入发现关键字domain被过滤:

XSS Challenges 解题思路及技巧记录_第33张图片

再次构造payload:

">

过滤闭合后网页源码:

成功弹窗,注入成功:

#######################################################################

Stage #11

地址:Stage#11

XSS Challenges 解题思路及技巧记录_第34张图片

输入“123”进行初探,发现注入点依旧在value处:

XSS Challenges 解题思路及技巧记录_第35张图片

构造普通payload注入发现关键字script被xxx:

构造js事件发现onclick和onmouseover同样被xxx:

使用Javascript伪协议javascript: alert(document.domain),发现同样被xxx

尝试绕过检测script的正则表达式,使用html编码对script任意字符进行编码进行尝试,如对r进行html编码payload:

">hackme

点击链接,注入成功:

#######################################################################

Stage #12

地址:Stage#12

需要使用IE浏览器,漏洞失时效性,暂跳过  =.=

#######################################################################

Stage #13

地址:Stage#13

需要使用IE浏览器,漏洞失时效性,暂跳过  =.=

#######################################################################

Stage #14

地址:Stage#14

需要使用IE浏览器,漏洞失时效性,暂跳过  =.=

#######################################################################

Stage #15

地址:Stage#15

XSS Challenges 解题思路及技巧记录_第36张图片

查看网页源码,发现是基于Dom的xss漏洞(通过本地js语句将内容输出在浏览器中):

XSS Challenges 解题思路及技巧记录_第37张图片

构造payload, ,发现并未弹窗,继续查看此时网页源码,发现<>均被html转义,分析此处先对js编码进行解析,再对html编码进行解析,故欲采用js编码进行绕过:

XSS Challenges 解题思路及技巧记录_第38张图片

xss编码问题请看我另一篇博文,链接:XSS编码绕过 浏览器解析顺序,构造payload使用js编码进行绕过   \x3cscript\x3ealert(document.domain)\x3c/script\x3e, 发现\被过滤:

重新构造payload:

\\x3cscript\\x3ealert(document.domain)\\x3c/script\\x3e

注入成功:

XSS Challenges 解题思路及技巧记录_第39张图片

#######################################################################

Stage #16

地址:Stage#16

XSS Challenges 解题思路及技巧记录_第40张图片

与stage#15类似,构造payload进行测试  \x3cscript\x3ealert(document.domain)\x3c/script\x3e  ,发现\被过滤

再次构造payload: \\x3cscript\\x3ealert(document.domain)\\x3c/script\\x3e 进行尝试,发现\\未被过滤,未弹窗:

尝试使用unicode编码进行绕过,payload:

\\u003cscript\\u003ealert(document.domain)\\u003c/script\\u003e

注入成功:XSS Challenges 解题思路及技巧记录_第41张图片

#######################################################################

Stage #17 #18

地址:Stage#17  Stage#18

均需要使用IE浏览器,漏洞失时效性,暂跳过  =.=

完结

你可能感兴趣的:(XSS)