2017-05-25 38 views
0

雖然第三方公司在我們的SharePoint 2013項目上執行安全評估。安全評估由漏洞評估組成。 Cycura確定「搜索框Web部件」功能容易受到XSS攻擊。SharePoint搜索框Web部件中反映的跨站點腳本

概念證明想出了象下面這樣:

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 

升級不安全-要求: 的建議是關於用戶提供的數據進行消毒和輸入驗證。驗證,消毒和轉義的步驟應該發生在客戶端和服務器端。只要有可能。

是否有人有相同的安全評估問題,如果有人設法解決或得到一個想法如何管理,因爲這是使用SP OOTB搜索框Web部件。

非常感謝您的幫助和貢獻。

回答

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_Sheethttps://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet