博客
关于我
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/

    你可能感兴趣的文章
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0013---Channel应用案例4Copy图片
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0020---Selectionkey在NIO体系
    查看>>
    Vue踩坑笔记 - 关于vue静态资源引入的问题
    查看>>
    Netty工作笔记0025---SocketChannel API
    查看>>
    Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>
    Netty工作笔记0057---Netty群聊系统服务端
    查看>>
    Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
    查看>>
    Netty工作笔记0063---WebSocket长连接开发2
    查看>>
    Netty工作笔记0070---Protobuf使用案例Codec使用
    查看>>
    Netty工作笔记0077---handler链调用机制实例4
    查看>>
    Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
    查看>>
    Netty工作笔记0085---TCP粘包拆包内容梳理
    查看>>
    Netty常用组件一
    查看>>
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty心跳检测机制
    查看>>
    Netty核心模块组件
    查看>>