forked from jellyfin/jellyfin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
131 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Findings |
18 changes: 18 additions & 0 deletions
18
fuzz/Emby.Server.Implementations.Fuzz/Emby.Server.Implementations.Fuzz.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<OutputType>Exe</OutputType> | ||
<TargetFramework>net5.0</TargetFramework> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<Reference Include="Emby.Server.Implementations"> | ||
<HintPath>Emby.Server.Implementations.dll</HintPath> | ||
</Reference> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="SharpFuzz" Version="1.6.2" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
using System; | ||
using Emby.Server.Implementations.Library; | ||
using SharpFuzz; | ||
|
||
namespace Emby.Server.Implementations.Fuzz | ||
{ | ||
public static class Program | ||
{ | ||
public static void Main(string[] args) | ||
{ | ||
switch (args[0]) | ||
{ | ||
case "PathExtensions.TryReplaceSubPath": Run(PathExtensions_TryReplaceSubPath); return; | ||
default: throw new ArgumentException($"Unknown fuzzing function: {args[0]}"); | ||
} | ||
} | ||
|
||
private static void Run(Action<string> action) => Fuzzer.OutOfProcess.Run(action); | ||
|
||
private static void PathExtensions_TryReplaceSubPath(string data) | ||
{ | ||
// Stupid, but it worked | ||
var parts = data.Split(':'); | ||
if (parts.Length != 3) | ||
{ | ||
return; | ||
} | ||
|
||
_ = PathExtensions.TryReplaceSubPath(parts[0], parts[1], parts[2], out _); | ||
} | ||
} | ||
} |
1 change: 1 addition & 0 deletions
1
fuzz/Emby.Server.Implementations.Fuzz/Testcases/PathExtensions.TryReplaceSubPath/test1.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/fuzz/Emby.Server.Implementations.Fuzz/Testcases/PathExtensions.TryReplaceSubPath/test1.txt/:/home/bond/dev/jellyfin/:/srv/jellyfin/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
dotnet build -c Release ../../Emby.Server.Implementations/Emby.Server.Implementations.csproj --output bin | ||
sharpfuzz bin/Emby.Server.Implementations.dll | ||
cp bin/Emby.Server.Implementations.dll . | ||
|
||
dotnet build | ||
mkdir -p Findings | ||
AFL_SKIP_BIN_CHECK=1 afl-fuzz -i "Testcases/$1" -o "Findings/$1" -t 5000 -m 10240 dotnet bin/Debug/net5.0/Emby.Server.Implementations.Fuzz.dll "$1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
<Project Sdk="Microsoft.NET.Sdk.Web"> | ||
|
||
<PropertyGroup> | ||
<OutputType>Exe</OutputType> | ||
<TargetFramework>net5.0</TargetFramework> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<Reference Include="Jellyfin.Server"> | ||
<HintPath>jellyfin.dll</HintPath> | ||
</Reference> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="../../MediaBrowser.Common/MediaBrowser.Common.csproj" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="SharpFuzz" Version="1.6.2" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using Jellyfin.Server.Middleware; | ||
using Microsoft.AspNetCore.Http; | ||
using Microsoft.AspNetCore.Http.Features; | ||
using Microsoft.Extensions.Primitives; | ||
using SharpFuzz; | ||
|
||
namespace Emby.Server.Implementations.Fuzz | ||
{ | ||
public static class Program | ||
{ | ||
public static void Main(string[] args) | ||
{ | ||
switch (args[0]) | ||
{ | ||
case "UrlDecodeQueryFeature": Run(UrlDecodeQueryFeature); return; | ||
default: throw new ArgumentException($"Unknown fuzzing function: {args[0]}"); | ||
} | ||
} | ||
|
||
private static void Run(Action<string> action) => Fuzzer.OutOfProcess.Run(action); | ||
|
||
private static void UrlDecodeQueryFeature(string data) | ||
{ | ||
var dict = new Dictionary<string, StringValues> | ||
{ | ||
{ data, StringValues.Empty } | ||
}; | ||
_ = new UrlDecodeQueryFeature(new QueryFeature(new QueryCollection(dict))); | ||
} | ||
} | ||
} |
1 change: 1 addition & 0 deletions
1
fuzz/Jellyfin.Server.Fuzz/Testcases/UrlDecodeQueryFeature/test1.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a%3D1%26b%3D2%26c%3D3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
dotnet build -c Release ../../Jellyfin.Server/Jellyfin.Server.csproj --output bin | ||
sharpfuzz bin/jellyfin.dll | ||
cp bin/jellyfin.dll . | ||
|
||
dotnet build | ||
mkdir -p Findings | ||
AFL_SKIP_BIN_CHECK=1 afl-fuzz -i "Testcases/$1" -o "Findings/$1" -t 5000 -m 10240 dotnet bin/Debug/net5.0/Jellyfin.Server.Fuzz.dll "$1" |