首页 > 其他分享 >XSS-labs

XSS-labs

时间:2024-11-18 09:43:20浏览次数:3  
标签:XSS xss alert labs arg02 onclick test 绕过

环境:Windows10 + phpstudy + xss-labs

靶场:https://github.com/do0dl3/xss-labs

放在(网站根目录)

练习方法:通过输入语句判断是否弹窗,查看源代码(以及F12)找出编改信息,尝试注入语句

一、第一关 直接注入

观察三处箭头,可以发现它是向服务器提交了一个name参数,值为“test”,从页面

回显来看,将neme参数的值显示在了页面上,并且显示了name参数值的字符长度

接下来,查看源码。直接输入语句

<script>alert('test')</script>

二、第二关 标签被闭合

使用第一关方法,发现不成功,查看网页源代码

可以看到在<h2> </h2>​标签之中的恶意代码被编码了。其中<​和>​都被编码成了html字符实体。

要想浏览器执行这里的弹窗代码,只需要将属性的引号和标签先闭合就可以了。将keyword的参数值重新赋值

"><script>alert('xss')</script><

三、第三关 <>号都被实体化

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

' onclick=alert('test') '

四、第四关 <>号都被实体化

同第三关,改为双引号

" onclick=alert('test') "

五、第五关 javascript伪协议

尖括号没有过滤,但是<script>​中间有个下划线,通过构造href属性来绕过

"><a href="javascript:alert('test')">点击</a><"

六、第六关 大小写绕过

把href属性给过滤了。查看了一下源码,src、data、on都被过滤了。但是大小写没有过滤,可通过大小写进行绕过

" Onclick=alert('test') "

七、第七关 双写绕过

正常注入,直接替换为空了,那么其他的也都替换了,大小写也被过滤了。这里因为是替换为空字符,我们可以通过双写注入进行绕过。

" OOnnclick=alert('test') "

八、第八关 html实体编码绕过

我们在输入框输入的内容,会被带入到友情链接href​属性中,那我们是不是可以直接输入javascript:alert(1)​,点击友情链接不就可以了嘛。当我们输入后发现javascript被过滤了。只能使用HTML实体编码(即Unicode编码)绕过了。将javascript:alert(1)​进行实体编码

javascript:alert('test')

九、第九关 http://注释绕过

显示链接不合法?意思是让我们输入个待http://的值?试着输入以下,查看源代码

但是http://在前面是无法执行JavaScript,那么如何去除呢,我们想到这个是php代码,是不是可以用双斜杠进行注释,http://放到最后面不就注释掉了嘛。注意这关也需要实体化字符串。

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

十、第十关 隐藏信息

从页面响应来看,有一个<input>​标签的状态可以被改变。这个标签就是名为t_sort​的<input>​标签,之前都是隐藏状态,但是通过构造参数响应发现,可以看到有hidden,把输入框给隐藏了,把type属性删掉或者修改hidden为text,则会出现输入框。按F12,选中上面的元素。有它里面的值被改变了。尝试尝试能不能注入恶意代码进行弹窗,利用$t_sort参数。

<script>alert('xss')</script>&t_sort=" type="text" onclick="alert('xss')

十一、第十一关 referer注入

可以看到如同第十关一样有隐藏的表单不同的是多了一个名为t_ref​的<input>​标签。

t_sort仍然是接受参数值的,但是里面的双引号被编码了,F12查看元素。通关抓包看到缺少referer头,将如下代码加入到referer头中,修改放包即可。

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

十二、第十二关 User-Agent注入

可以看到本关和上一关差不多,这里使用user-agent参数罢了,所以我们直接上payload

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

十三、第十三关 cookie参数绕过

跟上题一样,考虑一下http头传值

" onclick=alert() type="text

名字是t_cook,考虑到是cookie头,我们先看一下这个网页的cookie,F12打开

十四、第十四关 exif xss

该关是修改iframe调用的文件来实现xss注入(但因为iframe调用的文件地址失效,无法进行测试),直接跳15关

十五、第十五关 ng-include文件包含

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

发现个ng-include:​,include作用是将同一服务器的html文件包含进来,和src进行传参,在请求 src 资源时会将其指向的资源下载并应用到文档中,比如 JavaScript 脚本,img 图片等等,在这里我们将src指向任意一关,输入对应的xss弹窗脚本即可。

?src='level1.php?name=<img src=1 one rror=alert(1)>'

十六、第十六关 空格绕过

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

?keyword=<svg%0Aonload=alert(1)>

十七、第十七关 embed标签 拼接绕过

