mirror of
https://github.com/github/codeql.git
synced 2025-12-20 02:44:30 +01:00
59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
// semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs /r:System.Collections.Specialized.dll
|
|
|
|
class Program
|
|
{
|
|
void CookieDirectTrue()
|
|
{
|
|
var cookie = new System.Web.HttpCookie("sessionID");
|
|
cookie.HttpOnly = true; // GOOD
|
|
}
|
|
|
|
void CookieDirectTrueInitializer()
|
|
{
|
|
var cookie = new System.Web.HttpCookie("sessionID") { HttpOnly = true }; // GOOD
|
|
}
|
|
|
|
void CookieForgeryDirectFalse()
|
|
{
|
|
var cookie = new System.Web.HttpCookie("antiforgerytoken");
|
|
cookie.HttpOnly = false; // GOOD: not an auth cookie
|
|
}
|
|
|
|
void CookieDirectFalse()
|
|
{
|
|
var cookie = new System.Web.HttpCookie("sessionID");
|
|
cookie.HttpOnly = false; // BAD
|
|
}
|
|
|
|
void CookieDirectFalseInitializer()
|
|
{
|
|
var cookie = new System.Web.HttpCookie("sessionID") { HttpOnly = false }; // BAD
|
|
}
|
|
|
|
void CookieIntermediateTrue()
|
|
{
|
|
var cookie = new System.Web.HttpCookie("sessionID");
|
|
bool v = true;
|
|
cookie.HttpOnly = v; // GOOD: should track local data flow
|
|
}
|
|
|
|
void CookieIntermediateTrueInitializer()
|
|
{
|
|
bool v = true;
|
|
var cookie = new System.Web.HttpCookie("sessionID") { HttpOnly = v }; // GOOD: should track local data flow
|
|
}
|
|
|
|
void CookieIntermediateFalse()
|
|
{
|
|
var cookie = new System.Web.HttpCookie("sessionID");
|
|
bool v = false;
|
|
cookie.HttpOnly = v; // BAD
|
|
}
|
|
|
|
void CookieIntermediateFalseInitializer()
|
|
{
|
|
bool v = false;
|
|
var cookie = new System.Web.HttpCookie("sessionID") { HttpOnly = v }; // BAD
|
|
}
|
|
}
|