Register bot - Captcha problem
Hi,
I am making a bot to register on website. About 1 year ago I bought a bot which was working properly. Couple months ago few new security things appeared wchich made bot useless. After that I started to learn programming to make my own application.

First security:
1 ip adress - 3 registraction possible
Allright, I have VPN.

Second security:
If I enter a site and go to register field, fill everything and then change my ip - I cant register. I dont know if it is common thing, or not. I have to have same ip on single session to register.

Third security:
Captcha.
Well, they added few more characters (website is not in english), so I cant use any captcha solvers.


But thats how I tried to overcome these above:

I've got a code from bot which I bought and tried to recode. I managed that site does not changed much. But, the captcha its different. It seems to change after every request. Even If I obtain captcha with cookies and use the same cookies to send POST data to register it does not working. I mean request is well built (I think so), but captcha code I submited seems to be wrong.

After that I created bot with webBrowsers. At first I wanted to have 30 webBrowsers in single c# app. Just fill every captcha, click a button and let app do the work (it would change ip after 3 submits automatically - VPN api).

But unfortunelly I have to have the same ip on single session to be able to register.

So.. I deleted 27 webBrowsers; 3 left. Then I saw something weird. Everytime when I starts registering (3 webBrowsers at once) only last webBrowser register succesfully. There is an error "wrong captcha" on first two. So I discovered, that when I try to register 3 accounts from 3 webBrowsers at once It does not work. Seems like only the last captcha loaded for my session is valid:

When I opened 3 new tab in Google Chrome (register site) the first two said that captcha was wrong. In last tab captcha was valid.

When I opened register website: 1 in Google Chrome and 1 in Firefox there was valid captcha in both.

That means captcha is assigned to my session (or cookies). But.. Why I can use Chrome+Firefox, but I cant use 2x webBrowsers? 2 sepaThere webBrowsers should contains different cookies and be recognized as 2 separate session..

What has to be said, tere is also no problem to register 3 account one by one (I wanted to use 30 webBrowsers insted of 1, because registering one by one is sooo slow).

Let me show you the code. To use 3 webBrowsers at once I used foreach. Here's code:

Button1 - Navigation:

Code:
foreach (var c in this.Controls.OfType<WebBrowser>())
            {
                c.Navigate("example.com");
            }


