Live data from Hacker News

Using WolframAlpha to Hack Text CAPTCHA

joelvanhorn.com

41–47 of 47 posts

Re: Using WolframAlpha to Hack Text CAPTCHA

#41

Earlier quoted context omitted.

No, that's the reason the answers are hashed. You can't get the answer from the hash, since a hash is a one-way function. This is the same reason you never store passwords in your database in plaintext, but rather hash them first.

As elliotcarlson pointed out the issue isn't that answers can be determined automatically, it's that the cost of determining the answers can be amortized over all uses. It's the same vulnerability problem as rainbow tables. With rainbow tables you spend a lot of (automated) effort computing hashes for password guesses, the key advantage of this tactic is that it is widely applicable to every naive use of that hash fu…

Mechanical Turk

Re: Using WolframAlpha to Hack Text CAPTCHA

#42

Earlier quoted context omitted.

I wonder what its favorite colour is ;-)

Try it: http://www.wolframalpha.com/input/?i=what+is+your+favorite+c...

That's according to Python. Ask about the favorite color of Wolfram Alpha:

http://www.wolframalpha.com/input/?i=what+is+your+favorite+c...

Re: Using WolframAlpha to Hack Text CAPTCHA

#43
Great discussion.

To clarify, there is not a precomputed DB of an enormous number of questions although this would be possible to derive and does occur on a lower level for caching performance purposes. The total count comes from permutation/probability maths based on the question construction algorithm -- when you request a question it generates one which means I can extend the pool quite easily without re-generating a monster cache table.

It is impressive how good Wolfram is at decoding logic, I'll have to have to think about the question construction but I can't make the question too confusing for a real person to solve. As someone mentioned, maybe more abstract questions would be stronger but the difficultly of course lies in generating them. I certainly think logic questions are weaker than a decently obscured/randomised image captcha, but they come with other advantages and work in text-only contexts (e.g. IM-type challenges).

Re: Using WolframAlpha to Hack Text CAPTCHA

#45
post #27

Earlier quoted context omitted.

http://xkcdexplained.com/post/1395792545/constructive

Captchas are not restricted to reddit and social news site, despite what your link claims.

Oh, that was just to make fun of xkcd. I don't think xkcd links are really that good an addition to a discussion here.

Re: Using WolframAlpha to Hack Text CAPTCHA

#47
post #32

If someone would like to try with some more questions and can't bother to write a screen scraper for the demo page, I scraped a few questions a while back: http://www.filedump.net/dumped/quesions1285428813.txt

Thanks for doing some extraction!

Using your file I've been building up a solver for these questions in Prolog (using DCGs for parsing and simple predicates for the common sense facts and answer calculation). It's nowhere near "done", but it does get 45% of the questions now after only a few hours and 450 lines of code.

The trick to factoring someone else's generative space is to spot the symmetries and build your self a little domain-specific language for explaining those symmetries to your program.

Here's some snippets:

    tomorrow(wednesday,thursday).

    food(butter).

    body_part(arm).
    plenty(arm).
    above_waist(arm).

    ordinal(2) --> lit('2nd').

    question( tomorrow -> Answer) -->
        p(['Tomorrow is ',token(Tomorrow),'. If this is true, what is today?']),
        { tomorrow(Answer,Tomorrow) }.

    question(count_2(P) -> Answer) -->
        p(['The list ',token_list(L),' contains how many ',pred(P),'?']).
        {include(P,L,Goods), length(Goods,Answer)}.

    pred_name('something each person has more than one of',plenty).
Post reply on HN