分析 CloudFlare JS加密的原理 (VB.net)

分析 CloudFlare 5秒盾 JS加密的原理

本内容在 https://blog.csdn.net/qq_39802740/article/details/101367856 上拓展,阅读本文需要先看懂该的文章。

本文核心内容:如何获得 jschl-answer 的值?

html文件见最后

当一个网站被cloudflare保护的时候,如 https://www.biovision.com/
向该网站发送http Get 请求,会返回503错误,但是仍然会返回一段html ,该html获取方式在用 vb.net 写则如下所示:

Dim result As New Dictionary(Of String, String)
Dim Request As HttpWebRequest = CType(Net.WebRequest.Create(URL), HttpWebRequest)
Dim Response As HttpWebResponse
With Request
    .Accept = "*/*"
    .Timeout = 6000
    .Method = "GET"
    .KeepAlive = False
    .Referer = URL
    .UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
    .ReadWriteTimeout = 3000
End With
Try
    Response = CType(Request.GetResponse(), HttpWebResponse)
    Dim Cookie = Response.Headers.ToString
Catch ex As WebException
    Try
        Dim whc As WebHeaderCollection = ex.Response.Headers
        Dim CFRAY As String = whc.Get("CF-RAY")
        Dim cfrequestid As String = whc.Get("cf-request-id")
        Dim SetCookie As String = whc.Get("Set-Cookie")
        result.Add("CF-RAY", CFRAY)
        result.Add("cf-request-id", cfrequestid)
        result.Add("Set-Cookie", SetCookie)
    Catch ex1 As Exception
        Console.WriteLine("未获得cfuid")
    End Try
End Try

获得的html 文本包含一段 js 代码如下:

<script type="text/javascript">
//<![CDATA[
(function(){
		//省略
   setTimeout(function(){ 
	//省略
},4000); /*eoc*/
})();
  //]]>
</script>

其中,setTimeout 中的函数是我们需要关注的,其它的不用考虑
逐个分析代码中的片段:

  var s,t,o,p, b,r,e,a,k,i,n,g,f, 
  hTPbLCV={"YcDlEwUCMy":+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]))};
//这里只有hTPbLCV赋值了

javascript 所有的 [] !![] 等算出来的值基本都是小数
hTPbLCV.YcDlEwUCMy=3.163119573749737
将代码放到浏览器执行如图所示(把你要计算的放到浏览器-console-里就能直接计算):
把你要计算的放到浏览器-console-里就能直接计算
下面这段代码用于解密特定的字符串:

g = String.fromCharCode;//根据 Unicode 值显示字符串 ,比如g(66)="B"
o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
e = function(s) {
  s += "==".slice(2 - (s.length & 3));
  var bm, r = "", r1, r2, i = 0, r3 = '<span class="cf-error-code">1020</span>';
  for (; i < s.length;) {
      bm = o.indexOf(s.charAt(i++)) << 18 | o.indexOf(s.charAt(i++)) << 12
              | (r1 = o.indexOf(s.charAt(i++))) << 6 | (r2 = o.indexOf(s.charAt(i++)));
      r += r1 === 64 ? g(bm >> 16 & 255)
              : r2 === 64 ? g(bm >> 16 & 255, bm >> 8 & 255)
              : g(bm >> 16 & 255, bm >> 8 & 255, bm & 255);
  }
  return r;
};

比如:比如 e(‘ZG9jdW1l’)=“docume” 配合eval() 使用可以隐藏很多内容

下面这段用于获取网站的根域名

t = document.createElement('div');
t.innerHTML="<a href='/'>x</a>";		//href='/' 表示返回根目录,或者返回网站首页,这里是获取网站的首页
t = t.firstChild.href;
r = t.match(/https?:\/\//)[0];
t = t.substr(r.length); 
t = t.substr(0,t.length-1); //t的值就是当前网站的域名:如www.baidu.com,t的值与r无关

我们可以修改上面这段代码为:

t = "www.biovision.com";

接下来:

k = 'cf-dn-XjjFzigowDa';	//k是某个标签的id,见html文档中的  <div style="display:none;visibility:hidden;" id="cf-dn-XjjFzigowDa">
a = document.getElementById('jschl+answer'.replace('+', '-'));	//jschl-answer
f = document.getElementById('challenge-form');//这里是为了提交表单,实际上就是发送Post请求

这里我们只需要 jschl-answer 计算出来的值,因此上面代码可以直接去掉 a,f 这两行:

k = 'cf-dn-XjjFzigowDa';

接下来,会不断改变 hTPbLCV.YcDlEwUCMy 的数值,这里就介绍两个特殊的计算过程:

过程1

hTPbLCV.YcDlEwUCMy-=function(p){var p = eval(eval(e("ZG9jdW1l")+(undefined+"")[1]+(true+"")[0]+(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]+g(103)+(true+"")[3]+(true+"")[0]+"Element"+g(66)+(NaN+[Infinity])[10]+"Id("+g(107)+")."+e("aW5uZXJIVE1M"))); return +(p)}();
//eval() 可计算某个字符串,并执行其中的的 JavaScript 代码
//eval("document.getElementById(k).innerHTML")) 获得的值见 <div style="display:none;visibility:hidden;" id="cf-dn-XjjFzigowDa">
//再加一个eval() 表示计算该 innerHTML 的值 ,计算结果为5.595866831086827

可以发现有2个eval,先把第二个eval的内容放到浏览器执行(注意g,o,e都要复制):
在这里插入图片描述
可以发现执行的结果是 “document.getElementById(k).innerHTML” ,这就表示 js从浏览器中获得了某些内容,也就是:

<div style="display:none;visibility:hidden;" 
id="cf-dn-XjjFzigowDa">
+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![]))/+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]))
</div>

再加一个eval() 表示计算该 innerHTML 的值 ,计算结果为5.595866831086827
也就是说过程一的计算结果就是 5.595866831086827

过程2

hTPbLCV.YcDlEwUCMy*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/(+(+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])))
+(function(p){return eval((true+"")[0]+".ch"+(false+"")[1]+(true+"")[1]+Function("return escape")()(("")["italics"]())[2]+"o"+(undefined+"")[2]+(true+"")[3]+"A"+(true+"")[0]+"("+p+")")}(+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])))));
//charCodeAt() 方法可返回指定位置的字符的 Unicode 编码

可以发现,这个根过程1 类似,同样,先把eval 里的值放到浏览器去执行:
在这里插入图片描述
可以看到,他是对 t 进行操作了,而 t=“www.biovision.com”
这里说一下, 这个 object htmllielement 就是 function§ 中 p 的值,该值传入的参数为 7,想知道为什么,可以去搜 js 匿名函数

同样的,过程2 的执行结果为 4.424814853139403

剩下的一大堆的 hTPbLCV.YcDlEwUCMy 计算过程就不讨论了,都是简单的 加减乘除,接下来看最后的语句:

a.value = (+hTPbLCV.YcDlEwUCMy).toFixed(10); '; 121'
//这里 '; 121' 可以删掉
//toFixed 就是保留几位小数
//最后计算得出的 jschl-answer 就是这个a.value的值
f.action += location.hash;	//location.hash 表示获得网站的锚链接,读取该值可以判断网站是否改变
f.submit();	//发送post请求,得到真实的网站

这里可以 直接改为:

jschlanswer= (+hTPbLCV.YcDlEwUCMy).toFixed(10); '; 121'
return jschlanswer
//写一个 函数 返回该值,就可以获得jschl-answer的正确数值了

得到 jschl-answer 写入cookie,就可以直接post 请求,从而绕过 5s 盾

附件

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
  <meta name="robots" content="noindex, nofollow" />
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
  <meta http-equiv="refresh" content="12">
  <title>Just a moment...</title>
  <style type="text/css">
    html, body {width: 100%; height: 100%; margin: 0; padding: 0;}
    body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;}
    h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;}
    p {font-size: 20px; font-weight: 400; margin: 8px 0;}
    p, .attribution, {text-align: center;}
    #spinner {margin: 0 auto 30px auto; display: block;}
    .attribution {margin-top: 32px;}
    @keyframes fader     { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }
    @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }
    #cf-bubbles > .bubbles { animation: fader 1.6s infinite;}
    #cf-bubbles > .bubbles:nth-child(2) { animation-delay: .2s;}
    #cf-bubbles > .bubbles:nth-child(3) { animation-delay: .4s;}
    .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; }
    a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; }
    a:hover{color: #f4a15d}
    .attribution{font-size: 16px; line-height: 1.5;}
    .ray_id{display: block; margin-top: 8px;}
  </style>

    <script type="text/javascript">
  //<![CDATA[
  (function(){
    
    var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
    b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)};
    b(function(){
      var a = document.getElementById('cf-content');a.style.display = 'block';
      var isIE = /(MSIE|Trident\/|Edge\/)/i.test(window.navigator.userAgent);
      var trkjs = isIE ? new Image() : document.createElement('img');
      trkjs.setAttribute("src", "/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=58949cb1d9ee04c0");
      trkjs.id = "trk_jschal_js";
      trkjs.setAttribute("alt", "");
      document.body.appendChild(trkjs);
      
      setTimeout(function(){
        var s,t,o,p, b,r,e,a,k,i,n,g,f, hTPbLCV={"YcDlEwUCMy":+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]))};
        g = String.fromCharCode;
        o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        e = function(s) {
          s += "==".slice(2 - (s.length & 3));
          var bm, r = "", r1, r2, i = 0, r3 = '<span class="cf-error-code">1020</span>';
          for (; i < s.length;) {
              bm = o.indexOf(s.charAt(i++)) << 18 | o.indexOf(s.charAt(i++)) << 12
                      | (r1 = o.indexOf(s.charAt(i++))) << 6 | (r2 = o.indexOf(s.charAt(i++)));
              r += r1 === 64 ? g(bm >> 16 & 255)
                      : r2 === 64 ? g(bm >> 16 & 255, bm >> 8 & 255)
                      : g(bm >> 16 & 255, bm >> 8 & 255, bm & 255);
          }
          return r;
        };
        t = document.createElement('div');
        t.innerHTML="<a href='/'>x</a>";
        t = t.firstChild.href;r = t.match(/https?:\/\//)[0];
        t = t.substr(r.length); t = t.substr(0,t.length-1); k = 'cf-dn-XjjFzigowDa';
        a = document.getElementById('jschl+answer'.replace('+', '-'));
        f = document.getElementById('challenge-form');
        ;hTPbLCV.YcDlEwUCMy+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]));hTPbLCV.YcDlEwUCMy*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]));hTPbLCV.YcDlEwUCMy-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![])+(+!![])+(+[])+(!+[]+!![]));hTPbLCV.YcDlEwUCMy-=function(p){var p = eval(eval(e("ZG9jdW1l")+(undefined+"")[1]+(true+"")[0]+(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]+g(103)+(true+"")[3]+(true+"")[0]+"Element"+g(66)+(NaN+[Infinity])[10]+"Id("+g(107)+")."+e("aW5uZXJIVE1M"))); return +(p)}();hTPbLCV.YcDlEwUCMy-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(+!![])+(+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]));hTPbLCV.YcDlEwUCMy*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/(+(+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])))+(function(p){return eval((true+"")[0]+".ch"+(false+"")[1]+(true+"")[1]+Function("return escape")()(("")["italics"]())[2]+"o"+(undefined+"")[2]+(true+"")[3]+"A"+(true+"")[0]+"("+p+")")}(+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])))));hTPbLCV.YcDlEwUCMy+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]))/+((+!![]+[])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]))/+((!+[]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]));hTPbLCV.YcDlEwUCMy-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]));a.value = (+hTPbLCV.YcDlEwUCMy).toFixed(10); '; 121'
        f.action += location.hash;
        f.submit();
      },4000); /*eoc*/
      
    }, false);
  })();
  //]]>
</script>


