【web漏洞】pikachu XSS

本文深入讲解了XSS攻击原理及分类,包括反射型、存储型和DOM型XSS,并通过实例演示了各种类型的XSS攻击手段和技术细节。

XSS

原理

往Web页面里插入恶意脚本代码,当用户浏览该网页时,嵌入其中Web里面的脚本代码会被执行

分类

反射型、存储型、DOM型
DOM型与反射型、存储型不通,DOM型整个过程都是在前端完成的,没有后端的参与

产生位置

目标站点上存在输入点,比如查询接口,留言板等,且没有对输入特殊字符进行过滤


反射型xss(get)

反射型xss(get)
先输入测试
可以看到输入的都被显示了出来
测试
使用开发者工具在源码中查找刚才的输入
查找输入
可以看到所有特殊字符都原封不动的输入到了p标签中
这时可以构造脚本输入

<script>alert(1)

发现文本框不够大,查找文本框长度,调大长度
修改长度
提交后成功弹窗
弹窗


反射型xss(post)

根据提示给的用户名和密码进行登录
登录
提交 <script>alert(1) 即可弹窗

提交

<script>alert(document.cookie)

弹出cookie
cookie

post型和get型,传参方式不同,get型可以通过url来利用漏洞


存储型xss

存储型xss恶意脚本存储在服务器上,用户访问网页时会触发存储型xss
打开
留言测试,可以看到留言的内容直接放到了<p>中
测试
可以留言<script>alert(1)
用户在访问页面时会除发xss
在这里插入图片描述
留言板


DOM型xss

DOM型与反射型、存储型不通,DOM型整个过程都是在前端完成的,没有后端的参与
DOM型
输入进行测试
测试
发现只有123被显示了出来
查看源码,搜索输入
输入
查看dom
dom
这里可以看到提示,通过对这个函数的用法也能看出来,需要使用’进行闭合后,提交

'><img src=“#” οnmοuseοver=“alert(1)”>

当鼠标放到图片上时就会弹窗
弹窗


存储型xss-x

xxs-x
输入测试,输入后get传参,出现链接
在这里插入图片描述
点击链接后变成text=123#
在这里插入图片描述
查看源代码寻找输入
在这里插入图片描述
查看domxss函数,通过函数可以知道如何构造脚本
注释依然给出了答案
在这里插入图片描述
输入

'><img src=“#” οnmοuseοver=“alert(1)”>

点击链接后出现图片,将鼠标放到图片上弹窗
弹窗
通过阅读源码可知,第一次提交内容get形式传参text=输入的内容,url发生改变
点击第一个链接后,调用domxss()函数,函数从通过get方式传参取得text的内容(输入内容),并对其进行过滤


xss之盲打

存储型xss
在这里插入图片描述
提交输入后没有回显
可以在后台看到提交的内容
后台内容
而且发现都是直接将内容放在html中
因此可以提交脚本
脚本
当管理员访问后台数据时可以发送xss攻击
在这里插入图片描述
xss


xss之过滤

发现输入的<script>alert(1) 只显示了>,其他部分都被过滤了
测试
查看后端源码,发现只要是script都会被过滤
后端
可以使用其他的方法
虽然对输入的script进行了过滤,但是还是直接把内容放在了<p>中
在这里插入图片描述
提交

<img src=“#” οnerrοr=“alert(1)”>

去显示#这个图片,如果报错就弹窗
在这里插入图片描述


xss之htmlspecialchars

题目提示了htmlspecialchars,此题使用了htmlspecialchars进行转义
可以看到提交的"<>被转义
在这里插入图片描述

htmlspecialchars() 函数把预定义的字符转换为HTML实体,预定义的字符是:

  • &(和) 转为 &amp
  • "(双引号) 转为 &quot
  • '(单引号) 转为 &#039
  • <(小于号) 转为 &lt
  • >(大于号) 转为 &gt

可用的引号类型
ENT_COMPAT - 默认。 仅编码双引号
ENT_QUOTES - 编码双引号和单引号
ENT_NOQUOTES - 不编码任何引导

尝试绕过htmlspecialchars(),可以尝试使用单引号,因为默认只注释双引号

’ οnclick=‘alert(1)’

在这里插入图片描述
点击链接后,弹窗
也可也使用,避免被过滤

javascript:alert(1)

在这里插入图片描述


xss之href输出

输入后
在这里插入图片描述
尝试构造
发现双引号被转义
在这里插入图片描述
可以使用JavaScript来进行弹窗

javascript:alert(1)

在这里插入图片描述


xss之js输出

尝试提交后,没有变化
url改变,为get传参,在源码中搜索提交的内容
在这里插入图片描述
可以看到输入被动态的生成到了javascript中
输入123
直接放在了<script>中,可以尝试闭合前面的单引号,增加alert

'; alert(1); ’

在这里插入图片描述

成功弹窗
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值