xss前十二关靶场练习

目录

一、xss原理和分类

1.原理

2.分类:xss分为存储型和反射型以及dom型

(1)反射性

(2)存储型

(3)dom型

二、靶场关卡练习​编辑

1.第一关

2.第二关

3.第三关

4.第四关

5.第五关

6.第六关

7.第七关

8.第八关

9.第九关

10.第十关

11.第十一关

12.第十二关

三、总结


一、xss原理和分类

1.原理

        xss叫做跨站脚本攻击,指的是攻击者利用网页的漏洞,在我们的页面插入我们恶意的script链接,诱导我们的用户去点击,从而触发我们的链接获取用户的cookie值,从而获取网页的的权限

2.分类:xss分为存储型和反射型以及dom型

(1)反射性

        攻击者通过构建一个payload链接,然后诱导我们的用户去点击链接,当用户点击链接后,去访问我们正常的服务器,我们的服务器将正常的页面的代码和xss链接返回给我们的浏览器,浏览器正常解析我们的页面和恶意payload完成后去访问我们的恶意服务器,我们的攻击者就可以从恶意的服务器上获取用户的cookie和信息。

(2)存储型

        攻击者通过留言板等,在留言板处提交我们的script的恶意脚本存储在我们的服务器上,当用户访问我们的服务器的时候,服务会将携带有恶意脚本的链接以及正常的页面返回给我们的浏览器,我们的浏览器正常的去解析我们的页面代码和恶意代码,这时候就会去访问我们的恶意服务器,我们的攻击者就可以从恶意的服务器上获取到用户信息

(3)dom型

        其实和我们的反射型很相同

二、靶场关卡练习

1.第一关

在我们的url上随便写入一个aaa看一下我们的源代码注入在哪里

这时候我们直接在url上写一个script标签

<script>alert(1)</script>

成功弹窗

2.第二关

我们在输入栏输入点击就会触发弹窗的代码,查看源码发现没逃逸出双引号

οnclick="alert(1)"

我们尝试去逃逸出我们的双引号,然后点击搜索出现弹窗

aaa" οnclick=''alert(1)

3.第三关

在输入栏输入点击代码看是否有弹窗,再看我们的源代码发现我们的双引号被过滤了

aaa" οnclick="alert(1)

尝试使用单引号看是否可以绕过过滤,点击搜索发现出现弹窗

aaa' οnclick='alert(1)

4.第四关

在输入栏输入aaa"看我们提交的内容到了哪里,看源代码

在我们的输入栏输入点击触发脚本,发现出现弹窗

aaa" οnclick="alert(1)

5.第五关

在输入栏输入点击触发弹窗代码,查看源码我们发现on被过滤为o_n无法逃逸,无法出现弹窗

aaa" οnclick="alert(1)

我们尝试换成其他的恶意脚本弹窗,查看源码发现我峨嵋你的script被过滤为sc_ript还是无法弹窗

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

我们尝试利用链接弹窗看能否执行

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

我们点击链接,查看源码发现成功的绕过并出现了弹窗

6.第六关

我们继续使用onclick点击触发,查看源码发现我们的on被过滤为o_n

aaa" οnclick="alert(1)

我们尝试使用链接方式看能否触发,查看源码发现我们的href被过滤为了hr_ef,也无法弹窗

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

我们不妨换一种思路既然全被过滤了,能否使用大小写进行绕过,发现成功绕过并出现弹窗

aaa" ONclick="alert(1)

7.第七关

我们继续尝试在输入栏输入点击触发脚本,我们查看源码发现我们的on被过滤了,弹窗失败

aaa" οnclick="alert(1)

我们的on被过滤了,我们尝试双写on看是否被过滤,查看源码发现绕过并成功弹窗

aaa" oonnclick="alert(1)

8.第八关

我们查看源码发现被执行的是在a标签内的,我们使用a标签弹窗,发现我们的script被过滤为scr_ipt,尝试使用大小写绕过结果自动过滤为小写,都无法弹窗

javascript:alert(1)

javaSCRIPT:alert(1)

我们尝试使用html编码,发现成功注入,原因是我们的html编码是由js执行编译的。

java&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)

点击友情链接,发现弹窗成功。

9.第九关

我们查看源码发现被执行的部分还是在a标签里面,我们输入弹窗脚本发现提示连接不合法

javascript:alert(1)

我们尝试加上http头部,虽然成功注入但是我们的script被过滤为scr_ipt

http://javascript:alert(1)

我们尝试html实体编码,发现成功绕过但是点击链接并未成功触发,我们需要绕过http://

http://java&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)

我们尝试使用//绕过http://,原理是在//在编译的过程可以理解为注释符号,可以注释后面的内容,成功的弹窗

java&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)//http://

10.第十关

我们发现没有注入的输入栏,我们查看源码发现存在隐藏的输入栏,我们在url上尝试进行注入,我们发现t_link和t_history无法成功注入

?&t_link=aaa