发现embed标签,用来嵌入外部内容,比如插件、多媒体文件等。尝试对arg01和arg02的值进行修改。发现src属性后面的值也在发生变化。这两个变量是互相拼接起来的,所以在输入arg02时在b之后加一个空格,当浏览器解析到b的时候就停止判断,然后将onclick或onmouseover看作另外一个属性。从而执行JavaScript语句。

?arg01=a&arg02=b onm ousemove='alert(1)'

?arg01=a&arg02=b onclick='alert(1)'

十八、第十八关 拼接绕过

源码跟上关差别不大,就是换了个swf文件。跟17关一样,payload也一样

?arg01=a&arg02=b onm ousemove='alert(1)'

十九、第十九关 flash xss

arg01=version&arg02=<a href="javascript:alert(1)">xss</a>

二十、第二十关 反编译

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

arg01=id&arg02=\%22))}catch(e){}if(!self.a)self.a=!alert(1)


 

标签:XSS,xss,alert,labs,arg02,onclick,test,绕过
From: https://blog.csdn.net/qq_55231296/article/details/143844727

相关文章

  • SQLI LABS | Less-49 GET-Error Based-String-Blind-ORDER BY CLAUSE
    关注这个靶场的其它相关笔记:SQLILABS——靶场笔记合集-CSDN博客0x01:过关流程输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来): http://localhost/sqli-labs/Less-49/本关考察的其实是ORDERBY后的注入(虽然它被归结到了堆叠注入中,但其实它并不是)。......
  • sqli-labs
    sqli-labsLess-1基于错误的GET单引号字符型注入index.php分析error_reporting(0);不反馈错误isset($_GET['id'])检查($_GET['id'])参数是否设置LIMIT0,1从第一条开始记录,只取一条记录1.推测闭合方式?id=1\输入\,后面是',推测是单引号闭合输入?id=1'报错输......
  • 文件包含漏洞——练习靶场lfi-labs
    目录 原理lfi-labs1lfi-labs2lfi-labs3lfi-labs4lfi-labs5lfi-lab6 原理文件包含:为了更好地使用代码重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码原因:在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量......
  • XSS 跨站脚本攻击原理、分类与实践
    目录XSS跨站脚本攻击原理、分类与实践一、XSS攻击概述二、XSS攻击原理三、XSS攻击步骤与代码示例反射型XSS前端部分(Vue3+TS)后端部分(Java)模拟攻击的Python代码存储型XSS前端部分(Vue3+TS)后端部分(Java)模拟攻击的Python代码DOM-basedXSS前端部分(Vue3......
  • xss-labs-master靶机1-20关解题思路
    xss-labs-master靶机1-20关解题思路xss-labs-master靶机是xss-labs作者在github上发布的后来不知道为什么就把它删了,可能是因为这个靶机属于静态页面有一个通用的推广方式(具体在后面),不过还是希望读者使用实战中的攻击手段学习,这个靶机是对XSS漏洞的专项练习,一共有二十关,也是小......
  • bp靶场之xss
    靶场链接https://portswigger.net/web-security/all-labsxss备忘录:https://portswigger.net/web-security/cross-site-scripting/cheat-sheet将XSS反射到HTML上下文中,无需任何编码搜索123后,url上出现123,页面也直接回显123,说明可能有反射xsshttps://0a1a0050044ea608c471......
  • 【网络安全 | 漏洞挖掘】超出范围的域名存在XSS?我是这样提高危害的
    未经许可,不得转载。文章目录正文正文XSS漏洞有时会被忽视,尤其是当域超出范围时。然而,当这种漏洞与跨域资源共享(CORS)配置不当相结合时,它们可能会成为安全项目范围内的有效漏洞,从而有资格获得奖励。为了更好地解释这一点,我将举一个真实的例子,该例子来自我在H......
  • upload-labs
    upload-labs1-13upload-labs1-13upload-labs1-13pass-01pass-02pass-03pass-04pass-05pass-06pass-07pass-08pass-09pass-10pass-11pass-12pass-13pass-01首先我们新建文件a.php并用一句话木马<?php@eval($_POST['cmd']);?>然后我们上传1.php发现弹窗给出了白名......
  • XSS详解
    XSS,全称是跨站脚本攻击(Cross-sitescripting,简称:XSS),是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上运行的脚本中。这些脚本通常是客户端的JavaScript,但也可以是VBScript、ActiveX、Flash或仅仅是普通的HTML。攻击者可以利用XSS漏洞旁......
  • 如何预防XSS攻击
    预防XSS攻击是确保网站安全的重要一环。以下是一些有效的预防措施:输入验证与过滤:对所有用户输入进行严格的验证,确保输入内容符合预期格式。使用白名单验证输入,仅允许特定字符或格式通过。对用户输入进行HTML实体编码,防止恶意脚本被解析为HTML代码。输出编码:在输出用户......