网安学习记录8 完成pakachu靶场xss

反射型xss(get)

我们直接输入,成功弹出xss在这里插入图片描述

反射性xss(post)

首先从前端代码看到账号密码是admin/123456
在这里插入图片描述
输入在这里插入图片描述
弹窗成功
在这里插入图片描述

存储型xss

查看后端代码
在这里插入图片描述
判断message是否存在,并且 message不为空
进行了转义,防止sql注入
插数据库的时候,做了对应的转义,防止数据库的注入 ,把massage 插入到表中存储到数据库中
后面的一句代码$query=“select * from message”;将存储的留言都显示出来
虽然但是也是没有进行过滤的,还是直接

直接输入
在这里插入图片描述
弹窗成功,并且每次我们打开这个网页都会跳出这个弹窗,说明是持久化的,直到把这个留言删除为止
在这里插入图片描述

DOM型XSS

查看源代码
在这里插入图片描述
getElementById 获取标签 id 为 text 的值传递给 str,str 通过字符串拼接到 a 标签中。如果这样的话,那我们输入的内容都会被当作字符串处理,无法实现功能。
我们键入的内容会被字符化于 a 标签的 href 属性中,所以我们要闭合 < a >这个标签。而href这个属性用于规定链接的目标。而这个目标会被“自动”加上双引号(类比字符型注入,自动加上单引号),不用管,我们要闭合的是前面的 <’
自然而然想到用 '>进行闭合了,我们可以使用 '><img src=“#” οnmοuseοver=alert(‘xss’)>,这样 str 传到后端拼接,就成了
<img src=“#” οnmοuseοver=alert(‘xss’)>what do you see?
当鼠标移动到图片上就会触发弹窗
在这里插入图片描述

xss之过滤

查看后端代码
在这里插入图片描述
发现对<script 进行了过滤,我们试试大小写,成功弹出xss

xss之hrmlspecialchars

查看后端代码
在这里插入图片描述
输入看看
在这里插入图片描述
发现 " < > 都进行了html实体转码,但是没有对 ’ 进行实体转码,可以使用单引号构造 payload,可以输入’ οnclick='alert(/xss/)(这边不要写成alert(‘xss’) ,引号匹配错误),这样后端就成了,第一个单引号闭合href属性的双引号,第二个单引号闭合href属性的闭合双引号
在这里插入图片描述

xss之href输出

查看后端代码
在这里插入图片描述
同样 message 也经过了 htmlspecialchars 的实体转义
输入看看
在这里插入图片描述
在这里插入图片描述
这次发现单引号也被转义掉了。我考虑在a标签的 href 属性里面,可以使用 javascript 协议来执行js,尝试使用伪协议绕过。
此处输入javascript:alert(/xss/),点击即可弹窗
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值