Jump to content
UBot Underground

[Ask] Find Callback Function For Recaptcha V2 (Invisible)


Recommended Posts

Hi Everyone, 
 
I have problem with solving recapthca v2 (i think it's invisible one), becuse there is no "i am not robot" checkbox
i have script that works for invisible recaptcha demo page, but not when i try on the real case, i have still problem. 
 
I am creating bot for  URL inspection and request indexing from google search console  (https://search.google.com/search-console/about)
 
my progres so far, I found the googlekey and using 2captcha key to solve the recaptcha, n i have receive response from 2captcha 
 
i think my problem is i could not find the callback function, so i cannot execute the right javascipt. 
 
that's my thought, i am still learning so iam not sure. 
 
i am sure you all are more experience with this,
 
here is the page source when recaptcha appear and my script to solve the recaptcha : 
 
 
anyone have idea? 
 

 

 

loop(1) {
    set(#status,"Solving Captcha","Global")
    set(#_apiKey,"a5a5f122xxxxxxxxxxxxxxxx","Global")
    wait for browser event("Everything Loaded","")
    wait(1)
    set(#GoogleKey,"6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ","Global")
    clear list(%_rawCaptcha)
    add list to list(%_rawCaptcha,$plugin function("Advanced Captcha.dll", "$2captcha.com recaptcha", #_apiKey, #GoogleKey, $url, "", "", 50, 120, "", "", "", "Invisible"),"Delete","Global")
    change attribute(<id="g-recaptcha-response">,"value",$list item(%_rawCaptcha,1))
    set(#status,"Captcha Solved","Global")
    wait(3)
    run javascript("recaptchaLoadedCallback();")
}

 

 
 
 
PS : i used 6.0.4 version, because on 5.9.55, ubot cannot interacting at all with the page, it like the page is protected by something (this is my problem too)
 
 

post-9784-0-75560800-1566403602_thumb.png

Link to post
Share on other sites

Maybe try this:

define $GetRecaptchaCallback {
    return($eval("var cs = [];
var cb;
for (var id in ___grecaptcha_cfg.clients)\{
    cs.push(id);
\}
cs.forEach(cid => \{
    for (var p in ___grecaptcha_cfg.clients[cid]) \{
        var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p;
        var pp = eval(path);
        if (typeof pp === \'object\') \{
            for (var s in pp) \{
                var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s;
                var sp = eval(subpath);
                if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'sitekey\') && sp.hasOwnProperty(\'size\') )\{
                    console.log(\'Path: \' + subpath);
                    console.log(\'Sitekey: \' + eval(subpath+\'.sitekey\'));
                    if ( eval(subpath+\'.callback\') == null ) \{
                        cb = \'\';
                        \}
                    else \{
                        cb = subpath+\'.callback\';
                    \}
                \}
            \}
        \}
 
    \}
\});
cb;"))
}
  • Like 1
Link to post
Share on other sites

 

Maybe try this:

define $GetRecaptchaCallback {
    return($eval("var cs = [];
var cb;
for (var id in ___grecaptcha_cfg.clients)\{
    cs.push(id);
\}
cs.forEach(cid => \{
    for (var p in ___grecaptcha_cfg.clients[cid]) \{
        var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p;
        var pp = eval(path);
        if (typeof pp === \'object\') \{
            for (var s in pp) \{
                var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s;
                var sp = eval(subpath);
                if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'sitekey\') && sp.hasOwnProperty(\'size\') )\{
                    console.log(\'Path: \' + subpath);
                    console.log(\'Sitekey: \' + eval(subpath+\'.sitekey\'));
                    if ( eval(subpath+\'.callback\') == null ) \{
                        cb = \'\';
                        \}
                    else \{
                        cb = subpath+\'.callback\';
                    \}
                \}
            \}
        \}
 
    \}
\});
cb;"))
}

 

Thank you @HelloInsomnia for your concern to my question..

 

i am doing this to that function you create : 

1. change sitekey 

2. run that function using run javascript

 

 

like this : (change sitekey)

 

 

define $GetRecaptchaCallback {

    return($eval("var cs = [];
var cb;
for (var id in ___grecaptcha_cfg.clients)\{
    cs.push(id);
\}
cs.forEach(cid => \{
    for (var p in ___grecaptcha_cfg.clients[cid]) \{
        var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p;
        var pp = eval(path);
        if (typeof pp === \'object\') \{
            for (var s in pp) \{
                var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s;
                var sp = eval(subpath);
                if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ\') && sp.hasOwnProperty(\'size\') )\{
                    console.log(\'Path: \' + subpath);
                    console.log(\'S6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ: \' + eval(subpath+\'.6Ley2w8UAAAAAPOj6LHO_9ROattTY3rSLldc87NQ\'));
                    if ( eval(subpath+\'.callback\') == null ) \{
                        cb = \'\';
                        \}
                    else \{
                        cb = subpath+\'.callback\';
                    \}
                \}
            \}
        \}
 
    \}
\});
cb;"))
}
 

 

 

run javacript on that function : 

 

run javascript($GetRecaptchaCallback())
 
 

 

Is that the right action i do? 

because nothing happen when execute that action..

 

thank you

Link to post
Share on other sites
  • 3 weeks later...
  • 3 months later...

define $GetRecaptchaCallback {
    return($eval("var cs = [];
var cb;
for (var id in ___grecaptcha_cfg.clients)\{
    cs.push(id);
\}
cs.forEach(cid => \{
    for (var p in ___grecaptcha_cfg.clients[cid]) \{
        var path = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p;
        var pp = eval(path);
        if (typeof pp === \'object\') \{
            for (var s in pp) \{
                var subpath = \"___grecaptcha_cfg.clients[\"+cid+\"].\"+p+\".\"+s;
                var sp = eval(subpath);
                if ( sp && typeof sp === \'object\' && sp.hasOwnProperty(\'sitekey\') && sp.hasOwnProperty(\'size\') )\{
                    console.log(\'Path: \' + subpath);
                    console.log(\'Sitekey: \' + eval(subpath+\'.sitekey\'));
                    if ( eval(subpath+\'.callback\') == null ) \{
                        cb = \'\';
                        \}
                    else \{
                        cb = subpath+\'.callback\';
                    \}
                \}
            \}
        \}
 
    \}
\});
cb;"))
}

Anybody able to get callback from this code?

 

Can anybody help me to find callback

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...