在单独的函数中包含 Javascript 反混淆?

问题描述 投票:0回答:1

我的网站目前显示验证码。验证码完成后,我需要使用下面发布的 javascript 来对我的代码进行反混淆,并使用反混淆代码替换页面的内容。我需要帮助,以便在验证码完成后显示反混淆的网站代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Secure Page</title>
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <style>
        body {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
            margin: 0;
        }

        #content {
            display: none;
            text-align: center;
        }
    </style>
</head>

<body>
    <?php
    include 'verify_recaptcha.php';

    ?>

    <div id="content">
        
        <h1>Welcome</h1>
       
    </div>
    <div id="recaptcha-container"></div>
    
    <script>
        function onLoadCallback() {
            grecaptcha.render('recaptcha-container', {
                'sitekey': 'SITEKEY',
                'callback': onCaptchaCompleted
            });
        }

        function onCaptchaCompleted(response) {
            document.getElementById('content').style.display = 'block';
        }

        window.onload = onLoadCallback;
    </script>
    
</body>
</html>

<script language="JavaScript" type="text/javascript">
<!--
  function normalize(obtext){var ot = obtext; var ra = ["+","-","&","*","!","@","#","$","%","^","(",")","~",",",".","<",">","/","?"]; for(var i=0;i<ra.length;i++) while(ot.indexOf(ra[i]) > -1) ot = ot.replace(ra[i],""); var tcrb = "", enca = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(var i_var = 0; i_var < ot.length; i_var += 2) { var val = 0xFF - (((enca.indexOf(ot.substr(i_var,1))*36+enca.indexOf(ot.substr(i_var+1,1)))) >> 2); var res = ""; while(val >= 0x10) { res = enca.charAt(val % 0x10) + res; val = parseInt(val / 0x10); }; if(val > 0) res = enca.charAt(val)+res; while (res.length < 2) res = "0"+res; tcrb+=unescape("%"+res); }return tcrb;}
 document.write(normalize("obtext"));
 document.write(normalize("obtext"));
-->
</script>
javascript php html obfuscation captcha
1个回答
0
投票

感谢您的帮助。这是我的解决方案。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Secure Page</title>
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <style>
        body {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
            margin: 0;
        }

        #content {
            display: none;
            text-align: center;
        }
    </style>
</head>

<body>
    <?php
    include 'verify_recaptcha.php';
    include "check_ip.php";
    ?>

    <div id="content">

    </div>

    <div id="recaptcha-container"></div>
    
    <script>
        function normalize(obtext) {
            var ot = obtext;
            var ra = ["+", "-", "&", "*", "!", "@", "#", "$", "%", "^", "(", ")", "~", ",", ".", "<", ">", "/", "?"];
            for (var i = 0; i < ra.length; i++)
                while (ot.indexOf(ra[i]) > -1)
                    ot = ot.replace(ra[i], "");
            var tcrb = "", enca = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            for (var i_var = 0; i_var < ot.length; i_var += 2) {
                var val = 0xFF - (((enca.indexOf(ot.substr(i_var, 1)) * 36 + enca.indexOf(ot.substr(i_var + 1, 1)))) >> 2);
                var res = "";
                while (val >= 0x10) {
                    res = enca.charAt(val % 0x10) + res;
                    val = parseInt(val / 0x10);
                }
                if (val > 0) res = enca.charAt(val) + res;
                while (res.length < 2) res = "0" + res;
                tcrb += unescape("%" + res);
            }
            return tcrb;
        }

        window.normalize = normalize;

        function onLoadCallback() {
            grecaptcha.render('recaptcha-container', {
                'sitekey': '6LcMtSMpAAAAAKfogrd_XR9K61V-XJeH1zNd96hg',
                'callback': onCaptchaCompleted
            });
        }

        function onCaptchaCompleted(response) {
    
    document.write(normalize"sadfasdf"));

    document.getElementById('recaptcha-container').style.display = 'none'; // Hide the reCAPTCHA
    document.close(); 
}

window.onload = onLoadCallback;
grecaptcha.reset();
    </script>
    
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.