public static ISqlInjectionAttackBuilder UseTimeBased(this ISqlInjectionAttackBuilder builder, Func <InjectorBuilder, InjectionOptions> injectorBuilder, TimeBasedBlindSqlInjectionOptions options) { builder.Services.AddSingleton(options); builder.Services.AddScoped <IHypothesisTester, TimeBasedHypothesisTester>(); builder.Services.AddScoped <InjectionOptions>(_ => injectorBuilder(new InjectorBuilder())); builder.Services.AddScoped <ITimeBasedInjector, Injector>(); return(builder); }
public static IErrorBasedSqlInjectionAttackBuilder UseErrorBased( this ISqlInjectionAttackBuilder builder, Func <InjectorBuilder, InjectionOptions> injectorBuilder, Func <IErrorBuilder, IErrorBuilder> errorBuilder, Func <IErrorDetectorBuilder, IErrorDetectorBuilder> errorDetector ) { builder.Services.AddScoped <IHypothesisTester, ErrorBasedHypothesisTester>(); builder.Services.AddScoped <InjectionOptions>(_ => injectorBuilder(new InjectorBuilder())); builder.Services.AddScoped <IErrorBasedInjector, Injector>(); var b = new ErrorBasedSqlInjectionBuilder(builder.Services); errorBuilder(b); errorDetector(b); return(b); }
public static ISqlInjectionAttackBuilder UseBooleanBased <THypothesisTester>(this ISqlInjectionAttackBuilder builder) where THypothesisTester : class, IHypothesisTester { builder.Services.AddScoped <IHypothesisTester, THypothesisTester>(); return(builder); }