You know, every once in a while I post a photo in my personal journal and I want to credit it. But sometimes those photos show up on "aggregation" sites where people find "cool" photos and repost them, but without attribution. These photos are not original content to these sites, so I don't want to drive traffic to sites which don't credit the original creators of those works. What's the "right" thing to do there?
(Yes, I'm also guilty of not crediting creators. Trying to stop that.)
Surely Flickr or Google or someone has an index of their images by checksum? You could upload the image, they could compute a hash (MD5, SHA, etc) and look in their index to see if they have a byte-identical image on record. Odds are that the unattributed image has not been altered.
I googled for "image match" and found this service: TinEye. It succeeded on a couple of Flickr images I tried, but failed on a few more obscure ones.
Depending on how anal you want to be about it, you could check the referer header for these images and if you control the webserver serving them you can alter them in a way that tells the user that he's a jerk for stealing your photos. I can think of some pretty funny ways to do this to make it less evil:
+ turn the image upside down
+ put a big label across the image saying "Hey, stop stealing my images"
+ turn the image into an animated gif that after a few seconds will become a picture of something else which is mildly offensive.