[.NET]Input Validation and Representation Server.HtmlEncode Replace Tool

[.NET]Input Validation and Representation Server.HtmlEncode Replace Tool

前陣子程式被Fortify掃到Cross-Site Scripting: Persistent(Input Validation and Representation, Data flow) 的嚴重缺失,

因為Fortify無法得知如果在Code中處理Server.HtmlEncode(請參考:[ASP.NET]Input Validation and Representation, Data flow),所以只好直接在aspx中找Eval的部份,然後加上Server.HtmlEncode。

因為程式支數蠻多的,而這個有個Pattern可以Replace,所以就寫個Replace Tool來Replace,

在C# ASPX中,要將 Text='<%# Eval("c2") 置換成 Text='<%# Server.HtmlEncode(Eval("c2") as string)

在VB.NET ASPX中,要將 Text='<%# Eval("c2") 置換成  Text='<%# Server.HtmlEncode(Eval("c2"))

2013/06/25 修改: 要將 Text='<%# Eval("c2") 置換成 Text='<%# Server.HtmlEncode(Convert.ToString(Eval("c2")))

當然,如果您要使用AntiXssLibrary的方式也可以哦!

image

 

程式中主要是針對某目錄下所有的aspx及ascx來Replace,然後存成UTF8編碼的檔案。

希望這Tool可以幫助大家,如果覺得有什麼想法,請再跟小弟說吧,謝謝!

環境:VS2010, .NET 2.0

原始檔:

AspLabelReplaceV2.zip (2013/06/25 改使用Convert.ToString加到Server.HtmlEncode之中)

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^