1.  说明问题

也许读者看到博客的标题,会觉得有点疑惑。什么叫存储型跨站脚本编制。这个名字有点高大上了。其实也是,我们在网站的有些文本框中输入javaScript的代码或html的标签代码,我们本想作为信息存储,但是这样的文本却成为了代码执行出来。可能这样说读者会有点迷惑。我们来看下面的一个例子。

1)        在系统的添加信息的文本框中输入” <img src=1 οnerrοr=alert(3)>.

2)        这条信息保存到数据库后,也会在网站的某个列表中显示出来,这时候,你没有对这条信息作处理,结果也就是变成了系统的可执行代码实现。页面会直接弹出一个‘3’的弹出框。

这下读者应该知道它是谁了吧,也应该知道问题的严重性了吧。可别说,这样的问题也曾在大的IT公司出现过。轻者,可能是影响用户使用的体验感罢了,但是严重的话,作为黑客故意捣乱的话,那么结果大家就可想而知道了。下面笔者说明应该如何避免这样的问题出现我们的系统中。

2.  处理问题

这个问题处理的方法有很多,可用使用第三方的框来协助我们解决这样的问题,下面笔者只介绍几个处理的方法。

1)        如果读者的系统是使用Ext的框架的话,那么就可以使用下面的方法。

//反转义
Ext.util.Format.htmlDecode()
//转义
Ext.util.Format.htmlEncode()

2)        我们也可以借助 commons-lang.jar包中的 StringEscapeUtils类的转义与反转义。

 //转义
StringEscapeUtils.escapeJava()//反转义
StringEscapeUtils.unescapeJava()

3)        我们也可以使用Spring提供的方法来解决。

 //转义
HtmlUtils.htmlEscape()//反转义HtmlUtils.htmlUnescape()

3.  总结

对于存储型跨站脚本编制的问题,其实处理起来不难,但是很多时候是我们在开发时,忘记了需要注意这个问题,一旦忽略了这个问题,那么到后期修改就会非常麻烦;除非你的系统有很好的架构,可以直接写一个拦截器来处理。笔者是在接管了二次开发系统时发现在的这个问题,结果把我给坑死了。不过吃过了苦,就不会再吃了。

网站安全之存储型跨站脚本编制相关推荐

  1. pplive网站2处存储型跨站弱点

    漏洞详情 披露状态: 2010-07-30: 积极联系厂商并且等待厂商认领中,细节不对外公开 2010-07-30: 厂商已经主动忽略漏洞,细节向公众公开 简要描述: pplive网站2处存储型跨站弱 ...

  2. pplive网站存在存储型跨站脚本漏洞

    漏洞详情 披露状态: 2010-08-03: 积极联系厂商并且等待厂商认领中,细节不对外公开 2010-08-03: 厂商已经主动忽略漏洞,细节向公众公开 简要描述: 存储型 详细说明: 登录后选择修 ...

  3. 富文本存储型XSS的模糊测试之道

    富文本存储型XSS的模糊测试之道 凭借黑吧安全网漏洞报告平台的公开案例数据,我们足以管中窥豹,跨站脚本漏洞(Cross-site Script)仍是不少企业在业务安全风险排查和修复过程中需要对抗的&q ...

  4. 【网络攻防】“跨站脚本攻击” 第二弹 ——存储型XSS

    撰稿|谢泳 编辑|王聪丽.虞珍妮 信息收集|谢泳 目录 1. 前言 2. 什么是存储型XSS 3. 攻击原理 4. 防御方式 1. 前言 上一篇介绍了跨域脚本攻击中的"反射型XSS" ...

  5. 存储型xss_web安全测试--XSS(跨站脚本)与CSRF

    XSS攻击原理 反射型 发出请求时,xss代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,xss代码随响应内容一起传回浏览器,最后浏览器解析执行xss代码.这个过程像一次反射,故叫反射 ...

  6. 三、详解 DVWA_Stored存储型XSS

    创建时间:2022年5月16日21:56:10 作者:在下小黄 存储区:后端数据库 插入点:HTML 定义: 攻击者直接将恶意JS代码上传或者存储到漏洞服务器中,当其他用户浏览该页面时,站点即从数据库 ...

  7. XSS注入(1)-两个简单测试理解反射型xss注入和存储型xss注入

    XSS注入(1)-两个例子理解反射型xss注入和存储型xss注入 XSS全称 Cross Site Script,为使与css语言重名,所以我们将其称为xss跨站脚本攻击.它指的是恶意攻击者往Web页 ...

  8. DVWA系列之21 存储型XSS分析与利用

    存储型跨站可以将XSS语句直接写入到数据库中,因而相比反射型跨站的利用价值要更大. 在DVWA中选择XSS stored,这里提供了一个类型留言本的页面. 我们首先查看low级别的代码,这里提供了$m ...

  9. 代码审计之Catfish CMS v4.5.7后台作者权限越权两枚+存储型XSS一枚

    首先本地搭建环境,我所使用的是Windows PHPstudy集成环境.使用起来非常方便.特别是审计的时候.可以任意切换PHP版本. 本文作者:226safe Team – Poacher 0×01 ...

  10. DVWA V1.9:Reflected Cross Site Scripting(存储型XSS)

    DVWA V1.9:Reflected Cross Site Scripting(存储型XSS) 存储型 XSS 介绍 Low 级别 核心代码 官方提示 漏洞利用 Medium 级别 核心代码 官方提 ...

最新文章

  1. [转载]项目风险管理七种武器-孔雀翎
  2. C语言笔记系列文章 索引目录表(持续更新中......)
  3. WIN32获取当前进程模块句柄和HINSTANCE
  4. NOIP 2017 总结
  5. Codeforces Round #323 (Div. 1) B. Once Again... 暴力
  6. 图说Oracle基础知识
  7. python row column_将rowcolumnvalue数据转换为数组numpy
  8. 【(自动)运动控制系统】学习笔记
  9. 小说php 站点源码下载,PTCMS小说站源码
  10. 13.SpringBoot学习(十三)——JDBC之 Spring Boot Jpa多数据源
  11. linux关机卡屏,Ubuntu关机卡住无法关机的解决方法
  12. python人工智能方向面试准备_关于机器学习面试的经典题目(面试经验和建议)...
  13. 18 - java基初 数组介绍 冒泡排序
  14. 常用的协议端口号(TCP and UDP)
  15. python书籍排行榜2020_2020年Python文章盘点,我选出了个人TOP10
  16. Vue报错:component has been registered but not used
  17. WINDOWS+PE权威指南读书笔记(27)
  18. ubuntu 迅雷(xware desktop)
  19. 解除微软系统正版验证
  20. 如何避免碎片化知识的危害

热门文章

  1. C++公有、私有、保护继承的关系
  2. JavaScript数组api简单说明
  3. 高校应该使用 Drupal 的10大理由
  4. (转)C++类所占内存大小计算
  5. 分享100佳精美的作品集网站设计案例
  6. ASP.NET 实践:锁定 ASP.NET 配置设定
  7. HCIE-Security Day38:理论学习:信息安全管理
  8. vue 鼠标点击事件_点击鼠标,利用VBA代码实现精准控制触发事件的第二方案
  9. Cinema 4D* 中令人惊叹的体积效果
  10. RPM 打包指南系列 一