【web安全】XSS篇

🏘️个人主页: 点燃银河尽头的篝火(●'◡'●)

如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦

【web安全】XSS篇


简介

XSS全称(Cross Site Scripting)跨站脚本攻击,XSS属于客户端攻击,受害者最终是用户,但特别要注意的是网站管理人员也属于用户之一。这就意味着XSS可以进行"服务端"攻击,因为管理员要比普通用户的权限大得多,一般管理员都可以对网站进行文件管理,数据管理等操作,而攻击者一般也是靠管理员身份作为"跳板"进行实施攻击。

XSS攻击最终目的 是在网页中嵌入客户端恶意脚本代码,最常用的攻击代码是javascript语言,但也会使用其它的脚本语言。

原理

可控变量在输入和输出的过程中没有受到充分的过滤,导致参数在输出过程中被浏览器当做代码解析执行

危害

  1. 劫持用户cookie

    伪造身份登陆

  2. 框架钓鱼

    伪造钓鱼页面

  3. 挂马

  4. 键盘记录

  5. 权限维持


分类

反射性XSS

传参不被存储在数据库中,服务端只是简单的把用户输入的数据反射给浏览器,是一次性。

存储型XSS

传参被存在在数据库里面,可以重复使用。

XSS弹cookie(前提:浏览器中存储cookie)

DOM XSS(特殊的反射XSS)

不与后台服务器产生数据交互,通过前端的dom节点形成

允许开发者以编程方式访问和修改文档的内容和结构。

DOM节点:

  1. 元素节点:代表HTML或XML文档中的标签(如<div><p>)。
  2. 文本节点:包含元素或属性中的文本。
  3. 属性节点:包含元素的属性(例如'class="example"`)。

测试

工具

  1. APPscan、AWVA、Burpsuite

  2. 半自动化工具

    Burpsuite、firefox(hackbar)、XSSER XSSF

手工

最重要的是考虑那里有输入,输入的数据在什么地方输出


防护

  1. 输入的参数进行过滤,对输入进行html实体编码

    htmlspecialchars()函数

    • &------>&amp
    • <------>&lt
    • >------>&gt
    • ""------>&quot
    • '' ------>#039
  2. waf防护

  3. HTTP only设置

    HTTP Only 是一种安全设置,用于保护网站的cookie 免受客户端脚本(例如JavaScript)的访问。这是通过在HTTP响应中设置一个特定的cookie属性来实现的。

    具体来说,当一个cookie被标记为"HTTP Only"时,它只能通过HTTP请求进行访问,而不能被客户端脚本访问。这个设置有助于防止跨站脚本攻击(XSS)窃取cookie中的敏感信息。


绕过

前端限制绕过

大小写绕过

通过大小来绕过一些对字符的匹配

复制代码
<sCRipt>alert('xss')</sCrIPt>

双写绕过

通过嵌套字符在对方检测到非法字符并替换为空的时候剩下的的字符又可以组成一个非法字符绕过检测继续执行语句

复制代码
<scrscriptipt>alert('xss')</scrscriptipt>

编码

通过将注入语句进行编码来绕过检测

复制代码
<img src=xonerror="&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#121;&#97;&#110;&#103;&#115;&#104;&#117;&#97;&#110;&#103;&#39;&#41;"/>

注释干扰后台绕过

攻击者利用注释来隐藏或干扰恶意脚本的执行。

复制代码
<sc<!--test-->ript>alert('xss')</scr<!--tshauie-->ipt>

标签语法替换

提交方式更改

垃圾数据溢出

结合其他漏洞绕过

HTTPonly绕过

浏览器未保存帐号密码:需要xss产生登录地

址,利用表单劫持

浏览器保存帐号密码:浏览器读取帐号密码

针对HTML实体化绕过

上传非图片导致的XSS

挖SRC会遇到很多文件上传,例如:头像、客服、认证。可以通过修改文件后缀,文件内容来尝试写入存储XXS。如果是对文件内容做检测,可以在此网站查询后,自行构造需要的文件头,从而绕过检测,上传任意文件。

复制代码
https://en.wikipedia.org/wiki/List_of_file_sign
atures#文件头对照表
相关推荐
王维同学6 分钟前
[自学][Windows C++]RunOnceEx 注册表分组键的安全遍历
c++·windows·安全·开源
星夜夏空992 小时前
网络编程(1)
服务器·网络
川石课堂软件测试2 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
上海云盾-小余2 小时前
中小站点防护避坑:低价高防服务存在的各类安全短板剖析
网络·爬虫·安全·ddos
武子康3 小时前
从恶意 Dataset 到横向移动:一套可落地的 Dataset Processing Threat Model(资产边界 + 威胁枚举 + 5 层控制)
人工智能·安全
见青..3 小时前
phpMyAdmin权限提升
web安全·网络安全·phpmyadmin
羽翼安全3 小时前
企业内网终端可视化风控方案解析,电脑屏幕防泄露系统保障数据资产安全
安全
数据知道4 小时前
邮件安全实战:SPF/DKIM/DMARC 配置与钓鱼绕过
网络·安全·web安全·网络安全·邮件安全
王莎莎-MinerU5 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
qizayaoshuap5 小时前
# [特殊字符] 密码生成器 — 鸿蒙ArkTS安全算法与密码强度评估系统
java·算法·安全·华为·harmonyos