[研究] [ASP.NET] Cross-Site Scripting(XSS) 防範,白名單輸入驗證
2019-06-25
使用Regular Expression (正規表示式) 僅允許白名單
中文 [\u4e00-\u9fa5]
英文 [z-zA-Z]
數字 [0-9]
混合 [\u4e00-\u9fa5_a-zA-Z0-9_]+$
加上長度 [\u4e00-\u9fa5_a-zA-Z0-9_]{12,100}
允許HTML 語法輸入的地方使用HtmlSanitizer白名單過濾,參考https://github.com/Vereyon/HtmlRuleSanitizer
首頁 › 轉碼互通 › 碼表查詢 › UTF-8
http://www.cns11643.gov.tw/AIDB/codetable_search.do
******************************
Visual Studio 2017 v15.2,RegularExpressionValidator 有一些常用的規則運算式。
網際網路 URL
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
電子郵件
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
(完)
相關
[研究] Microsoft Anti-XSS Library V4.3 (Anti-Cross Site Scripting Library)
https://shaurong.blogspot.com/2017/06/microsoft-anti-xss-library-v43-anti.html
[研究][ASP.NET] 用了 AntiXssEncoder.HtmlEncoder 仍被 Fortify SCA v17.20 說有問題
https://shaurong.blogspot.com/2018/04/aspnet-antixssencoderhtmlencoder.html
[研究] [ASP.NET] DropDownList1 的 Cross-site scripting (XSS) (Reflected XSS) 修正
https://shaurong.blogspot.com/2017/09/aspnet-dropdownlist1-cross-site.html
[研究] [ASP.NET] Cross-Site Scripting(XSS) 防範,白名單輸入驗證
https://shaurong.blogspot.com/2019/06/aspnet-cross-site-scriptingxss.html
[研究] X-XSS Protection
https://shaurong.blogspot.com/2017/06/x-xss-protection.html
2019年6月25日 星期二
2019年6月21日 星期五
[研究][ASP.NET] 自動重導 http 網址到 https 網址
[研究][ASP.NET] 自動重導 http 網址到 https 網址
2019-06-21
參考:https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/DotNet_Security_Cheat_Sheet.md
某些狀況下,上面無法用 (原因不明)
可用下面方法
default.htm
(完)
2019-06-21
參考:https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/DotNet_Security_Cheat_Sheet.md
<configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect to https"> <match url="(.*)"/> <conditions> <add input="{HTTPS}" pattern="Off"/> <add input="{REQUEST_METHOD}" pattern="^get$|^head$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent"/> </rule> </rules> <outboundRules> <rule name="Add HSTS Header" enabled="true"> <match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" /> <conditions> <add input="{HTTPS}" pattern="on" ignoreCase="true" /> </conditions> <action type="Rewrite" value="max-age=15768000" /> </rule> </outboundRules> </rewrite> </system.webServer> </configuration> |
某些狀況下,上面無法用 (原因不明)
可用下面方法
default.htm
<meta http-equiv="refresh" content="0;url=https://新網址" /> |
(完)