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

    你可能感兴趣的文章
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 添加列,修改列,删除列
    查看>>
    mysql 添加索引
    查看>>
    MySQL 添加索引,删除索引及其用法
    查看>>
    MySQL 用 limit 为什么会影响性能?
    查看>>
    MySQL 用 limit 为什么会影响性能?有什么优化方案?
    查看>>
    MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
    查看>>