?&t_history=aaa

我们尝试注入t_sort发现成功,我们找到了注入点尝试进行脚本注入

?&t_sort=aaa"

我们尝试注入触发弹窗脚本,但是我们需要注意的是需要有文本框能够点击

?&t_sort=aaa" type="text" οnclick="alert(1)"

点击我们的文本文框,发现成功触发弹窗

11.第十一关

我们直接查看源码,发现存在隐藏的文本框可以触发弹窗,我们发现t_refer特别像我们的头部字段,所以我们直接利用我们火狐浏览器的hackbar插件,传递我们头部字段

选择我们的referer,然后输入我们的脚本

aaa" type="text" οnclick="alert(1)

点击提交,成功的弹窗

12.第十二关

我们直接查看源码发现存在的隐藏的文本框,我们发现有一个叫做t_ua,我们猜测会不会是user agent我们利用hackbar进行测试

我们在hackbar上勾选我们的user agent,在里面输入我们的点击弹窗脚本

aaa" type="text" οnclick="alert(1)"

我们点击文本框,发现成功的弹窗

三、总结

        一般存在xss漏洞的我们先看源码,看在哪里触发的,然后根据自己的所学不停的尝试去绕过,注意方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/95893.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rn实现省市区三级联动

省市区三级联动选择是个很频繁的需求&#xff0c;但是查看了市面上很多插件不是太老不维护就是不满足需求&#xff0c;就试着实现一个 这个功能无任何依赖插件 功能略简单&#xff0c;但能实现需求 核心代码也尽力控制在了60行左右 pca-code.json树型数据来源 Administrative-d…

【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《高效编程技巧》《C语言进阶》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言1.如何写出好的代码&#xff1f;1.2 如何分析一个函数写的怎么样 2. 代码板式的重要性2.1 代码…

推荐个一行代码的Python可视化神器

学过Python数据分析的朋友都知道&#xff0c;在可视化的工具中&#xff0c;有很多优秀的三方库&#xff0c;比如matplotlib&#xff0c;seaborn&#xff0c;plotly&#xff0c;Boken&#xff0c;pyecharts等等。这些可视化库都有自己的特点&#xff0c;在实际应用中也广为大家使…

【LLM】chatglm-6B模型训练和推理

本篇文章记录下 chatglm-6B 训练和推理过程 环境&#xff1a;Ubuntu 20.04 1.13.0cu116 chatglm-6B 源代码仓库&#xff1a;链接 chatglm-6B 模型权重&#xff1a;链接 源代码及模型 clone 到本地 这里使用的是 THUDM 在 hugging face 开源的模型。 因为模型比较大&#xff…

《Python魔法大冒险》004第一个魔法程序

在图书馆的一个安静的角落,魔法师和小鱼坐在一张巨大的桌子前。桌子上摆放着那台神秘的笔记本电脑。 魔法师: 小鱼,你已经学会了如何安装魔法解释器和代码编辑器。是时候开始编写你的第一个Python魔法程序了! 小鱼:(兴奋地两眼放光)我准备好了! 魔法师: 不用担心,…

为什么删除Windows 11上的Bloatware可以帮助加快你的电脑速度

如果你感觉你的电脑迟钝&#xff0c;彻底清除软件会有所帮助&#xff0c;而且这个过程对Windows用户来说越来越容易。 微软正在使删除以前难以删除的其他预装Windows应用程序成为可能。专家表示&#xff0c;这项新功能可能会改变用户的游戏规则。 科技公司Infatica的主管Vlad…

Docker从认识到实践再到底层原理(二-1)|容器技术发展史+虚拟化容器概念和简介

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

SourceTree 使用技巧

参考资料 SourceTree使用教程&#xff08;一&#xff09;—克隆、提交、推送SourceTree的软合并、混合合并、强合并区别SourceTree 合并分支上的多个提交&#xff0c;一次性合并分支的多次提交至另一分支&#xff0c;主分支前进时的合并冲突解决 目录 一. 基础设置1.1 用户信息…

人员位置管理,点亮矿山安全之路

矿山作为一个高危行业&#xff0c;安全问题一直备受关注。人员定位置管理是现代矿山安全管理的重要一环&#xff0c;可以帮助企业更好地实现对人员的实时监控和管理。因此&#xff0c;矿山人员位置管理系统对于矿山安全生产和管理非常重要&#xff0c;可以帮助减少安全事故的发…

vue的 ECMAScript 6的学习

一 ECMAScript 6 1.1 ECMAScript 6 ECMAScript 和 JavaScript 的关系是&#xff0c;前者是后者的规格&#xff0c;后者是前者的一种实现&#xff08;另外的 ECMAScript 方言还有 Jscript 和 ActionScript&#xff09;。 因此&#xff0c;ES6 既是一个历史名词&#xff0c;也…

通过参数化可变形曲线直接从 X 射线投影数据计算分割研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Shell开发实践:服务器的磁盘、CPU、内存的占用监控

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…