private void deleteTest_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("No project found."); return; } if (penTesterDataView.SelectedRows.Count > 0) { DataGridViewSelectedRowCollection collection = penTesterDataView.SelectedRows; foreach (DataGridViewRow gvr in collection) { DateTime start = (DateTime)gvr.Cells[0].Value; DateTime end = (DateTime)gvr.Cells[1].Value; string tester = gvr.Cells[2].Value.ToString(); PenetrationTestPOCO obj = new Business.PenetrationTestPOCO(); obj.TesterName = tester; obj.StartDate = start; obj.EndDate = end; projectHelper.ModifyPenTestAnalysis(Business.ModTypes.Remove, project.Name, obj); } BindPenTest(project); } else { ShowError("No tests were selected to remove"); } }
private void addNote_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (string.IsNullOrEmpty(documentationDetail.Text)) { ShowError("Unable to add documenation." + Environment.NewLine + "Please add details about the issue."); return; } else if (string.IsNullOrEmpty(issueType.Text)) { ShowError("Unable to add documentation" + Environment.NewLine + "Please select a category."); return; } if (null == project) { ShowError("Unable to find selected project. Please make sure you have selected a project"); } else { Documentation data = new Documentation(); data.Category = issueType.Text; DateTime d = Convert.ToDateTime(issueDatePicker.Value.ToShortDateString()); data.DateOfIssue = d; data.Details = documentationDetail.Text; projectHelper.ModifyDocumenation(ModTypes.Add, ddlProjects.Text, data); BindDocumentation(project); } }
private void deleteAnalysis_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("No project found."); return; } if (staticCodeAnalysisData.SelectedRows.Count > 0) { DataGridViewSelectedRowCollection collection = staticCodeAnalysisData.SelectedRows; foreach (DataGridViewRow gvr in collection) { DateTime date = (DateTime)gvr.Cells[0].Value; StaticAnalysisPOCO obj = new StaticAnalysisPOCO(); obj.AnalysisDate = date; projectHelper.ModifyStaticAnalysis(ModTypes.Remove, project.Name, obj); } BindStaticAnalysis(project); } else { ShowError("No scans were selected to remove"); } }
private void addPenTestDate_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (string.IsNullOrEmpty(penTesterUserList.Text)) { ShowError("Unable to add test." + Environment.NewLine + "Please add tester name."); return; } if (null == project) { ShowError("Unable to find selected project. Please make sure you have selected a project"); } else { PenetrationTestPOCO data = new PenetrationTestPOCO(); data.TesterName = penTesterUserList.Text; data.EndDate = penTestTimePickerEnd.Value; data.StartDate = penTestTimePickerStart.Value; if (data.StartDate >= data.EndDate) { ShowError("Start Date must be less than End Date"); return; } else { projectHelper.ModifyPenTestAnalysis(ModTypes.Add, ddlProjects.Text, data); BindPenTest(project); } } }
private void deleteDocumentation_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("No project found."); return; } if (notesDataView.SelectedRows.Count > 0) { DataGridViewSelectedRowCollection collection = notesDataView.SelectedRows; foreach (DataGridViewRow gvr in collection) { DateTime date = (DateTime)gvr.Cells[1].Value; Documentation obj = new Documentation(); obj.DateOfIssue = date; obj.Category = gvr.Cells[2].Value.ToString(); obj.Details = gvr.Cells[0].Value.ToString(); projectHelper.ModifyDocumenation(ModTypes.Remove, project.Name, obj); } BindDocumentation(project); } else { ShowError("No documentation was selected to remove"); } }
private void nmapExecute_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("No project found."); return; } bool isInvalid = HasErrorsForNmap(); if (isInvalid) { AlertMessages(ref errorsForNmap); return; } if (!string.IsNullOrEmpty(nmapCommand.Text)) { NmapLog log = new NmapLog(); log.LogDateTime = DateTime.Now; log.NmapCommand = nmapCommand.Text; log.Project = ddlProjects.Text; log.PenTesterIP = nmapTestersIP.SelectedItem.ToString(); CmdHelper.LaunchNmap(log); string f = CreateFileName(Logger.LoggerTypes.nmaplog.ToString(), ddlProjects.Text); projectHelper.SaveNmapData(f, log); } else { MessageBox.Show("Unable to Execute nmap command", "Error"); } }
private void meetingCreation_Click(object sender, EventArgs e) { ProjectPOCO p = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == p) { ShowError("Unable to generate invites, please select a project"); } else { if (null != p.PenetrationTests) { foreach (PenetrationTestPOCO d in p.PenetrationTests.ToList()) { MailAddressCollection mac = new MailAddressCollection(); mac.Add(new MailAddress(PenetrationTesters.getAccount(d.TesterName).Email)); MailMessage m = MeetingInvite.CreateMeetingRequest(d.StartDate, d.EndDate, "Penetration Test for " + p.Name, "Meeting Request For Penetration Test", "Remote", ApplicationUserData.User.Name, ApplicationUserData.User.Email, mac); m.RawMessage(); } } } }
private void BindDocumentation(ProjectPOCO project) { if (null != project.DocumentationItems) { notesDataView.DataSource = project.DocumentationItems.ToList(); } else { notesDataView.DataSource = new List <Documentation>(); } }
private void BindStaticAnalysis(ProjectPOCO p) { SetStaticAnalysisDataviewProperties(); if (null != p.StaticAnalysis) { staticCodeAnalysisData.DataSource = p.StaticAnalysis.ToList(); } else { staticCodeAnalysisData.DataSource = new List <StaticAnalysisPOCO>(); } }
private void BindPenTest(ProjectPOCO p) { SetPenTestDataviewProperties(); if (null != p.PenetrationTests) { penTesterDataView.DataSource = p.PenetrationTests.ToList(); } else { penTesterDataView.DataSource = new List <PenetrationTestPOCO>(); } }
private void BindVulnerabilities(ProjectPOCO p) { if (null != p.Vulnerabilities) { dataGridView1.DataSource = p.Vulnerabilities.ToList().OrderBy(x => x.Risk).ToList(); } else { dataGridView1.DataSource = new List <IVulnerability>(); } dataGridView1.Columns["VulnerabilityID"].Visible = false; }
private void BindLanguages(ProjectPOCO p) { ClearLanguages(); if (null != p.CodeLanguages) { foreach (string s in p.CodeLanguages) { int index = codeLanguages.Items.IndexOf(s); if (index > 0) { codeLanguages.SetItemChecked(index, true); } } } }
private void addCodeAnalysisDate_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("Unable to find selected project. Please make sure you have selected a project"); } else { StaticAnalysisPOCO data = new StaticAnalysisPOCO(); data.AnalysisDate = staticScanCalendar.SelectionStart; projectHelper.ModifyStaticAnalysis(ModTypes.Add, ddlProjects.Text, data); BindStaticAnalysis(project); } }
async private void sshConnect_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("No project found."); return; } bool isInvalid = HasErrorsForSSH(); if (isInvalid) { AlertMessages(ref errorsForSSH); return; } SSHLog log = new SSHLog(); string f = CreateFileName(Logger.LoggerTypes.sshlog.ToString(), ddlProjects.Text); log.IPHostname = ipHostname.Text; log.Project = ddlProjects.Text; log.LogDate = DateTime.Now; log.Username = sshUsername.Text; SecureString pw = new SecureString(); foreach (char o in sshPassword.Text) { pw.AppendChar(o); } log.PenTesterIP = sshTestingIP.Text; string h = await LaunchPutty(log, pw); DialogResult d = MessageBox.Show("Please wait while the application starts..." + Environment.NewLine + Environment.NewLine + "Was the connection successful?", "Confirm", MessageBoxButtons.YesNo); if (DialogResult.Yes == d) { log.wasSuccessful = true; projectHelper.SaveSSHData(f, log); } else { log.wasSuccessful = false; projectHelper.SaveSSHData(f, log); } }
private void BindCodeScanType(ProjectPOCO p) { if (CodeScanType.Automated == p.ScanConfiguration) { scanTypeAutomated.Checked = true; } else if (CodeScanType.Hybrid == p.ScanConfiguration) { scanTypeAutoMan.Checked = true; } else if (CodeScanType.Manual == p.ScanConfiguration) { scanTypeManual.Checked = true; } else if (CodeScanType.None == p.ScanConfiguration) { scanTypeNone.Checked = true; } }
private void BindProjectData() { ProjectPOCO p = projectHelper.Data.First(x => x.Name == ddlProjects.Text); if (null != p) { //Clear Note ResetDocumentationInput(); isso.Text = p.ISSO; developmentLead.Text = p.DevLead; codeScanned.Checked = p.isCurrentlyScanned; repository.Text = p.Repository; productionUrlText.Text = p.ProductionURL; BindDocumentation(p); BindLanguages(p); BindPenTest(p); BindStaticAnalysis(p); BindCodeScanType(p); BindVulnerabilities(p); } }
private void saveDetails_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("Please select a project before adding project details."); return; } CodeScanType codeScanType = CodeScanType.None; if (scanTypeAutoMan.Checked) { codeScanType = CodeScanType.Hybrid; } else if (scanTypeAutomated.Checked) { codeScanType = CodeScanType.Automated; } else if (scanTypeManual.Checked) { codeScanType = CodeScanType.Manual; } else { codeScanType = CodeScanType.None; } IList <string> selectedLanguages = new List <string>(); foreach (var c in codeLanguages.CheckedItems) { selectedLanguages.Add(c.ToString()); } projectHelper.UpdateDetails(project.Name, isso.Text, developmentLead.Text, codeScanned.Checked, codeScanType, productionUrlText.Text, selectedLanguages, repository.Text); }
private void bindGrid(ProjectPOCO p) { dataGridView1.DataSource = p.Vulnerabilities.OrderBy(x => x.Risk).ToList(); dataGridView1.Update(); dataGridView1.Columns["VulnerabilityID"].Visible = false; }
private void addIssueButton_Click(object sender, EventArgs e) { ProjectPOCO project = projectHelper.GetCurrentProject(ddlProjects.Text); if (null == project) { ShowError("No project found."); return; } bool isUpdate = false; ModTypes t = ModTypes.Add; DateTime outCompleteDate; DateTime outDiscoveredDate; Decimal cvss = 0; IVulnerability vuln = new Vulnerability(); vuln.Identifier = Guid.NewGuid(); if (sender is Button) { Button localB = sender as Button; if (null != localB) { isUpdate = localB.Text == "Save" ? true : false; if (isUpdate) { t = ModTypes.Update; vuln.Identifier = EditGuid; } else { t = ModTypes.Add; } } } if (Decimal.TryParse(cvssDataText.Text, out cvss)) { vuln.CVSS = cvss; } else { MessageBox.Show("Value was not a decimal.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (DateTime.TryParse(completeDateInput.Text, out outCompleteDate)) { vuln.CompletedDate = outCompleteDate; } else { vuln.CompletedDate = null; } if (DateTime.TryParse(discoveredDate.Text, out outDiscoveredDate)) { vuln.DiscoveredDate = outDiscoveredDate; } else { vuln.DiscoveredDate = null; } string title = vulnTitle.Text; string status = statusInput.Text; string risklevel = riskLevelInput.Text; string details = vulnerabilityInput.Text; if (status != "Not An Issue" || status != "Fixed") { vuln.CompletedDate = null; } vuln.Title = title; vuln.VulnTypeReported = vulnTypeItems.SelectedItem.ToString(); vuln.Status = status; vuln.Risk = risklevel; vuln.Details = details; vuln.Tester = penTesterDiscover.SelectedItem.ToString(); vuln.isWeeklyReportItem = isForUpdate.Checked; Vulnerabilities.AddObject(vuln); projectHelper.ModifyVulnerabilityAnalysis(t, ddlProjects.Text, vuln); if (ModTypes.Update == t) { dataGridView1.CellContentClick += dataGridView1_CellContentClick; } bindGrid(project); ClearVulnForm(); }