SharePoint Security系列 之一 Cross-Site Scripting (XSS) Attack

什么是Cross-Site Scripting Attack?

===================

攻击者制造一个网站, 受害用户访问该网站后, 其浏览器客户端收到恶意的脚本代码. 受害用户的浏览器之后会运行该脚本代码. 由于浏览器是从一个trusted site下载的脚本, 从而浏览器不可能识别这个代码是否合法, 并且Microsoft IE Security Zone也不能提供保护. 这种攻击可以在HTTP和HTTPS的连接上进行.

cross-site scripting attack的最严重的例子之一就是当攻击者书写脚本来获得能够提供对某个站点访问权限的authentication cookie, 然后把这个cookie发送给攻击者知道的一个web地址. 这就使得攻击者可以伪装成合法用户的身份对站点进行非法访问.

 

使得你的web application易受到cross-site script攻击的弱点包括:

  • 对用户的输入没有限制和验证
  • 没有对输出进行encode
  • 对从一个共享数据库中获取的数据采取信任态度

 

应对之策

有两条重要的对策

1. 对输入进行限制(Constrain input).

2. 对输出进行Encode.

 

HTML encode会把对HTML有特殊含义的字符替换成HTML-to-HTML的代表这些特殊字符的变量. 比如说 < 被替换成&lt; 比如说 " 被替换成&quot;.

Encod了的数据不会引发浏览器执行代码, 取而代之的是仅仅把这些字符作为无害的HTML来显示.

 

对于更多如何在普通的asp.net应用程序中应对这种攻击, 请看这里(How To: Prevent Cross-Site Scripting in ASP.NET).

 

SharePoint 2010

===================

对SharePoint 2010而言, SharePoint本身是对这种攻击已经有防御措施, 对于开发者而言, 有如下的一些要点需要注意.

  • Encode Output Properly Using SPHttpUtility Methods
  • Never Allow Contributor Users to Add Script to the Site
  • Always Set a Charset in the Content-Type HTTP Response Header
  • Do Not Allow User Provided Values in Style and Event Attributes

 

更多细节, 请参考Security Best Practices for Developers in SharePoint 2010中针对Cross-Site Scripting的部分.

 

参考资料

Security Best Practices for Developers in SharePoint 2010

http://msdn.microsoft.com/en-us/library/gg552614.aspx 

How To: Prevent Cross-Site Scripting in ASP.NET

http://msdn.microsoft.com/en-us/library/ff649310.aspx

posted on   中道学友  阅读(711)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2010-10-18 记一个SharePoint Workflow一睡永不醒来的问题

导航

< 2011年10月 >
25 26 27 28 29 30 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

技术追求准确,态度积极向上

点击右上角即可分享
微信分享提示