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

xss靶场(portswiggrer)

前言:

靶场都不会打,就去实战?我会啥

内容:

靶场地址,需要注册登录  

实验:将 XSS 反射到 HTML 上下文中,不编码任何内容 |网络安全学院 (portswigger.net)

如何寻找xss攻击
1、测试每个入口点   (这个我看小迪xss,就是说,响应的参数可以由我们控制的都可以测试)
2、提交随机字母数字值    (嗯,看有没有限制长度)
3、确定反射上下文        (看是否输入的值有没有在响应头中返回)
4、绕过方法

本文涉及工具地址

 在线测试js语句地址(非常好用,建议收藏)

HTML/CSS/Javascript在线代码运行工具 | 菜鸟教程 (runoob.com)

xss标签大全,

xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户

1、反射型xss

第一关,没有任何过滤

也是非常的简单,实战但是没碰到过,

通过get传参,然后将内容返回到页面,没有做任何过滤

直接弹窗

查看html的代码,发现这里有个<h1>标签,不理解,先记得

找到了

H1标签是HTML文档中的一种标题标签,通常用于表示页面的主要标题或主题。

2、储存型xss

也是没有任何过滤,但是燥起来难度就很大了

<script>alert(1)</script>,就直接在评论上查入一条xss

3、dom型xss

主角登场了,xss的主场原来是dom型xss

这是题目

原来dom型xss是可以在url显示的,我真有点无知了,ok,然后就是在那个触发dom型函数,原来函数并不是我直接就能看到,还需要我们去寻找

dom型xss,然后就找到了下面这个参数,嗯怎么是这样,有点不一样,有两个参数,也就是说有可能是在客户端直接就执行了,并没有传给服务器执行

对比反射型xss,看看反射型xss有哪些区别,就是说,这个只是给服务器输入的,然后就是返回一个

到这里我就会了,真的,嗯就是,我一直以为这是反射型xss,我了个豆,原来这是dom型xss

解题思路,

在浏览器检查,然后搜索刚才的输入的内容,在浏览器看有没有执行的函数,没有,可能就是给服务器执行,反射型xss

有执行的函数,可能是客户端直接执行,dom型xss

实际操作

先把双引号闭合,为啥呢,防止他把我我们的函数当参数执行了

这里遇到一个问题就是

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

我只会这样写,但是标签里面不能再有一个标签吧,所以说,这里我已经知道答案了,如果不知道的,我怎么不敢尝试,因为这样不对,但是都还没做,怎么知道对不对,

因为img标签的格式是这样的<img src="xxxxx">

那么闭合就可以这样闭合

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

成功弹窗

如果说我就想用img标签进行弹窗的话,需要如何操作

一样的,那就找img标签的弹窗方法

<img src=x onerror="alert(1)">

闭合,又遇到一个问题就是,这个里面的单引号会自动匹配,最近的和最远的开始匹配,然后

" onerror="alert(1)">

然后就是第一个双引号和我的第一个双引号闭合了,然后这个onerror当做函数执行了,然后就匹配到了第二个双引号,输出的内容为alert(1)">,为啥后面的双引号没有闭合,因为函数自身还有个双引号

解决办法,将双引号替换为单引号

" onerror='alert(1)'>

失败,先看下输出的内容是什么,输出内容为" onerror='alert(1)'>

可以看到为啥他将我的单引号自动转化为双引号执行了

123

没办法,重新输入正常的值,看他的规则

尝试输入多次失败,尝试这样写

" '1' onerror=alert('1')>        尝试按照img标准的格式写,不行,他会在alert自动加上双引号

失败

总结, 没有符合img标签的语法,因为img标签前面没有双引号,可能是语法错误?

好吧,跟这个没关系,因为我加了双引号也能弹窗,使用在线的js运行工具,可以方便测试xss语句

在线测试js语句地址(非常好用,建议收藏)

HTML/CSS/Javascript在线代码运行工具 | 菜鸟教程 (runoob.com)

xss标签大全,

xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户

失败原因

" onerror=alert(1)

我输入这个,他源代码里面会自动给alert加上双引号,导致代码里面不能完整闭合,不能闭合就将双引号里当字符串执行了, 想不到解决办法

有的话求大佬在评论区指导我一下


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

相关文章:

  • 最小相位系统和非最小相位系统
  • QFramework实现原理 一 :日志篇
  • 蓝桥与力扣刷题(240 搜索二维矩阵||)
  • 损失函数曲面变平坦的方法
  • pycharm踩坑(1)
  • MySQL 8.0 备份与恢复全解析
  • 【redis初阶】redis客户端
  • 【深度学习】 UNet详解
  • 实用工具推荐----wsl安装
  • langchain基础(一)
  • 从 JIRA 数据到可视化洞察:使用 Python连接jira
  • 二次封装的方法
  • Django 多环境配置实战指南
  • Greenplum临时表未清除导致库龄过高处理
  • mysql数据库不允许远程链接时的解决办法
  • mapStruct 使用踩坑指南
  • C++ 自定义字面量
  • 小试牛刀调整Prompt,优化Token消耗
  • 电子应用设计方案104:智能家庭AI弹簧床系统设计
  • 「 机器人 」仿生扑翼飞行器中的“被动旋转机制”概述