Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security Web-App-Sec
[Top] [All Lists]

Re: [Full-disclosure] Re: BBCode [IMG] [/IMG] Tag Vulnerability

Subject: Re: [Full-disclosure] Re: BBCode [IMG] [/IMG] Tag Vulnerability
Date: Mon, 22 Aug 2005 21:51:52 +0200
Paul Laudanski wrote:

image/jpeg
image/pjpeg
image/tiff

So there are a couple avenues one can take in assessing if the file that 
[IMG][/IMG] is rendering is indeed an image.

If you aren't planning on doing this every time the remote image is accessed,
how are you going to stop the attacker from showing the forum server an actual
image when it verifies the image location - and launch a CSRF attack on the end
user?

It's kinda easy to do with $_SERVER['REMOTE_ADDR'], and if I were to exploit a
CSRF issue, I'd go for that. You can even automate it quite easily.

If, OTOH, your forum verifies the image each time, there is still the danger
that the forum sees something different than the user gets. The only 100% way
would be to completely download the image in question to the forum server, check
if it really is an image, and then stream back _exactly_ that image to the
client, rewriting remote image URIs to local ones. But there's a whole bag of
new problems with that approach.

At least IMHO, there's no real mitigation for CSRF attack vectors in the
catalyzing script (i.e., the forum or something), but all vulnerabilities need
to be fixed in the victim script, by having people log out via POST, not GET,
have security questions in front of security relevant actions like password
change, etc.

Or, you could just disallow remote images altogether. It kinda boils down to a
security vs. feature set question...

--ck

<Prev in Thread] Current Thread [Next in Thread>