はじめに
クロスサイト・スクリプティング(以下、XSSという)とは、悪意あるスクリプトを実行されてしまう脆弱性のことを指します。
この悪意あるスクリプトは、Webページの表示に利用者のブラウザ上で実行されます。
例えば、本物のサイト上に偽ページが表示されたり、Cookieが漏洩することでセッションID漏洩によるなりすましが行われたりします。
このようなXSSに対する対策に、「HtmlSanitizer」というライブラリを利用して対策しようとおもいます。
主な利用例については以降で備忘録として残しておきます。
HtmlSanitizerをnugetでインストールする
1) [プロジェクト]-[Manage Nuget Package]を選択します。選択するとNuget管理画面が表示されます。
2) HtmlSanitizerを検索し、パッケージを追加します。
利用例
では実際に利用してみようと思います。
using System;
using Ganss.XSS;
using NUnit.Framework;
namespace ConsoleAppTest
{
class Program
{
static void Main(string[] args)
{
try
{
// Arrange
var sanitizer = new HtmlSanitizer();
// Act
string htmlFragment = "";
string actual = sanitizer.Sanitize(htmlFragment);
// Assert
string expected = "";
Assert.That(actual, Is.EqualTo(expected).IgnoreCase);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
危ないタグやスクリプトがしっかりと削除されます。
最後に
以下に様々な例が紹介されていますので、参考にしてみてください。
https://csharp.hotexamples.com/examples/Html/HtmlSanitizer/Sanitize/php-htmlsanitizer-sanitize-method-examples.html