XSS-labs总结2

发布时间 2023-05-24 16:43:43作者: vaneshadow

level 11

从前端源代码看依然存在隐藏表单

image-20230331193007492

还是先去看源代码

image-20230331195049403

先获得请求头的Refererer然后过滤了尖括号后输出在了value处,我们还是闭合value然后使用on....值进行alert弹窗

image-20230331194117946

网上说这个t_refer的值的变化会在前端显示但是我没有显示

hidden隐藏了表单,str与str00都被做了转义,可以对输出的$str33写xss语句,

burp抓包改referer即可

payload为:Referer: " onmouseover=alert(/xss/) type="text

image-20230331195355124

image-20230331194956360

level 12

先从前端看

image-20230331195559033

标致的user-agent

源码验证一下(多尝试几个payload也可也)

image-20230331195702183

过滤方法和之前一样,这次修改的东西为user-agent

image-20230331200037235

image-20230331200140456

(onclick要点击嗷)

level 13

发现了

image-20230331200432277

是前端响应的返回值的cookie.

image-20230331200559180

是user值嗷,那么我们抓包cookie的user改成我们的payload

payload同上: " onfocus=alert(/xss/) type="text

image-20230331200725191

image-20230331200828922

level 14

嗯...源代码

image-20230331201521284

这一关iframe调用的文件地址失效,已经无法测试了。

这里可以简单复现一下这种触发XSS的环境。有些网站有读取图片exif(可交换图像文件格式英语:Exchangeable image file format,官方简称Exif)信息的功能,当网站读取到的恶意的exif信息就会触发这个payload,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。可使用鼠标右键进入属性页面查看部分信息。)我这里先创建一个exifxss.php的文件然后在当前文件夹下面放一张名为404的正常图片,接着访问一下

如果我们将图片的exif信息改成触发xss的payload呐?

可以看到已经在图片的exif信息中插入了触发xss的payload了。接下来再次访问试试看

我没尝试出来不浪费时间了

level 15

先看源代码

image-20230331210819616

通过第一行以及我们提交的参数src的值被插入到标签的class属性值中发现这里用了angular js的ng-include,其作用相当于php的include函数。这里就是将1.gif这个文件给包含进来。

此处用了ng-include指令的话,先了解一下其具体的用法。
1、ng-include 指令用于包含外部的 HTML文件。
2、包含的内容将作为指定元素的子节点。
3、ng-include 属性的值可以是一个表达式,返回一个文件名。
4、默认情况下,包含的文件需要包含在同一个域名下。
特别值得注意的几点如下:
1.ng-include,如果单纯指定地址,必须要加引号
2.ng-include,加载外部html,script标签中的内容不执行
3.ng-include,加载外部html中含有style标签样式可以识别
既然这里可以包含html文件,那么也就可以包含之前有过xss漏洞的源文件

这里有个html实体化函数在,没有删掉东西,所以不影响我们接下来的操作,我们可以包涵第一关并让第一关弹窗(注意,这里不能包涵那些直接弹窗的东西如