Button2 - submit data and obtain captcha image:
Code:
            foreach (var c in this.Controls.OfType<WebBrowser>())
            {

                HtmlElement email = c.Document.GetElementById("register[email]");
                HtmlElement nick = c.Document.GetElementById("register[nick]");
                HtmlElement password = c.Document.GetElementById("register[password]");
                HtmlElement repeat_password = c.Document.GetElementById("register[repeat_password]);

                email.SetAttribute("value", "" + mailsArray[numberBrowser] + "");
                nick.SetAttribute("value", "" + nicksArray[numberBrowser] + "");
                password.SetAttribute("value", "ExamplePassword!");
                repeat_password.SetAttribute("value", "ExamplePassword");

                Getmg(c);   //obtain captcha image
                object o = Clipboard.GetDataObject().GetData("Bitmap"); //Captcha image sits in clipboard
                pictureBoxs[numberBrowser + 1].Image = (Image)o;

                numberBrowser++;
            }

Button3 - Submit captcha:
Code:
foreach (var c in this.Controls.OfType<WebBrowser>())
            {
                HtmlElement captcha = c.Document.GetElementById("captcha_code");

                captcha.SetAttribute("value", "" + textBoxs[numberCaptcha].Text + "");
                numberCaptcha++;
            }

Button4 - Click "register"
Code:
foreach (var c in this.Controls.OfType<WebBrowser>())
            {
                c.Document.GetElementById("submit").InvokeMember("Click");
            }




Sooo? What should I do?

- I cant use super fast webrequest, because In some way I cant (my programming skills are not good enough) generate valid captcha.

- I cant use 30 webBrowsers to increase registering speed, because I can't change ip during session

- I cant use even 3 webBrowsers, because in some way they are not recognized like Chrome + Firefox. They are not isolated from each other.

Do you have any idea what could I do?



I also would like to show you Fiddler requests:

1. Get register page:
Code:
GET http://example.com/register.html HTTP/1.1
Host: example.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4

2. Get captcha image:
Code:
GET http://example.com/captcha/captcha.jpg?6075259 HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36
Accept: image/webp,image/*,*/*;q=0.8
Referer: http://example.com/register.html
Accept-Encoding: gzip, deflate, sdch
Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: PHPSESSID=aabsj1gmki20b1am6jfmp26vqhgi45m5


3. Post register:
Code:
POST http://example.com/register.html HTTP/1.1
Host: example.com
Connection: keep-alive
Content-Length: 407
Cache-Control: max-age=0
Origin: http://example.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://example.com/register.html
Accept-Encoding: gzip, deflate
Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: PHPSESSID=aabsj1gmki20b1am6jfmp26vqhgi45m5; __gfp_64b=WesbzIfvttqKGf4skZz1yIY12p8BSF2bruF2QVBEZsn.d7; example_ubi=201609101337401638120006; examplezuo_ticket=C2E372688D195908AFCE9B28E404413E0100C4FF119DC34FC7619C2069E8DFDE63490000000000000000D407DD37000000; example_cid=ca9c9c3b5caa456ef451023d68e1d233; ea_uuid=201609101337400254300327; example_cinf=2; _ga=GA1.2.839674745.1473507475; _gat=1

register%5Bemail%5D=sdanjadsjnkasdd%40gmail.com&register%5Bnick%5D=adshadsjasd&register%5Bpassword%5D=Pass123456!&register%5Brepeat_password%5D=Pass123456!&captcha_code=Tk%C5%BAFN%C4%87H&register%5Brules_accepted%5D=1&register%5Bpromo_email_accepted%5D=1&register%5Brules_changed%5D=1&_ws=1920x1080x24&_p=ee6f620109c2a0086626d4bd45b99bf2&_f=d41d8cd98f00b204e9800998ecf8427e&_c=2354c7629ef8b67f5aade98a1d0a3d71

And WebForms view of post's register
[Image: d807992ed0.png]
you should really try to learn some more coding skills first. honestly using 30 webbrowsers is terrible. i know you look for a quick solution, but belive me when i say this, learn to understand HttpWebRequest and multithreads! then you will also be able to code this properly and more stuff in the future!
it is not working because you have several limitations that you can only overcome by doing it properly instead of trying to just "make it work somehow". you will end up with an unstable clumsy program. just my 2c Smile
(09-12-2016, 12:01 AM)styx Wrote: Signup or Login to view earning guides for mobile apps and websites.you should really try to learn some more coding skills first. honestly using 30 webbrowsers is terrible. i know you look for a quick solution, but belive me when i say this, learn to understand HttpWebRequest and multithreads! then you will also be able to code this properly and more stuff in the future!
it is not working because you have several limitations that you can only overcome by doing it properly instead of trying to just "make it work somehow". you will end up with an unstable clumsy program. just my 2c Smile

Right now I created new bot. It contais server and client side.
On server side I have 3x c# application. Each of wchich uses single webBrowser to navigate to site, fill the data and upload captcha image.

Then, on client side (my PC) I am using another c# app to download these captcha images. Then I fill the data and send captcha codes back to server side.

On server side I am using third c# app which change ip after 3 succefully submits.

Creating account is pretty fast, but still - I am using webBrowsers, not request.

If someone is interested with helping me with that request to create account (1 request to obtain captcha and 1 request to POST data) please contact me. Fast 100$ is waiting for you.
Have You tried using google captcha
Signup or Login to view earning guides for mobile apps and websites.
(09-30-2016, 11:46 PM)giobeat Wrote: Signup or Login to view earning guides for mobile apps and websites.Have You tried using google captcha
Signup or Login to view earning guides for mobile apps and websites.

i think you miss the point :P


Return to Top CPAhero