Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Обход капчи и Visual C++ (https://forum.antichat.xyz/showthread.php?t=171194)

SHOOTER 15.01.2010 23:18

Обход капчи и Visual C++
 
Здрасте, вобщем так: учюсь обходить капчу :D вот фрагмент HTML-странички с капчой....

Код:

<form name="mform" action="index.phtml" method="post" onSubmit="sF()">
 
<input type=hidden name="s" value="Ob0o3fHbPmqLv5W8T7mGH1SLp5ZM7cw4"><input type="hidden" name="s_post" value="cjJfP4UPuGVSnAcSUWhv1YuvnLYPoqwx">
<input type=hidden name="tip" value="CheckCode">
<input type="hidden" name="tcurl" value=SomeRef>
<input type="hidden" name="tcontinue" value="yes">
<img id="CaptchaImg" width="150" height="47" border="0" align="left" src="/captcha.php?r=0&s=Ob0o3fHbPmqLv5W8T7mGH1SLp5ZM7cw4"/>
<input type="text" size="10" maxlength="10" value="" name="captcha" autocomplete="off" /><br><br><br>
Введите цифры, которые вы видите на картинке.
<br/>
Если вы не видите изображения нажмите
<a id="CaptchaLink" xonclick="wopen('/my/reg_code.phtml','code',380,160,'yes','yes',0);return false;" target="code" href="?image=1">here</a>
<script>
jsLoader.require('{jQuery}jquery', function ()
{        // обновить капчу, при клике на неё
        $("#CaptchaImg,#CaptchaLink")
                .load(function (){ $(this).css('opacity', 1); })
                .css('cursor', 'pointer')
                .click(function ()
                {
                        $RA($('#CaptchaImg').css('opacity', .3)[0], 'src', /\?r=\d/, '?r='+jsCore.getTimer());
                        return        false;
                })
        ;
});
</script>
<script language="JavaScript">
<!--
function sF()
{
  document.forms.mform.elements.submit.value="Please wait...";
  document.forms.mform.elements.submit.disabled="true";
}
-->
</script>
<div class="tab40"><input name="submit" type="submit" value="Continue"></div>
</form>


Допустим, я успешно расшифровал картинку на капче. Как мне используя MS VisualStudio 2003 ---> C++ ---> wininet.h отослать серваку цифри из картинки капчи, допустим ето 123456?

З.Ы. Сори если че не так, ето первая моя тема туД :rolleyes:

SHOOTER 16.01.2010 01:26

ну имейте совесть... просмотров: 40, ответов: 0 =(((

gold-goblin 16.01.2010 01:34

сделать пост или гет запрос к серверу.

SHOOTER 16.01.2010 01:43

Цитата:

Сообщение от gold-goblin
сделать пост или гет запрос к серверу.

желательно поподробней чуть...


интересует ссылка и параметры...

З.Ы. можт нужна доп. инфа?

gold-goblin 16.01.2010 01:52

хм... http://www.daniweb.com/forums/thread43523.html# направление полета мысли получено? =)
яб помог но Си не знаю... А так это все основа основ.

-=chelovek=- 16.01.2010 01:52

что то вроде етого http://www.cyberforum.ru/cpp-builder/thread23615.html

SHOOTER 16.01.2010 02:02

Цитата:

Сообщение от -=chelovek=-
что то вроде етого http://www.cyberforum.ru/cpp-builder/thread23615.html

общую структуру Get-запроса я зню.... вопрос был о параметрах url-строки в конкретном случае....

Dr1ver 16.01.2010 02:10

Для этого есть снифферы

SHOOTER 16.01.2010 02:10

Цитата:

Сообщение от gold-goblin
хм... http://www.daniweb.com/forums/thread43523.html# направление полета мысли получено? =)
яб помог но Си не знаю... А так это все основа основ.

интересует какие параметры передавать... куда писать цифри из картинки? одним словом, что именно в конкретном случае сервер от меня хочет?

тада как ето реализовать на другом язике? я уже для себя переведу на Си сам...

SHOOTER 16.01.2010 02:13

Цитата:

Сообщение от Dr1ver
Для этого есть снифферы

о, ет ближе к делу... скачял я какота навароченый сниффер.... ток не могу с ним разобратся.... подскажи линк на простой сниффер и как с ним работать, можт инфа есть?

gold-goblin 16.01.2010 02:37

плагины для фф есть (tamper data к примеру. Там ничего сложного нет + русский он).
ну может поможет: python пост запрос
PHP код:

# -*- coding: utf-8 -*-
import urllib,httplib

data 
= {"content":"import test; print test","language":"Python","title":"","poster":"","hold":""}
params urllib.urlencode(data)
headers = {"http-equiv""Content-Type"" content""text/html","charset":"utf8"}
connection httplib.HTTPConnection("www.dpaste.com:80")
connection.request("POST""/"params)
otvet connection.getresponse()
print 
otvet.statusotvet.reason
dataa 
otvet.read()
print 
dataa
connection
.close() 


SHOOTER 16.01.2010 02:41

а что передаешь в "params"??? ;)

gold-goblin 16.01.2010 02:42

data = {"content":"import test; print test","language":"Python","title":"","poster":""," hold":""}

gold-goblin 16.01.2010 02:43

тебе проще сниффером поработать. Может там вообще гет запрос =)

SHOOTER 16.01.2010 02:43

ок... а где расшифрованная капча 123456?

Akum 16.01.2010 15:35

Цитата:

Сообщение от gold-goblin
тебе проще сниффером поработать. Может там вообще гет запрос =)

А это на что?
Код:

<form name="mform" action="index.phtml" method="post" onSubmit="sF()">
Цитата:

общую структуру Get-запроса я зню...
Так если знаешь почему не пишеш там же все в куске html что ты привел все есть!

Akum 16.01.2010 15:42

вот что должно предаваться РОST запросом:
Код:

s=Ob0o3fHbPmqLv5W8T7mGH1SLp5ZM7cw4
s_post=cjJfP4UPuGVSnAcSUWhv1YuvnLYPoqwx
tip=CheckCode
tcurl=SomeRef
tcontinue=yes
captcha=капча

wininet.h - это я не знаю. Windows must die :D

В с++ с использованием libcurl это все решается за минуту! :)

