How do i bypass RecaptchaV2 of a blazor website

whatpigs

New member
I'm trying to bypass the recaptchav2 of this website.

It has a javascript file that contains:
// the recaptcha code
<div class="g-recaptcha" data-sitekey="" data-callback="ReCaptchaSuccess" data-expired-callback="ReCaptchaExpire">
// googleRecaptcha.js

var dotNetObject;

function GoogleRecaptcha(dotNetObjectRef) {

dotNetObject = dotNetObjectRef;
LoadCaptchaRendringScript();

//return grecaptcha.render(selector, {
// 'sitekey': sitekeyValue,
// 'callback': (response) => { dotNetObject.invokeMethodAsync('CallbackOnSuccessAsync', response); },
// 'expired-callback': () => { dotNetObject.invokeMethodAsync('CallbackOnExpiredAsync', response); }
//});
}

function ReCaptchaSuccess(response) {
dotNetObject.invokeMethodAsync('CallbackOnSuccessAsync', response);
}

function ReCaptchaExpire(response) {
dotNetObject.invokeMethodAsync('CallbackOnExpiredAsync', response);
}

function LoadCaptchaRendringScript() {

var script = document.createElement('script');
script.src = "https://www.google.com/recaptcha/api.js";

document.body.appendChild(script);

//document.getElementById("g-recaptcha-script").innerHTML = script;
};

The page automatically sends the token once completed/checked/solved. My problem is i dont know how to trigger the callback. I've found that using ___grecaptcha_cfg is an option so I've tried via chrome devtools console ___grecaptcha_cfg.clients[0].B.B.callback = "token" but nothings happens. I have checked that ___grecaptcha_cfg.clients[0].B.B.callback is the correct one. How do i solve this?
 
Last edited:

whatpigs

New member
Solved.

// Using playwright
// Change the value of ___grecaptcha_cfg.clients[0].B.B.callback to token then call the callback function again
const gRecaptchaResponse = await myCaptchaProvider();
await page.evaluate((gRecaptchaResponse) => {
___grecaptcha_cfg.clients[0].B.B.callback = gRecaptchaResponse;
ReCaptchaSuccess(gRecaptchaResponse);
}, gRecaptchaResponse);