</head>
<body>
  <table width="100%" height="100%" cellpadding="20">
    <tr>
      <td align="center" valign="middle">
          <div class="cf-browser-verification cf-im-under-attack">
  <noscript>
    <h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1>
  </noscript>
  <div id="cf-content" style="display:none">
    
    <div id="cf-bubbles">
      <div class="bubbles"></div>
      <div class="bubbles"></div>
      <div class="bubbles"></div>
    </div>
    <h1><span data-translate="checking_browser">Checking your browser before accessing</span> biovision.com.</h1>
    
    <p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
    <p data-translate="allow_5_secs">Please allow up to 5 seconds&hellip;</p>
  </div>
   
  <form id="challenge-form" action="/?__cf_chl_jschl_tk__=50e7b1eda8a26c101043a80e8055900a37a0f554-1587781511-0-AT_1N-2I3XSoWGhbG-FnLLBp8o2KbzRXrkaiVKIIiU8soshSVeeQDJvnryhRlKr_gbWFPuWwdy8Y65E3tOeIcSnQUbkTf6TNFC5TNsatpwCos3UiRk5wJ9_8TpndXCktN8v3HBvS4akE6hKEPEE3ObpfB5Dx-gP4j4DopedTZFcPsPEUOi9JjpT35065zCZBh-a0KwZfGWlnvBYAMqV2XMPKd92BZikbHSIuwwJx-gIlorJUozMH2y9nzGoCv9S51QjXJXoCQT7gVI7SfeetY1Q" method="POST" enctype="application/x-www-form-urlencoded">
    <input type="hidden" name="r" value="3e14e549d490a40fb7208694ab2db0135dc0f62e-1587781511-0-AZtabG78km2lcPdx0ITfw+Px2CcShLYmadYQWT5L0BTNv6JJy1kdg7zEFJyz+a2kGpvp3HVt4lOMY2Uf3hWuncrhBng8McbFeYhY/4+WI3Y36KDKSxqI8dZ8D3KLWP32XLwqU5zSs1A46PcGn/Vns3CfUBTejxzzcDPwHOmKdwWlATywNQdjfZaWSRBhKzl8VmPVXU0iDo/rg9+MoGNIx7kCf4ndefOhzRhqA589g9jRruuh8PT5Qdl1RkeCCqDH3D7OZuKVcXKLDmoBKfk2PQdVoox4l/801UrXEKOP9tmz4f4dm0MqfokDO4a6pmZpnKbdu3IXUVOzqwJq64lXdTCT7HBCW3On5Xkko+37F7FHujqDQhCIrJdCWPQ/WFjJOch6tlPjmUajhTQiP5oH1cK6nk9Q6rEAIlaYBfT5lgTG+1iDAnYrDMDxPrr+vUCF6TIVRLC/rDWafEOOgRz1T298Mplm+Dzmviq0glAARE3MaOhO7DJRjYRMkIun/ygmswkeIqw96wc9I6amAGU2E6w9bx3hGDjGUOCQnmsWt717HvZ/2r0SLAza3O+3L3vsR0+NCZps3eOxeCAumSRq2vPmuevXrbYfVD0oCQ5tmqbyGzKUVPrGCx/GgrwawEfReT0cWL0oPcE4Vc88UeBT4Bvg3uYWLYsP0whvyvhlNPoJ4gSitJ7YFslhC06x4jl03UUaozrTVLwneGkrYNYN4CmWuL5W18xht47bVoEhnKg/A3LJE9uxEd+aVp6rvKP7HKQgYFO3Bel4Ux3cTmrfJ8bZdf81pZenQ4i665GD5tCYnjXNZ8mmO5uc9v3oDOO9JuYLREaDDMF3gtpFoPHHDwJFk2j0fAR6H8zsf001t1K8CVUVY/bvcihwXIYyKESH4DvlflIExrdNcKIY5xgpiJI2+LCod+LzGRZiQ6PCkqkcYrIxHP/BmM/LezHiLyjQBrpYYog9UwMiSrbIV/hNNTejpSbL1FTlzwvAQjoOfE2ov2+Q3k6pHdLxyZJ2Oi5Q6XHrzHonQZNKTH/oTrM6UIM8sqwt1HgSUEvG5My3sgro6bErTTUofKYxpShZD9QOno73lOC25AH2kghso5Upg+wxBXoUEZNk/2FHW9Phnvza6gEqj20KjGtKhT21oG5YZVLtBF+Pbz454NybJfB0NXGS8BpNv/wbpKkJhQibwMBRPWr1IYg0W0m5DnjZsJ6pZPHK1Z8i2LgRgaKYOeyd/fPM80SjN78LT1vfFldH0qEqtLFMA7OK815TDHhynbAd53hLCrUBwi2cMfWTJXNT9n6nsapyodOhwitos14FtVNPPW8wT60+qEpFV3Jn6LPQMSZfO8qqRKqeNJJDPrIGz8Mp/VLo4PYQ1kqoM+BRwpJ4x8cg3HTIa8YhLbuoAyk4j9+cTQDDomaXc8xVhC/2PL9RkzXgmo8ErVi78qIR3oTQghkSSJgG67rnbaTX65XtQL7Q2fGrtH0SkDAPF3cDDq41VeNPIBAZo6kvlBiEVKC7P/uVQn8G5tRn1hlp2GBrvF2f8IR6WEy41UMttxseQaCfURaDqH5qZZMdxec6ivm1azb84qwmHkO0p8xm08Kg2lOb76tKQBH+r1BXWn6LYflh04UDnKk2hmZpFQk7gwphz9jE80Mj2+ubIKacnx265raJbsBguD1IsVs2uH1zhGdd3YChGN9/5o8I5HZOhsp4m0H940NcFXxlzBu3wn3xmkCb+L3SiBOwvaUCdjWYvvt//H4owcylbtkB1pe7q/3daVlk9eV3eL6fEPfmj/RWYLWAVsgm3vufdpMN09E0GnxOWEVP4//JEs2m1yq9+pinmCfz3aMJYSqh5o/H0jk7c6hov686bPYO0K0pB0CzSWPPA9dh60CO7AiHlRa9XDOo"/>
    <input type="hidden" value="a1afe14c5bc7ce5f8140bbd1ac09706f" id="jschl-vc" name="jschl_vc"/>
    <input type="hidden" name="pass" value="1587781515.98-72Q8XZ9wPb"/>
    <input type="hidden" id="jschl-answer" name="jschl_answer"/>
  </form>
  
  <div style="display:none;visibility:hidden;" id="cf-dn-XjjFzigowDa">+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![]))/+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]))</div>
  
  <div id="trk_jschal_nojs" style="background-image:url('/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=58949cb1d9ee04c0')"> </div>
</div>

          
          <div class="attribution">
            DDoS protection by <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=iuam" target="_blank">Cloudflare</a>
            <br />
            <span class="ray_id">Ray ID: <code>58949cb1d9ee04c0</code></span>
          </div>
      </td>
     
    </tr>
  </table>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/chaoge_dgqb/article/details/105785914