开发学院网络安全安全技术 解析如何防止XSS跨站脚本攻击 阅读

解析如何防止XSS跨站脚本攻击

 2009-02-12 13:55:30 来源:WEB开发网   
核心提示: <script>...NEVERPUTUNTRUSTEDDATAHERE...</script>directlyinascript<!--...NEVERPUTUNTRUSTEDDATAHERE...-->insideanHTMLcomment<d

<script>...NEVERPUTUNTRUSTEDDATAHERE...</script> directlyinascript
<!--...NEVERPUTUNTRUSTEDDATAHERE...-->      insideanHTMLcomment
<div...NEVERPUTUNTRUSTEDDATAHERE...=test/>   inanattributename
<...NEVERPUTUNTRUSTEDDATAHERE...href="/test"/> inatagname

更重要的是,不要接受来自不可信任来源的JavaScript代码然后运行,例如,名为“callback”的参数就包含JavaScript代码段,没有解码能够解决。

No.2 – 在向HTML元素内容插入不可信数据前对HTML解码

这条规则适用于当你想把不可信数据直接插入HTML正文某处时,这包括内部正常标签(div、p、b、td等)。大多数网站框架都有HTML解码的方法且能够躲开下列字符。但是,这对于其他HTML context是远远不够的,你需要部署其他规则。

<body>...ESCAPEUNTRUSTEDDATABEFOREPUTTINGHERE... </body>  
<div>...ESCAPEUNTRUSTEDDATABEFOREPUTTINGHERE...</div>
以及其他的HTML常用元素

使用HTML实体解码躲开下列字符以避免切换到任何执行内容,如脚本、样式或者事件处理程序。在这种规格中推荐使用十六进制实体,除了XML中5个重要字符(&、<、 >、 "、 ')外,还加入了斜线符,以帮助结束HTML实体。

   &-->&
  <--><
  >-->>
  "-->"
  '-->''isnotrecommended
  /-->/forwardslashisincludedasithelpsendanHTMLentity

ESAPI参考实施

上一页  1 2 3 4 5 6 7 8  下一页

Tags:解析 如何 防止

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接