Using Avalonia ILSpy we can decompile the DLL file and inspect different functions
SetupController contains some interesting code and it shows a URL path
public class SetupController : Controller
{
private readonly string _credsFilePath = "credentials.json";
public IActionResult SetupWizard()
{
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
if (File.Exists(_credsFilePath))
{
PathString path = ((ControllerBase)this).HttpContext.Request.Path;
string requestPath = ((PathString)(ref path)).Value;
if (requestPath.Equals("/Setup/SetupWizard", StringComparison.OrdinalIgnoreCase))
{
return (IActionResult)(object)((Controller)this).View("Error", (object)new ErrorViewModel
{
RequestId = "Server already set up.",
ExceptionMessage = "Server already set up.",
StatusCode = 403
});
}
}
return (IActionResult)(object)((Controller)this).View();
}
On visiting this page we can actually set admin credentials!
After setting credentials we can login and inspect services to get the flag