| | #!/usr/bin/php |
---|
| | <?php |
---|
| | //error_reporting(0); |
---|
| | |
---|
| | /*** |
---|
| | * Main program - Don't edit below |
---|
| | */ |
---|
| | echo " _ ______ _\n| | (_____ \ (_)\n| | _ ____ ____) ) _ ___ ___ ____\n| || \| _ \/_____/ | |/___)/ _ \| _ \ \n| |_) ) | | |______ | |___ | |_| | | | |\n|____/| ||_(_______)| (___/ \___/|_| |_|\n |_| (__/ \n\n"; |
---|
| | |
---|
| | foreach (glob("classes/*.php") as $filename) |
---|
| | include $filename; |
---|
| | |
---|
| | $definitions = new \Clapp\CommandLineArgumentDefinition( |
---|
| | array( |
---|
| | "help|h" => "Shows help message", |
---|
| | "doc|d=s" => "/path/to/burp.xml to use", |
---|
| | "no-save|n" => "Output only - Don't save JSON files", |
---|
| | ) |
---|
| | ); |
---|
| | |
---|
| | $filter = new \Clapp\CommandArgumentFilter($definitions, $argv); |
---|
| | |
---|
| | if ($filter->getParam('h') === true || $argc < 2) { |
---|
| | echo "Convert burp \"report issues\" XML output file to JSON files for repgen.php\n\n"; |
---|
| | fwrite(STDERR, $definitions->getUsage()); |
---|
| | exit(0); |
---|
| | } |
---|
| | |
---|
| | // see if doc exists |
---|
| | if ($filter->getParam("doc") == false) |
---|
| | die("[-] no doc set\n"); |
---|
| | |
---|
| | echo "[!] doc: ".$filter->getParam("doc")."\n"; |
---|
| | if(!file_exists($filter->getParam("doc"))) |
---|
| | die("[-] no such file! \n"); |
---|
| | |
---|
| | |
---|
| | //$xmlfile = file_get_contents($filter->getParam("doc")); |
---|
| | $burp= simplexml_load_file($filter->getParam("doc")); |
---|
| | |
---|
| | $resultsFolder = substr($filter->getParam("doc"), 0, strrpos( $filter->getParam("doc"), '/') )."/"; |
---|
| | $vulnarray = array(); |
---|
| | |
---|
| | foreach($burp as $issue => $details){ |
---|
| | $issue = (string)$details->name; |
---|
| | if(!in_array($issue, $vulnarray)){ |
---|
| | array_push($vulnarray, $issue); |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | echo "[=] ".count($vulnarray)." vulnerabilities identified\n"; |
---|
| | |
---|
| | foreach($vulnarray as $issue){ |
---|
| | $newfilename = preg_replace( '/[^a-z0-9]+/', '-', strtolower( $issue) ); |
---|
| | if($filter->getParam('no-save') === true){ |
---|
| | echo "[+] issue: ".$issue."\n"; |
---|
| | }else{ |
---|
| | echo "[+] creating file: ".$resultsFolder.$newfilename.".json\n"; |
---|
| | touch($resultsFolder.$newfilename.".json"); |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | if($filter->getParam('no-save') !== true) |
---|
| | echo "[!] These are empty JSON files, remember to floss!\n"; |
---|
| | |
---|
| | |
---|
| | ?> |
---|
| | |