(pikachu)xss通关笔记

小笔记:

1.请求不一定会传到后端处理,可能直接在前端直接处理完了。

2.CTRL+F 查找页面内容

3.闭合后的单引号是不会在页面上回显出来的

4.先审查元素—>>>查看是否含有点击后执行的函数,然后根据函数的作用进行xss注入。

xss注入(前三种)


反射型(GET):

1.直接可以在输入框进行xss注入(get),一般URL上有直接显示参数名。

可能存在输入长度限制—>BP拦截后直接改请求内容(URL后面的参数里面输入)

反射型(POST):

2.post在URL上不会直接回显参数,尝试输入字符等,观察是否有明显的回显标志,再构建js语句进行闭合注入。

存储型:

3.直接存储在前端的js里面然后直接存储我们要执行的语句。

构建:

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

DOM型


请添加图片描述

基于文档对象模型

可以通过js来遍历/获取/修改对应的节点,对象,值,处理后的结果能够成为显示页面的一部分。

xss:

请添加图片描述

审查页面元素我们可以发现一个函数,该函数的作用就是把用户提交的内容输出到标签中,这样的话,就需要闭合标签和引号

xss-x:

与上面的区别就是调用函数的按钮不同,而且URL上有参数显示。

那么我们的注入点就是寻找函数执行按钮的位置,和执行的顺序。

xss五之

盲打:

在这里插入图片描述

我们审查元素后发现,为form表单,这个数据被提交到后台

两个payload分别输入两个框中

<script>prompt(document.cookie)</script><script>console.log(document.cookie)</script>

在这里插入图片描述

过滤:

部分的语句的输入回显只有一部分,考虑可能是添加了过滤的防护

输入payload 浅试一下是不是这个问题

"<>'on/`() script img href src

在这里插入图片描述

发现script之前的都被过滤掉了,考虑的是过滤

payload:

<img src=x onerror=alert(document.cookie)>

果然成功

在这里插入图片描述

htmlspecialchars:

我们随便输入内容审查一下元素看看

在这里插入图片描述

被放进了href属性里面,我们构建闭合,做一个按钮

payload:

a' οnclick='alert(document.cookie)

在这里插入图片描述

点击评论后有弹窗显示,说明注入成功

href输出:

我们随便输入一个payload发现单引号被转码了,无法闭合这个标签了,这个时候我们就要换个方式

在这里插入图片描述

href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。如果用户选择了 标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表

payload:

javascript:alert(document.cookie)

在这里插入图片描述

js输出:

随便输入一个审查一下元素看看有什么变化
在这里插入图片描述

发现出现在变量$ms 然后我们构建payload

a';alert(document.cookie)//

在这里插入图片描述

几种解决注入的方法

1.防御href属性输出时,我们可以直接强制要以http或者https开头,或者对html进行实体编码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

newbie_______

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值