当前位置:   article > 正文

分析 CloudFlare JS加密的原理_cloudflare ray id

cloudflare ray id

本内容在 https://blog.csdn.net/qq_39802740/article/details/101367856 上拓展

几个代码片段的分析

所有代码在附件中

当一个网站被cloudflare保护的时候,如 https://www.biovision.com/
向该网站发送 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

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

<script type="text/javascript">
//<![CDATA[
(function(){
		//省略
   setTimeout(function(){ 
	//省略
},4000); /*eoc*/
})();
  //]]>
</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

代码1:

  var s,t,o,p, b,r,e,a,k,i,n,g,f, 
  hTPbLCV={"YcDlEwUCMy":+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]))};
//这里只有hTPbLCV赋值了
  • 1
  • 2
  • 3
  • javascript 所有的 [] !![] 等算出来的值基本都是小数

把你要计算的放到浏览器-console-里就能直接计算,计算得 hTPbLCV.YcDlEwUCMy=3.163119573749737

把你要计算的放到浏览器-console-里就能直接计算

代码2:

下面这段代码用于解密特定的字符串

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;
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

比如:比如 e(‘ZG9jdW1l’)=“docume” ,相当于简单的混淆了,这个混淆函数配合 eval() 使用可以隐藏很多内容

代码3:

下面这段用于获取网站的根域名,即通过以下代码运算 t 最后的值就是网站的域名

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无关
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

因此修改上面这段代码为:

t = "www.biovision.com";
  • 1

代码4:

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请求
  • 1
  • 2
  • 3

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

k = 'cf-dn-XjjFzigowDa';
  • 1

两个特殊的计算过程

接下来,会不断改变 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
  • 1
  • 2
  • 3
  • 4

可以发现有2个 eval 函数,先把第二个eval的内容放到浏览器执行(注意g,o,e原函数都要复制):
在这里插入图片描述
可以发现执行的结果是 document.getElementById(k).innerHTML,这就表示 js从浏览器中获得了某些内容,查看以下 HTML 中 id 为 k 的代码(k的值在上面有),如下:

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

再加一个 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
  • 2
  • 3

可以发现,这个跟过程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请求,得到真实的网站
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里可以 直接改为:

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

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

总结

破解 CloudFare 的关键就是,找出所有的加密混淆函数、如上面定义的 g,o,e 和 eval,分析他们的功能,对于 eval 函数,需要逐个分析每个 eval 的逻辑过程

附件

<!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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/200474
推荐阅读
相关标签
  

闽ICP备14008679号