XSS漏洞

发布时间:2023年12月18日

一、漏洞原理

允许攻击者在用户的浏览器中执行恶意的脚本。只要是能输入参数的地方都可能产生XSS,比如说评论区,搜索框等。

二、漏洞利用

XXS漏洞常用于钓鱼,Cookie值窃取等操作。可以和文件上传漏洞打组合拳。

靶场:Pikachu靶场

  1. 反射型XSS

反射型XSS攻击又被称为非持续化攻击。通常通过构造恶意的URL语句,发送给用户造成攻击。

这个就是简单的反射型XSS通过修改URL参数。

  1. 存储型XSS

存储型XSS又被称为持续化攻击。它会把攻击者的恶意脚本存储到服务器数据库和文件中,大多数通过留言功能,评论区等功能,当用户访问这个些被写入恶意脚本的评论时就会被造成攻击。

这个留言板功能,我们输入javascript的弹窗

这个语句已经存储到服务器的数据库里面

  1. DOM型XSS

DOM(Document Object Model)是HTML文档的一种表现形式,它以树状结构组织页面内容。这个树状结构包含了HTML标签、文本、属性等所有页面元素的信息。我们插入恶意脚本在DOM树中,当浏览器执行HTML时就会解析我们插入在HTML中的恶意代码造成攻击。所以说DOM型XSS不需要和浏览器产生交互。

<!DOCTYPE html>
<html>
<head>
  <title>XSS示例</title>
  <script>
    // 获取 URL 中的参数并插入到页面
    var userInput = window.location.hash.substring(1);
    document.getElementById('output').innerHTML = userInput;
  </script>
</head>
<body>
  <div id="output"></div> //这里就是在浏览器解析DOM树时,就是执行我们刚刚插入的script代码
</body>
</html>



  这个就是构造的URL:http://example.com/page.html#<script>alert('XSS')</script>
    var userInput = window.location.hash.substring(1);
    document.getElementById('output').innerHTML = userInput;
//这里就是把我们在URL上输入的script代码插入到里面

它是在html里面的a href里面执行的

三、漏洞修复

  1. 过滤和转义字符
  2. 安全策略(CSP)
  3. HTTP only标记
文章来源:https://blog.csdn.net/qq_58528311/article/details/135014349
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。