C#: Add test for CaptureSinkModel query.

This commit is contained in:
Michael Nebel
2022-03-18 13:52:19 +01:00
parent 5babb0e66a
commit 6194d5cf63
4 changed files with 44 additions and 1 deletions

View File

@@ -0,0 +1,3 @@
| Sinks;NewSinks;false;WrapFieldResponseWriteFile;();Argument[Qualifier];html |
| Sinks;NewSinks;false;WrapResponseWrite;(System.Object);Argument[0];html |
| Sinks;NewSinks;false;WrapResponseWriteFile;(System.String);Argument[0];html |

View File

@@ -0,0 +1 @@
utils/model-generator/CaptureSinkModels.ql

View File

@@ -0,0 +1,38 @@
using System;
using System.Web;
namespace Sinks;
public class NewSinks
{
private string tainted;
// New sink
public void WrapResponseWrite(object o)
{
var response = new HttpResponse();
response.Write(o);
}
// NOT new sink as method is private
private void PrivateWrapResponseWrite(object o)
{
var response = new HttpResponse();
response.Write(o);
}
// New sink
public void WrapResponseWriteFile(string s)
{
var response = new HttpResponse();
response.WriteFile(s);
}
// New sink
public void WrapFieldResponseWriteFile()
{
var response = new HttpResponse();
response.WriteFile(tainted);
}
}

View File

@@ -1 +1,2 @@
semmle-extractor-options: /r:System.Linq.dll
semmle-extractor-options: /r:System.Linq.dll /r:System.Collections.Specialized.dll
semmle-extractor-options: ${testdir}/../../resources/stubs/System.Web.cs