public string setWebGoatPhaseSettings_example1() { var analysisArtifacts = KAnalysisArtifacts.load(webGoatAnalysisArtifactsFile); analysisArtifacts.phase_1.run = true; analysisArtifacts.phase_1.task1_copyAssessmentFiles = true; analysisArtifacts.phase_1.task2_copyProjectConfigFiles = true; analysisArtifacts.phase_2.run = true; analysisArtifacts.phase_2.task1_SplitFindingsOnTrace = true; analysisArtifacts.phase_2.task2_createStrutsMappings = true; analysisArtifacts.phase_3.run = true; analysisArtifacts.phase_3.task1_handleKnownSinks = true; analysisArtifacts.phase_3.task2_filterFindings = true; analysisArtifacts.phase_3.task3_filter_FindingsWithNoTraces = true; analysisArtifacts.phase_3.task4_CalculateStrutsFindings = true; analysisArtifacts.phase_4.run = true; analysisArtifacts.phase_4.task1_analyseFindingsWithKnownSinks = true; analysisArtifacts.phase_4.task2_AdjustsStrutsFindings = true; analysisArtifacts.phase_5.run = true; analysisArtifacts.phase_5.task1_createFinalAssessmentFile = true; // save the results in the end KAnalysisArtifacts.save((KAnalysisArtifacts)analysisArtifacts, webGoatAnalysisArtifactsFile); return(webGoatAnalysisArtifactsFile); }
public string setWebGoatPhaseSettings_example2() { var analysisArtifacts = KAnalysisArtifacts.load(webGoatAnalysisArtifactsFile); // loads AnalysisArtifact xml file XUtils_AnalysisWorkflow.setAllPhasesAndTasksValue(analysisArtifacts, false); // disables all phases and tasks analysisArtifacts.phase_3.run = true; // enable phase #3 analysisArtifacts.phase_3.task2_filterFindings = true; // enable phase #3's tasks #2 analysisArtifacts.phase_3.task2_sourceSink.Clear(); // remove previous entries // note: the SourceSink object should be created with 3 parameters: // - Source // - Sink // - RemoveMatches : when set will remove the findings that matched the Source/Sink pair from the next queries analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("getParameter", "", false)); // add new mappings analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "org.apache", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("getAttribute", "", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "setAttribute", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "setProperty", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "sql", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "print", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "io", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "Cookie", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "exec", true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "log", true)); //analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("get","set",true)); analysisArtifacts.phase_3.task2_sourceSink.Add(new SourceSink("", "external_caller", true)); KAnalysisArtifacts.save((KAnalysisArtifacts)analysisArtifacts, webGoatAnalysisArtifactsFile); return(webGoatAnalysisArtifactsFile); }
// creates a new Artifacts Object file and saves it public static bool createAnalysisArtifactFile(string workflowName, string assessmentFile, string targetFolder, string targetAnalysisArtifactsFile) { var analysisArtifacts = (KAnalysisArtifacts)createAnalysisArtifact(workflowName, assessmentFile, targetFolder); setAllPropertiesValue(analysisArtifacts, true); KAnalysisArtifacts.save(analysisArtifacts, targetAnalysisArtifactsFile); return(File.Exists(targetAnalysisArtifactsFile)); }
public string createWebgoatArtifactsFile() { File.Delete(webGoatAnalysisArtifactsFile); Assert.That(false == File.Exists(webGoatAnalysisArtifactsFile), "webGoatAnalysisArtifactsFile should not exists at this stage: " + webGoatAnalysisArtifactsFile); string workflowName = "webgoat (from O2 Unit test)"; string assessmentFile = webGoatAssessmentFile; string targetFolder = Path.Combine(demoDataFolder, workflowName); string targetAnalysisArtifactsFile = webGoatAnalysisArtifactsFile; // create it var analysisArtifacts = (KAnalysisArtifacts)XUtils_AnalysisWorkflow.createAnalysisArtifact(workflowName, assessmentFile, targetFolder); // save it KAnalysisArtifacts.save(analysisArtifacts, targetAnalysisArtifactsFile); // make sure it exists Assert.That(File.Exists(webGoatAnalysisArtifactsFile), "webGoatAnalysisArtifactsFile was not created: " + webGoatAnalysisArtifactsFile); return(webGoatAnalysisArtifactsFile); }