博客
关于我
DVWA(XSS存储型)
阅读量:663 次
发布时间:2019-03-15

本文共 1363 字,大约阅读时间需要 4 分钟。

XSS(Cross-Site Scripting)是一种常见的Web应用安全漏洞,攻击者通过注入恶意脚本代码到用户的浏览器,破坏用户体验或获取敏感信息。XSS攻击的主要目标是直接在用户端执行恶意代码,因此需要重点关注前端和同源政策的安全性。

XSS基本概念

XSS攻击的核心在于将用户输入直接输出到网页上,而未经过适当的-sanitization。攻击者可以构造特定的输入,导致网站输出危险的scrip标签,如<script>alert('xss')</script>。这一过程通常发生在用户生成内容(UGC)被直接显示,如评论、留言或搜索结果中。

XSS存储型

存储型 XSS 攻击将恶意代码嵌入到服务器端数据库中,随后用户访问该页面时代码被执行。例如,管理员在个人资料页面发布了一段可信的内容,但未进行ATS(含有字符替换),使得用户输入的文本直接嵌入到网页中。这种攻击 vector 常见于博客、新闻网站或论坛系统。为了防守,web 应用需对数据库中存储的内容进行严格的-sanitization。

XSS分类

tây ser·Votes

  • Low: 命名为低层次的XSS,攻击者通常利用简单的<script>标签进行注入。修复方法是对输入参数进行-react,这通常包括使用PHP的-hellip或正则表达式。
  • Medium: 攻击者构造更复杂的<script>标签,如事件触发或动态 JavaScript 代码。修复需要对参数进行更全面的检查,例如检查变量是否为预定义 legitimacy。
  • High: 高层次 XSS 攻击者可能利用与网站相关的 Closure 或其他动态功能构造攻击代码。修复需要结合正则表达式和数据库 sanitized 进行全面保护。
  • XSS攻击防御

    开发者应始终记住,预防 XSS 攻击的关键是对输入数据的严格 sanitized。具体措施包括:

    • 对用户输入使用-hellip或正则表达式进行过滤。
    • 克隆输入数据,并使用 MySQL 的实 sacred_suffix 属性或相关方法。
    • 使用防止 XSS attack 包含/code标签的方式,将输出转换为 HTML 实体。例如,利用PHP的 ht mlEntities 函数将 < 转换为 <。
    • 在反向 proxies 或负载均衡中启用参数过滤,以捕捉异常请求。

    实际案例分析

    假设一个万 слово字符限制的$name输入字段,用户可以输入:<scRipt>alert("xss")</scRipt>前端的关键是限制输入到一定长度,但这并不能完全 mitig ate XSS。完善措施是对输入进行Js总 تنfiere 。例如,使用如下的正则表达式进行 replace:

    $name = preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $name);

    这样可以清除 script 标签,同时不影响其他合法字符。

    总结

    XSS 是 Web 安全中的常见 vulnerability,严重威胁用户数据和系统安全。通过对输入数据进行合理的 sanitized 和防护,可以有效防守 XSS 攻击。开发平方应结合目标平台的特性,选择最合适的防护方法,确保输入的安全性和系统的稳定性。

    转载地址:http://gxhmz.baihongyu.com/

    你可能感兴趣的文章
    Neo4j电影关系图Cypher
    查看>>
    Neo4j的安装与使用
    查看>>
    Neo4j(1):图数据库Neo4j介绍
    查看>>
    Neo4j(2):环境搭建
    查看>>
    Neo4j(3):Neo4j Desktop安装
    查看>>
    Neo4j(4):Neo4j - CQL使用
    查看>>
    Neo图数据库与python交互
    查看>>
    NEO改进协议提案1(NEP-1)
    查看>>
    Neo私链
    查看>>
    NervanaGPU 项目使用教程
    查看>>
    Nerves 项目教程
    查看>>
    nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>
    Nessus漏洞扫描教程之配置Nessus
    查看>>
    Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
    查看>>
    nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.
    查看>>
    nestesd exception is java .lang.NoSuchMethodError:com.goolge.common.collect
    查看>>
    nestJS学习
    查看>>
    net core 环境部署的坑
    查看>>
    NET Framework安装失败的麻烦
    查看>>
    Net 应用程序如何在32位操作系统下申请超过2G的内存
    查看>>