CF-Hash attribute and script mysteriously added to mailto links

后端 未结 4 1283
忘掉有多难
忘掉有多难 2020-12-21 23:28

I have a development site and production site:

I have a mailto email link at the bottom, the php source code is ex

4条回答
  •  不知归路
    2020-12-21 23:48

    Couldflare email de-obfuscation in different languages:

    Javascript

    function cfDecodeEmail(encodedString) {
        var email = "", r = parseInt(encodedString.substr(0, 2), 16), n, i;
        for (n = 2; encodedString.length - n; n += 2){
            i = parseInt(encodedString.substr(n, 2), 16) ^ r;
            email += String.fromCharCode(i);
        }
        return email;
    }
    
    console.log(cfDecodeEmail("543931142127353935313e352e7a373b39")); // usage

    Python

    def cfDecodeEmail(encodedString):
        r = int(encodedString[:2],16)
        email = ''.join([chr(int(encodedString[i:i+2], 16) ^ r) for i in range(2, len(encodedString), 2)])
        return email
    
    print( cfDecodeEmail('543931142127353935313e352e7a373b39') ) # usage
    
    

    PHP

    function cfDecodeEmail($encodedString){
      $k = hexdec(substr($encodedString,0,2));
      for($i=2,$email='';$i

    GO

    package main
    
    import (
        "bytes"
        "strconv"
    )
    
    func cf(a string) (s string) {
        var e bytes.Buffer
        r, _ := strconv.ParseInt(a[0:2], 16, 0)
        for n := 4; n < len(a)+2; n += 2 {
            i, _ := strconv.ParseInt(a[n-2:n], 16, 0)
            e.WriteString(string(i ^ r))
        }
        return e.String()
    }
    
    func main() {
        email := cf("543931142127353935313e352e7a373b39") // usage
        print(email)
        print("\n")
    }
    
    

    C++

    #include 
    #include 
    
    using namespace std;
    
    string cfDecodeEmail(string encodedString);
    
    int main()
    {
        cout << cfDecodeEmail("543931142127353935313e352e7a373b39") << endl;
    }
    
    string cfDecodeEmail(string encodedString)
    {
        string email;
        char xorKey = stoi( encodedString.substr(0, 2), nullptr, 16);
        for( unsigned i = 2; i < encodedString.length(); i += 2)
            email += stoi( encodedString.substr(i, 2), nullptr, 16) ^ xorKey;
    
        return email;
    }
    
    

    C

    using System;
    
    public class Program
    {
        public static string cfDecodeEmail(string encodedString)
        {
            string email = "";
            int r = Convert.ToInt32(encodedString.Substring(0, 2), 16), n, i;
            for (n = 2; encodedString.Length - n > 0; n += 2)
            {
                i = Convert.ToInt32(encodedString.Substring(n, 2), 16) ^ r;
                char character = (char)i;
                email += Convert.ToString(character);
            }
    
            return email;
        }
    
        public static void Main(string[] args)
        {
            Console.WriteLine(cfDecodeEmail("543931142127353935313e352e7a373b39")); // usage
        }
    }
    
    

    Source

提交回复
热议问题