Live data from Hacker News

Breaking the MintEye image CAPTCHA in 23 lines of Python

jwandrews.co.uk

21–30 of 60 posts

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#21
post #3

Breaking captcha is bad, mkay :)

If you're using a CAPTCHA, you're doing it wrong already.

Yeah, all these CAPTCHA stories are definitely making me think there's no refuge left of simple tasks humans can do that machines can't.

What's the replacement? Tying every account to a mobile phone or credit card?

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#22

Earlier quoted context omitted.

If you're using a CAPTCHA, you're doing it wrong already.

Yeah, all these CAPTCHA stories are definitely making me think there's no refuge left of simple tasks humans can do that machines can't. What's the replacement? Tying every account to a mobile phone or credit card?

The thing is, CAPTCHAs are used to validate it's a human operating the interface, not a robot.

That's a stupid idea, based on some weird assumption that it's somehow safe to give access to your system for a user, but not for a robot. If the only thing stopping people from messing your system is automation, you should rethink it from the get go.

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#23
post #19

For those interested, the minteye captcha has been broken by other methods as well. Speech recognition: https://gist.github.com/4520930 Laplace: https://gist.github.com/4564489 Fourier transform: http://nbviewer.ipython.org/urls/raw.github.com/rjw57/mintey...

Could someone explain the general idea behind using FFT in these situations (excusing my ignorance)? I recall it from my university days but that was completely out of context. I know you can use it to decompose audio signals into frequency components, I don't understand how it applies to images though.

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#24
post #6

Earlier quoted context omitted.

It's totally sarcasm

Not sure it's sarcasm, more like some blackhat SEO who wants to exploit it.

I agree. With a name like Zhou, it sounds like a Chinese guy wants to try to use the code in the wild. I guess one plus for the MintEye captcha is that it's hard to defeat with only Visual Basic.

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#25

Earlier quoted context omitted.

Yeah, all these CAPTCHA stories are definitely making me think there's no refuge left of simple tasks humans can do that machines can't. What's the replacement? Tying every account to a mobile phone or credit card?

The thing is, CAPTCHAs are used to validate it's a human operating the interface, not a robot. That's a stupid idea, based on some weird assumption that it's somehow safe to give access to your system for a user, but not for a robot. If the only thing stopping people from messing your system is automation, you should rethink it from the get go.

> weird assumption that it's somehow safe to give access to your system for a user, but not for a robot.

Nice point.

> If the only thing stopping people from messing your system is automation, you should rethink it from the get go.

Are there systems that can't be abused through automation, or where that's much less of a concern? (Serious question, not intended as snark.)

Maybe throttling activity is a better approach... it's volume that is harmful to the system, not interactions with programs per se.

Don't know how you throttle spammers distributing activity across a number of accounts and IP addresses though...

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#26
post #4

Hhahahaha, comment on the blog "Please post the Visual Basic codes for this. The language you post in the article is not Visual Basic. Thank you." xD God !

It just works on so many levels.

It really makes me wish for some kind of federated comments system or unique username so I can go out and find more of his work!

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#27
post #4

Hhahahaha, comment on the blog "Please post the Visual Basic codes for this. The language you post in the article is not Visual Basic. Thank you." xD God !

As someone who wrote a captcha decoding article http://wausita.com/captcha/ which ranks pretty highly I can honestly say requests like this are real. Heck I even get abusive emails from spammers when they ask for help and I point out the relevant portion they should read rather then just supplying "tha codez"

If it is sarcasm this guy nailed it. Looks like half my inbox.

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#28
post #23
post #19

For those interested, the minteye captcha has been broken by other methods as well. Speech recognition: https://gist.github.com/4520930 Laplace: https://gist.github.com/4564489 Fourier transform: http://nbviewer.ipython.org/urls/raw.github.com/rjw57/mintey...

Could someone explain the general idea behind using FFT in these situations (excusing my ignorance)? I recall it from my university days but that was completely out of context. I know you can use it to decompose audio signals into frequency components, I don't understand how it applies to images though.

The basic idea is that just as an audio signal can be decomposed into frequency components, an image can be decomposed into frequency components, but in two dimensions. (Imagine stripes of varying frequency and direction instead of sine waves of various frequencies.)

Sharp edges in an image have high frequency components, just like a sharp transition in an audio signal. Filtering the high frequencies will blur the image, while filtering low frequencies will enhance edges.

This is very oversimplified, but will hopefully give you a bit of an idea. I encourage people to learn more about Fourier theory, because it explains a lot.

One introductory page that you may find useful is: http://cns-alumni.bu.edu/~slehar/fourier/fourier.html

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#29
post #28
post #23

Earlier quoted context omitted.

Could someone explain the general idea behind using FFT in these situations (excusing my ignorance)? I recall it from my university days but that was completely out of context. I know you can use it to decompose audio signals into frequency components, I don't understand how it applies to images though.

The basic idea is that just as an audio signal can be decomposed into frequency components, an image can be decomposed into frequency components, but in two dimensions. (Imagine stripes of varying frequency and direction instead of sine waves of various frequencies.) Sharp edges in an image have high frequency components, just like a sharp transition in an audio signal. Filtering the high frequencies will blur the im…

That makes perfect sense. Thanks for the link - that's given me a much better intuitive understanding. I'll have a dig around some of the other transformations mentioned now.

Re: Breaking the MintEye image CAPTCHA in 23 lines of Python

#30
Since the algorithm can only detect the relative swirled amounts of a set of the same images, a solution could be to, rather than using a set of the same image, use a set of different images swirled different amounts (or with some other transformation), and the user must select the unmodified image.
Post reply on HN