Akum 16.01.2010 16:19

Вот на с++:
Код:

#include <iostream>
#include <string.h>
#include <curl/curl.h>

using namespace std;

static  int writer(char *data, size_t size, size_t nmemb,string *buffer)
{
    int result = 0;
    if (buffer != NULL)
    {
        buffer->append(data, size * nmemb);
        result = size * nmemb;
    }
    return result;
}

int main()
{

    CURL * curl;
    CURLcode result;

    curl_slist *slist = NULL;
    string buffer;
    curl_global_init(CURL_GLOBAL_ALL);

    curl = curl_easy_init();

    slist = curl_slist_append(slist, "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    slist = curl_slist_append(slist, "Accept-Language: ru,en-us;q=0.7,en;q=0.3");
    slist = curl_slist_append(slist, "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7");
    slist = curl_slist_append(slist, "Keep-Alive: 300");
    slist = curl_slist_append(slist, "Connection: keep-alive");

    curl_easy_setopt(curl, CURLOPT_HEADER, 0);
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
    curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1);
    curl_easy_setopt(curl, CURLOPT_ENCODING, "gzip,deflate");
    curl_easy_setopt(curl, CURLOPT_COOKIELIST, "");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
    curl_easy_setopt(curl, CURLOPT_POST, 1);
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "s=Ob0o3fHbPmqLv5W8T7mGH1SLp5ZM7cw4&s_post=cjJfP4UPuGVSnAcSUWhv1YuvnLYPoqwx&tip=CheckCode&tcurl=SomeRef&tcontinue=yes&captcha=капча");

    curl_easy_setopt(curl, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.43 Safari/532.5");
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
    curl_easy_setopt(curl, CURLOPT_REFERER, "тут url страници где находиться форма");

    curl_easy_setopt(curl, CURLOPT_URL, "тут URL страници обрабатывающий запрос!");

    result = curl_easy_perform(curl);

//в buffer находиться страница ответа

    return 0;
}


SHOOTER 16.01.2010 17:00

Цитата:

Сообщение от Akum
Вот на с++:

Спасибки, интересовала ета строчка:

Код:

  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "s=Ob0o3fHbPmqLv5W8T7mGH1SLp5ZM7cw4&s_post=cjJfP4UPuGVSnAcSUWhv1YuvnLYPoqwx&tip=CheckCode&tcurl=SomeRef&tcontinue=yes&captcha=капча");
теперь попробую на wininet переписать...

З.Ы. последовательность параметров которые я передаю имеет значение для сервака?

Akum 16.01.2010 17:25

Цитата:

Сообщение от SHOOTER
З.Ы. последовательность параметров которые я передаю имеет значение для сервака?

Вроде нет а там хз :D

SHOOTER 21.01.2010 01:45

Цитата:

Сообщение от Akum
Вроде нет а там хз :D

спс) тема закрыта)


Время: 16:31