SharePoint搜索框Web部件中反映的跨站点脚本

时间:2017-05-25 16:25:13

标签: sharepoint-2013 xss

第三方公司在我们的SharePoint 2013项目上执行安全评估。安全评估由漏洞评估组成。 Cycura确定了搜索框Web部件"功能易受XSS攻击。

概念证明出现如下:

Vulnerable parameter: "k":"String"
Payload: "test"><a onmouseover="alert('xss')">xxx
GET /Pages/SearchResults.aspx?k=test"><a onmouseover="alert('xss')">xxx HTTP/1.1 Host: wwwqa.xyz.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate, br 
Cookie: _ga=GA1.3.911615250.1492781812; dtLatC=31; dtPC=256094571_636h3; WSS_FullScreenMode=false; SearchSession=4d21f382%2D23e3%2D4f86%2D91ad%2Dc6c712e70704; 
_gat_UA-82498113-1=1; dtCookie=911302E10B144FAA0C644F92C2950F93|UUErZUN1c3RvbWVyfDE 
Connection: close 

升级不安全-要求: 1 enter image description here 建议是对用户提供的数据执行清理和输入验证。验证,清理和转义的步骤应该在客户端和服务器端发生。只要有可能。

是否有人有相同的安全评估问题,如果有人设法解决或了解如何管理,因为这是使用SP OOTB搜索框Web部件。

非常感谢您的帮助和贡献。

1 个答案:

答案 0 :(得分:0)

可以通过在用户输入中定义可接受的字符列表的白名单来防止XSS。防止此攻击的关键是永远不要信任用户数据。始终清理用户输入。始终执行数据验证,即它是否在输入输出上都有一些黑名单字符[不应允许用户输入的字符]。 https://www.owasp.org/index.php/Data_Validation

此链接将帮助您了解数据清理,验证。 https://www.troyhunt.com/understanding-xss-input-sanitisation/

这是XSS的预防备忘单。 https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet。  https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet