Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GUYS IF YOU SEE THIS TEXT PLEASE BEGGING TO REPLY ME #18

Open
Experilous opened this issue Dec 9, 2023 · 2 comments
Open

GUYS IF YOU SEE THIS TEXT PLEASE BEGGING TO REPLY ME #18

Experilous opened this issue Dec 9, 2023 · 2 comments

Comments

@Experilous
Copy link

HOW TO KNOW IF PAGE IS USING RECAPTCHA V2 OR V3 PLEASE HELP ME GOOGLE RECAPTCHA

@Ggre55
Copy link

Ggre55 commented Jan 10, 2024

well that sample the v3 in background so you dont click on anything but it shows the bleu box like so.
image
v2 is blue box where u have to select random images.

@AlexPT2k22
Copy link

HOW TO KNOW IF PAGE IS USING RECAPTCHA V2 OR V3 PLEASE HELP ME GOOGLE RECAPTCHA

/ USAGE
// paste the function definition into the console and then call the function:
//
// let res = findRecaptchaClients()
// console.log(res)
//
// the function returns an array of objects with recaptcha parameters for each implementation found on the page

function findRecaptchaClients() {
  // eslint-disable-next-line camelcase
  if (typeof (___grecaptcha_cfg) !== 'undefined') {
    // eslint-disable-next-line camelcase, no-undef
    return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
      const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' };
      const objects = Object.entries(client).filter(([_, value]) => value && typeof value === 'object');

      objects.forEach(([toplevelKey, toplevel]) => {
        const found = Object.entries(toplevel).find(([_, value]) => (
          value && typeof value === 'object' && 'sitekey' in value && 'size' in value
        ));
     
        if (typeof toplevel === 'object' && toplevel instanceof HTMLElement && toplevel['tagName'] === 'DIV'){
            data.pageurl = toplevel.baseURI;
        }
        
        if (found) {
          const [sublevelKey, sublevel] = found;

          data.sitekey = sublevel.sitekey;
          const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
          const callback = sublevel[callbackKey];
          if (!callback) {
            data.callback = null;
            data.function = null;
          } else {
            data.function = callback;
            const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
            data.callback = `___grecaptcha_cfg.clients${keys}`;
          }
        }
      });
      return data;
    });
  }
  return [];
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants