XSS (Cross-site Scripting) allows an attacker to execute a dynamic script (Javascript, VbScript) in the context of the application. This allows several different attack opportunities, mostly hijacking the current session of the user or changing the look of the page by changing the HTML on the fly to steal the user's credentials. This happens because the input entered by a user has been interpreted as HTML/Javascript/VbScript by the browser.
XSS targets the users of the application instead of the server. Although this is a limitation, since it allows attackers to hijack other users' session, an attacker might attack an administrator to gain full control over the application.
Impact
There are many different attacks that can be leveraged through the use of XSS, including:
Hi-jacking users' active session
Changing the look of the page within the victims browser.
Mounting a successful phishing attack.
Intercept data and perform man-in-the-middle attacks.
Remedy
The issue occurs because the browser interprets the input as active HTML, Javascript or VbScript. To avoid this, all input and output from the application should be filtered. Output should be filtered according to the output format and location. Typically the output location is HTML. Where the output is HTML ensure that all active content is removed prior to its presentation to the server.
Prior to sanitizing user input, ensure you have a pre-defined list of both expected and acceptable characters with which you populate a white-list. This list needs only be defined once and should be used to sanitize and validate all subsequent input.
There are a number of pre-defined, well structured white-list libraries available for many different environments, good examples of these include, OWASP Reform and Microsoft Anti Cross-site Scripting libraries are good examples.
<html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title> Control Center Login</title> <script src="https://cc2.dealer.com/javascript/md5.js?1276795935000" language="javascript"></script> <script language="javascript"> function doLogin() { if(hasSubmitted) return false; theForm = document.forms[0]; var pwEl = theForm.elements["password"]; if( pwEl.value != "" && pwEl.value.length != 32) { pwEl.value=hex_md5(pwEl.value); } // password validation in both ext-user-manager.js (for changing password) and login.vm (for expired passwords) hasSubmitted = true; return true; } function forgotPassword() { var extra = ""; if(document.forms[0].elements["username"].value!="") extra="?_username="+document.forms[0].elements["username"].value+"&reseller='"--></style></script><script>netsparker(0x000162)</script>&lang=en_US"; document.location = "/views/forgot-password"+((extra)?extra:"?reseller='"--></style></script><script>netsparker(0x000162)</script>&lang=en_US"); } </script> <!-- NOTE; Moving to external file doesn't play nice --><style type="text/css" media="screen"> body{ margin:0; padding:0; overflow: hidden; } html, body{ height:100% } td { font: 12px "Lucida Grande",LucidaGrande,verdana,sans-serif; font-weight: bold; } #loginBox { background: url(https://cc2.dealer.com/images/'"--></style></script><script>netsparker(0x000162)</script>/login_graphic.png?0) no-repeat; width: 489px; height: 330px; } * html #loginBox{ padding-top: 80px; padding-left: 0px; } #loginBox table { padding-left: 50px; padding-right: 65px; } #loginBox table{ padding-top: 88px; } * html #loginBox table { width: 400px; padding-left: 0px; margin-left: 20px; margin-right: 35px; } .instructions{ padding: 2px; padding-left: 18px; font-size: 11px; border: 1px solid #ffff77; font-family: arial; font-weight: bold; background: #ffffcc url( https://cc1.dealer.com/assets/icons/small/information.png?1276796052000 ) no-repeat center left; width: 300px; } a, a:hover, a:click, #devLoginLinks a, #devLoginLinks a:hover, #devLoginLinks a:click{ font-weight: normal; /*color: #ff9900;*/ color: #fd6400; } a, a:visited, #devLoginLinks a:visited{ font-weight: normal; /*color: #ff9900;*/ text-decoration: none; color: #fd6400; } a span, #devLoginLinks a span{ font-weight: normal; /*color: #5983ba;*/ text-decoration: none; color: #000000; } a span, #devLoginLinks a span{ border-bottom: 1px dotted #fd6400; } * html .ieHack{ border-bottom: 1px dotted #fd6400; } #links{ margin-bottom: 10px; margin-right: 10px; } #links td, #links td a, #devLoginLinks a{ font-weight: normal; font-size: 11px; } #ie6Upgrade, #ff2Upgrade{ /*visibility: hidden;*/ display: none; width: 445px; padding-right: 10px; margin-top: 20px; cursor: hand; } #ie6Upgrade td, #ff2Upgrade td{ font-size: 11px; font-weight: normal; } .languageName{ text-transform: capitalize; } .clickable{cursor: pointer;} * html .clickable{cursor: hand;}</style></head><body onLoad="doPageLoad()"><form action="/" method="POST" onSubmit="return doLogin();" id="loginForm"><input type="hidden" name="action" value="Login"><input type="hidden" name="reseller" value="'"--></style></script><script>netsparker(0x000162)</script>"><input type="hidden" name="lang" value="3"><table id="loginTable" style="visibility:hidden" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <table width="450" border="0" cellpadding="5" cellspacing="0" id="links"> <tr> <td align="center"><a href="javascript:addBookmark()" border="0"><span>Bookmark This Page</span></a></td> <td align="center"><a href="javascript:forgotPassword()" border="0"><span>Forgot Username/Password?</span></a></td> </tr> </table> <div id="loginBox"> <table id="loginFormTable" width="100%" cellspacing="4" cellpadding="2" border="0"> <colgroup> <col style="padding-left:5px"> <col width="80%"> </colgroup> <tr> <td colspan="2"> <div class="instructions">Invalid Username or Password, please try again.</div> </td> </tr> <tr> <td nowrap><label for="username">Username:</label></td> <td ><input name="username" style="width: 90%" ></td> </tr> <tr> <td nowrap><label for="password">Password:</label></td> <td><input name="password" type="password" style="width: 90%"></td> </tr> <tr> <td colspan="2" align="center" nowrap> <input type="checkbox" name="storeCookie" value="storeCookie"/> <label for="storeCookie">Remember my username and password</label> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="Login"> </td> </tr> </table> </div> <div id="ie6Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> <div id="ff2Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old version of Firefox which we no longer support.<br/> Starting March 1st, 2009, you will no longer be able to login to ControlCenter with this browser.<br/><br/> <a href="http://www.getfirefox.com" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> </td> </tr></table></form><script src="https://cc1.dealer.com/js/ddc/veneer/util/ext-browser-info-min.js?1302618944000" language="javascript"></script><script src="https://cc3.dealer.com/js/ddc/veneer/ext-login-validation-min.js?1302618944000" language="javascript"></script><style type="text/css" media="screen"> #browserDetectionTable{ visibility: hidden; } #loggedInTable{ position: absolute; top: 0; left: 0; visibility: hidden; }</style><table id="browserDetectionTable" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"> <br/><br/><br/><br/><br/><br/><br/> We have minimum browser requirements to use our application.<br/><br/> We require Firefox 3.0 & above on Windows or Macintosh.<br/> or Internet Explorer version 7.0 on Windows.<br/> <!--<br/>You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a><br/><br/><br/>--> Please click one of these options download:<br/><br/> <table width="70%"> <tr> <td align="center" class="clickable" style="color: #fd6400;" valign="middle" onclick="location='http://www.mozilla.com/firefox'"> Click to download Firefox 3.0<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'><br/> Click to download Firefox 3.0 </td> <td align="center" class="clickable" valign="middle" style="color: #000099;" onclick="location='http://www.microsoft.com/windows/ie/downloads/default.mspx'"> Click to download IE 7.0<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'><br/> Click to download IE 7.0 </td> </tr> </table> </td> </tr></table><table id="loggedInTable" border="0" width="100%" height="70%"> <tr> <td align="center" valign="center" style="font-family: arial; font-weight: bold"> <span style="color: #880000"> If you have a pop-up blocker installed, it could prevent the login window from appearing.<br/> Please remember to turn off your pop-up blocker for all dealer.com sites. Thank you. </span><br/><br/> <img src="https://cc1.dealer.com/images/'"--></style></script><script>netsparker(0x000162)</script>/logo.png?0" border='0' height=150><br/> (You are now logged in and may close this window) </td> </tr></table><script type="text/javascript" language="javascript">BrowserInfo.isDev = ("false" == "true");BrowserInfo.embeddedBrowser = ("" == "true");BrowserInfo.isInternal = ("false" == "true");// since this page gets loaded before the main framework, localized strings for JS need to be included this wayLoginValidator.localizedStrings = { "800_X_600_WARNING" : "Your screen resolution is set to 800 x 600.\nAlthough you can use Control Center at this lower resolution, it functions best at a higher resolution, like 1024 x 768."};LoginValidator.validate("","","'"--></style></script><script>netsparker(0x000162)</script>","en_US");</script> <script src="https://ssl.google-analytics.com/ga.js" type="text/javascript"></script> <script type="text/javascript">try{var tracker=_gat._getTracker("UA-248438-3");tracker._initData();tracker._trackPageview()}catch(e){}</script></body> <script language="javascript"> //we need to check for a module hash and preserve that //as well as any query string params //for deep linking into modules var hash = document.location.hash; //we need to reset the form's action //so we include the hash and query params //using get and set Attribute bc there is a form field //named action inside the form....grrrr! var oldAction = document.forms[0].attributes["action"].value; document.forms[0].attributes["action"].value = oldAction + hash; var hasSubmitted = false; if( opener && opener.location.href.indexOf("/views/login") == -1 ){ opener.location = "/views/login?reseller='"--></style></script><script>netsparker(0x000162)</script>&lang=en_US" + (hash); window.close(); } if( window != top ) top.location = location.href; function doPageLoad(){ if( BrowserInfo.isIE() && BrowserInfo.version < 7.0){ //document.getElementById("ie6Upgrade").style.visibility = "visible"; document.getElementById("ie6Upgrade").style.display = "block"; } if( BrowserInfo.isFirefox() && BrowserInfo.version < "3."){ //document.getElementById("ff2Upgrade").style.visibility = "visible"; document.getElementById("ff2Upgrade").style.display = "block"; } if( document.getElementById("loginTable").style.display != "none" ) document.forms[0].username.focus(); } function addBookmark(){ var title = "Control Center Login"; //var url = "http://cc.dealer.com/views/login"; var url = location.href; if( document.all ) window.external.AddFavorite( url, title ); else if( window.sidebar ) window.sidebar.addPanel( title, url, ""); } </script></html>
<html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title> Control Center Login</title> <script src="https://cc2.dealer.com/javascript/md5.js?1276795935000" language="javascript"></script> <script language="javascript"> function doLogin() { if(hasSubmitted) return false; theForm = document.forms[0]; var pwEl = theForm.elements["password"]; if( pwEl.value != "" && pwEl.value.length != 32) { pwEl.value=hex_md5(pwEl.value); } // password validation in both ext-user-manager.js (for changing password) and login.vm (for expired passwords) hasSubmitted = true; return true; } function forgotPassword() { var extra = ""; if(document.forms[0].elements["username"].value!="") extra="?_username="+document.forms[0].elements["username"].value+"&reseller=3&lang=en_US"; document.location = "/views/forgot-password"+((extra)?extra:"?reseller=3&lang=en_US"); } </script> <!-- NOTE; Moving to external file doesn't play nice --><style type="text/css" media="screen"> body{ margin:0; padding:0; overflow: hidden; } html, body{ height:100% } td { font: 12px "Lucida Grande",LucidaGrande,verdana,sans-serif; font-weight: bold; } #loginBox { background: url(https://cc2.dealer.com/images/3/login_graphic.png?0) no-repeat; width: 489px; height: 330px; } * html #loginBox{ padding-top: 80px; padding-left: 0px; } #loginBox table { padding-left: 50px; padding-right: 65px; } #loginBox table{ padding-top: 88px; } * html #loginBox table { width: 400px; padding-left: 0px; margin-left: 20px; margin-right: 35px; } .instructions{ padding: 2px; padding-left: 18px; font-size: 11px; border: 1px solid #ffff77; font-family: arial; font-weight: bold; background: #ffffcc url( https://cc1.dealer.com/assets/icons/small/information.png?1276796052000 ) no-repeat center left; width: 300px; } a, a:hover, a:click, #devLoginLinks a, #devLoginLinks a:hover, #devLoginLinks a:click{ font-weight: normal; /*color: #ff9900;*/ color: #fd6400; } a, a:visited, #devLoginLinks a:visited{ font-weight: normal; /*color: #ff9900;*/ text-decoration: none; color: #fd6400; } a span, #devLoginLinks a span{ font-weight: normal; /*color: #5983ba;*/ text-decoration: none; color: #000000; } a span, #devLoginLinks a span{ border-bottom: 1px dotted #fd6400; } * html .ieHack{ border-bottom: 1px dotted #fd6400; } #links{ margin-bottom: 10px; margin-right: 10px; } #links td, #links td a, #devLoginLinks a{ font-weight: normal; font-size: 11px; } #ie6Upgrade, #ff2Upgrade{ /*visibility: hidden;*/ display: none; width: 445px; padding-right: 10px; margin-top: 20px; cursor: hand; } #ie6Upgrade td, #ff2Upgrade td{ font-size: 11px; font-weight: normal; } .languageName{ text-transform: capitalize; } .clickable{cursor: pointer;} * html .clickable{cursor: hand;}</style></head><body onLoad="doPageLoad()"><form action="/" method="POST" onSubmit="return doLogin();" id="loginForm"><input type="hidden" name="action" value="Login"><input type="hidden" name="reseller" value="3"><input type="hidden" name="lang" value="'"--></style></script><script>netsparker(0x000163)</script>"><table id="loginTable" style="visibility:hidden" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <table width="450" border="0" cellpadding="5" cellspacing="0" id="links"> <tr> <td align="center"><a href="javascript:addBookmark()" border="0"><span>Bookmark This Page</span></a></td> <td align="center"><a href="javascript:forgotPassword()" border="0"><span>Forgot Username/Password?</span></a></td> </tr> </table> <div id="loginBox"> <table id="loginFormTable" width="100%" cellspacing="4" cellpadding="2" border="0"> <colgroup> <col style="padding-left:5px"> <col width="80%"> </colgroup> <tr> <td colspan="2"> <div class="instructions">Invalid Username or Password, please try again.</div> </td> </tr> <tr> <td nowrap><label for="username">Username:</label></td> <td ><input name="username" style="width: 90%" ></td> </tr> <tr> <td nowrap><label for="password">Password:</label></td> <td><input name="password" type="password" style="width: 90%"></td> </tr> <tr> <td colspan="2" align="center" nowrap> <input type="checkbox" name="storeCookie" value="storeCookie"/> <label for="storeCookie">Remember my username and password</label> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="Login"> </td> </tr> </table> </div> <div id="ie6Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> <div id="ff2Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old version of Firefox which we no longer support.<br/> Starting March 1st, 2009, you will no longer be able to login to ControlCenter with this browser.<br/><br/> <a href="http://www.getfirefox.com" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> </td> </tr></table></form><script src="https://cc1.dealer.com/js/ddc/veneer/util/ext-browser-info-min.js?1302618944000" language="javascript"></script><script src="https://cc3.dealer.com/js/ddc/veneer/ext-login-validation-min.js?1302618944000" language="javascript"></script><style type="text/css" media="screen"> #browserDetectionTable{ visibility: hidden; } #loggedInTable{ position: absolute; top: 0; left: 0; visibility: hidden; }</style><table id="browserDetectionTable" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"> <br/><br/><br/><br/><br/><br/><br/> We have minimum browser requirements to use our application.<br/><br/> We require Firefox 3.0 & above on Windows or Macintosh.<br/> or Internet Explorer version 7.0 on Windows.<br/> <!--<br/>You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a><br/><br/><br/>--> Please click one of these options download:<br/><br/> <table width="70%"> <tr> <td align="center" class="clickable" style="color: #fd6400;" valign="middle" onclick="location='http://www.mozilla.com/firefox'"> Click to download Firefox 3.0<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'><br/> Click to download Firefox 3.0 </td> <td align="center" class="clickable" valign="middle" style="color: #000099;" onclick="location='http://www.microsoft.com/windows/ie/downloads/default.mspx'"> Click to download IE 7.0<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'><br/> Click to download IE 7.0 </td> </tr> </table> </td> </tr></table><table id="loggedInTable" border="0" width="100%" height="70%"> <tr> <td align="center" valign="center" style="font-family: arial; font-weight: bold"> <span style="color: #880000"> If you have a pop-up blocker installed, it could prevent the login window from appearing.<br/> Please remember to turn off your pop-up blocker for all dealer.com sites. Thank you. </span><br/><br/> <img src="https://cc1.dealer.com/images/3/logo.png?0" border='0' height=150><br/> (You are now logged in and may close this window) </td> </tr></table><script type="text/javascript" language="javascript">BrowserInfo.isDev = ("false" == "true");BrowserInfo.embeddedBrowser = ("" == "true");BrowserInfo.isInternal = ("false" == "true");// since this page gets loaded before the main framework, localized strings for JS need to be included this wayLoginValidator.localizedStrings = { "800_X_600_WARNING" : "Your screen resolution is set to 800 x 600.\nAlthough you can use Control Center at this lower resolution, it functions best at a higher resolution, like 1024 x 768."};LoginValidator.validate("","","3","en_US");</script> <script src="https://ssl.google-analytics.com/ga.js" type="text/javascript"></script> <script type="text/javascript">try{var tracker=_gat._getTracker("UA-248438-3");tracker._initData();tracker._trackPageview()}catch(e){}</script></body> <script language="javascript"> //we need to check for a module hash and preserve that //as well as any query string params //for deep linking into modules var hash = document.location.hash; //we need to reset the form's action //so we include the hash and query params //using get and set Attribute bc there is a form field //named action inside the form....grrrr! var oldAction = document.forms[0].attributes["action"].value; document.forms[0].attributes["action"].value = oldAction + hash; var hasSubmitted = false; if( opener && opener.location.href.indexOf("/views/login") == -1 ){ opener.location = "/views/login?reseller=3&lang=en_US" + (hash); window.close(); } if( window != top ) top.location = location.href; function doPageLoad(){ if( BrowserInfo.isIE() && BrowserInfo.version < 7.0){ //document.getElementById("ie6Upgrade").style.visibility = "visible"; document.getElementById("ie6Upgrade").style.display = "block"; } if( BrowserInfo.isFirefox() && BrowserInfo.version < "3."){ //document.getElementById("ff2Upgrade").style.visibility = "visible"; document.getElementById("ff2Upgrade").style.display = "block"; } if( document.getElementById("loginTable").style.display != "none" ) document.forms[0].username.focus(); } function addBookmark(){ var title = "Control Center Login"; //var url = "http://cc.dealer.com/views/login"; var url = location.href; if( document.all ) window.external.AddFavorite( url, title ); else if( window.sidebar ) window.sidebar.addPanel( title, url, ""); } </script></html>
<html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title> Control Center Login</title> <script src="https://cc2.dealer.com/javascript/md5.js?1276795935000" language="javascript"></script> <script language="javascript"> function doLogin() { if(hasSubmitted) return false; theForm = document.forms[0]; var pwEl = theForm.elements["password"]; if( pwEl.value != "" && pwEl.value.length != 32) { pwEl.value=hex_md5(pwEl.value); } // password validation in both ext-user-manager.js (for changing password) and login.vm (for expired passwords) hasSubmitted = true; return true; } function forgotPassword() { var extra = ""; if(document.forms[0].elements["username"].value!="") extra="?_username="+document.forms[0].elements["username"].value+"&reseller=3&lang=en_US"; document.location = "/views/forgot-password"+((extra)?extra:"?reseller=3&lang=en_US"); } </script> <!-- NOTE; Moving to external file doesn't play nice --><style type="text/css" media="screen"> body{ margin:0; padding:0; overflow: hidden; } html, body{ height:100% } td { font: 12px "Lucida Grande",LucidaGrande,verdana,sans-serif; font-weight: bold; } #loginBox { background: url(https://cc2.dealer.com/images/3/login_graphic.png?0) no-repeat; width: 489px; height: 330px; } * html #loginBox{ padding-top: 80px; padding-left: 0px; } #loginBox table { padding-left: 50px; padding-right: 65px; } #loginBox table{ padding-top: 88px; } * html #loginBox table { width: 400px; padding-left: 0px; margin-left: 20px; margin-right: 35px; } .instructions{ padding: 2px; padding-left: 18px; font-size: 11px; border: 1px solid #ffff77; font-family: arial; font-weight: bold; background: #ffffcc url( https://cc1.dealer.com/assets/icons/small/information.png?1276796052000 ) no-repeat center left; width: 300px; } a, a:hover, a:click, #devLoginLinks a, #devLoginLinks a:hover, #devLoginLinks a:click{ font-weight: normal; /*color: #ff9900;*/ color: #fd6400; } a, a:visited, #devLoginLinks a:visited{ font-weight: normal; /*color: #ff9900;*/ text-decoration: none; color: #fd6400; } a span, #devLoginLinks a span{ font-weight: normal; /*color: #5983ba;*/ text-decoration: none; color: #000000; } a span, #devLoginLinks a span{ border-bottom: 1px dotted #fd6400; } * html .ieHack{ border-bottom: 1px dotted #fd6400; } #links{ margin-bottom: 10px; margin-right: 10px; } #links td, #links td a, #devLoginLinks a{ font-weight: normal; font-size: 11px; } #ie6Upgrade, #ff2Upgrade{ /*visibility: hidden;*/ display: none; width: 445px; padding-right: 10px; margin-top: 20px; cursor: hand; } #ie6Upgrade td, #ff2Upgrade td{ font-size: 11px; font-weight: normal; } .languageName{ text-transform: capitalize; } .clickable{cursor: pointer;} * html .clickable{cursor: hand;}</style></head><body onLoad="doPageLoad()"><form action="/" method="POST" onSubmit="return doLogin();" id="loginForm"><input type="hidden" name="action" value="Login"><input type="hidden" name="reseller" value="3"><input type="hidden" name="lang" value="3"><table id="loginTable" style="visibility:hidden" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <table width="450" border="0" cellpadding="5" cellspacing="0" id="links"> <tr> <td align="center"><a href="javascript:addBookmark()" border="0"><span>Bookmark This Page</span></a></td> <td align="center"><a href="javascript:forgotPassword()" border="0"><span>Forgot Username/Password?</span></a></td> </tr> </table> <div id="loginBox"> <table id="loginFormTable" width="100%" cellspacing="4" cellpadding="2" border="0"> <colgroup> <col style="padding-left:5px"> <col width="80%"> </colgroup> <tr> <td colspan="2"> <div class="instructions">'"--></style></script><script>netsparker(0x000164)</script></div> </td> </tr> <tr> <td nowrap><label for="username">Username:</label></td> <td ><input name="username" style="width: 90%" ></td> </tr> <tr> <td nowrap><label for="password">Password:</label></td> <td><input name="password" type="password" style="width: 90%"></td> </tr> <tr> <td colspan="2" align="center" nowrap> <input type="checkbox" name="storeCookie" value="storeCookie"/> <label for="storeCookie">Remember my username and password</label> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="Login"> </td> </tr> </table> </div> <div id="ie6Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> <div id="ff2Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old version of Firefox which we no longer support.<br/> Starting March 1st, 2009, you will no longer be able to login to ControlCenter with this browser.<br/><br/> <a href="http://www.getfirefox.com" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> </td> </tr></table></form><script src="https://cc1.dealer.com/js/ddc/veneer/util/ext-browser-info-min.js?1302618944000" language="javascript"></script><script src="https://cc3.dealer.com/js/ddc/veneer/ext-login-validation-min.js?1302618944000" language="javascript"></script><style type="text/css" media="screen"> #browserDetectionTable{ visibility: hidden; } #loggedInTable{ position: absolute; top: 0; left: 0; visibility: hidden; }</style><table id="browserDetectionTable" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"> <br/><br/><br/><br/><br/><br/><br/> We have minimum browser requirements to use our application.<br/><br/> We require Firefox 3.0 & above on Windows or Macintosh.<br/> or Internet Explorer version 7.0 on Windows.<br/> <!--<br/>You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a><br/><br/><br/>--> Please click one of these options download:<br/><br/> <table width="70%"> <tr> <td align="center" class="clickable" style="color: #fd6400;" valign="middle" onclick="location='http://www.mozilla.com/firefox'"> Click to download Firefox 3.0<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'><br/> Click to download Firefox 3.0 </td> <td align="center" class="clickable" valign="middle" style="color: #000099;" onclick="location='http://www.microsoft.com/windows/ie/downloads/default.mspx'"> Click to download IE 7.0<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'><br/> Click to download IE 7.0 </td> </tr> </table> </td> </tr></table><table id="loggedInTable" border="0" width="100%" height="70%"> <tr> <td align="center" valign="center" style="font-family: arial; font-weight: bold"> <span style="color: #880000"> If you have a pop-up blocker installed, it could prevent the login window from appearing.<br/> Please remember to turn off your pop-up blocker for all dealer.com sites. Thank you. </span><br/><br/> <img src="https://cc1.dealer.com/images/3/logo.png?0" border='0' height=150><br/> (You are now logged in and may close this window) </td> </tr></table><script type="text/javascript" language="javascript">BrowserInfo.isDev = ("false" == "true");BrowserInfo.embeddedBrowser = ("" == "true");BrowserInfo.isInternal = ("false" == "true");// since this page gets loaded before the main framework, localized strings for JS need to be included this wayLoginValidator.localizedStrings = { "800_X_600_WARNING" : "Your screen resolution is set to 800 x 600.\nAlthough you can use Control Center at this lower resolution, it functions best at a higher resolution, like 1024 x 768."};LoginValidator.validate("","","3","en_US");</script> <script src="https://ssl.google-analytics.com/ga.js" type="text/javascript"></script> <script type="text/javascript">try{var tracker=_gat._getTracker("UA-248438-3");tracker._initData();tracker._trackPageview()}catch(e){}</script></body> <script language="javascript"> //we need to check for a module hash and preserve that //as well as any query string params //for deep linking into modules var hash = document.location.hash; //we need to reset the form's action //so we include the hash and query params //using get and set Attribute bc there is a form field //named action inside the form....grrrr! var oldAction = document.forms[0].attributes["action"].value; document.forms[0].attributes["action"].value = oldAction + hash; var hasSubmitted = false; if( opener && opener.location.href.indexOf("/views/login") == -1 ){ opener.location = "/views/login?reseller=3&lang=en_US" + (hash); window.close(); } if( window != top ) top.location = location.href; function doPageLoad(){ if( BrowserInfo.isIE() && BrowserInfo.version < 7.0){ //document.getElementById("ie6Upgrade").style.visibility = "visible"; document.getElementById("ie6Upgrade").style.display = "block"; } if( BrowserInfo.isFirefox() && BrowserInfo.version < "3."){ //document.getElementById("ff2Upgrade").style.visibility = "visible"; document.getElementById("ff2Upgrade").style.display = "block"; } if( document.getElementById("loginTable").style.display != "none" ) document.forms[0].username.focus(); } function addBookmark(){ var title = "Control Center Login"; //var url = "http://cc.dealer.com/views/login"; var url = location.href; if( document.all ) window.external.AddFavorite( url, title ); else if( window.sidebar ) window.sidebar.addPanel( title, url, ""); } </script></html>
<html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title> Control Center Login</title> <script src="https://cc2.dealer.com/javascript/md5.js?1276795935000" language="javascript"></script> <script language="javascript"> function doLogin() { if(hasSubmitted) return false; theForm = document.forms[0]; var pwEl = theForm.elements["password"]; if( pwEl.value != "" && pwEl.value.length != 32) { pwEl.value=hex_md5(pwEl.value); } // password validation in both ext-user-manager.js (for changing password) and login.vm (for expired passwords) hasSubmitted = true; return true; } function forgotPassword() { var extra = ""; if(document.forms[0].elements["username"].value!="") extra="?_username="+document.forms[0].elements["username"].value+"&reseller='"--></style></script><script>netsparker(0x000165)</script>&lang=en_US"; document.location = "/views/forgot-password"+((extra)?extra:"?reseller='"--></style></script><script>netsparker(0x000165)</script>&lang=en_US"); } </script> <!-- NOTE; Moving to external file doesn't play nice --><style type="text/css" media="screen"> body{ margin:0; padding:0; overflow: hidden; } html, body{ height:100% } td { font: 12px "Lucida Grande",LucidaGrande,verdana,sans-serif; font-weight: bold; } #loginBox { background: url(https://cc3.dealer.com/images/'"--></style></script><script>netsparker(0x000165)</script>/login_graphic.png?0) no-repeat; width: 489px; height: 330px; } * html #loginBox{ padding-top: 105px; padding-left: 0px; } #loginBox table { padding-left: 50px; padding-right: 65px; } #loginBox table{ padding-top: 105px; } * html #loginBox table { width: 400px; padding-left: 0px; margin-left: 20px; margin-right: 35px; } .instructions{ padding: 2px; padding-left: 18px; font-size: 11px; border: 1px solid #ffff77; font-family: arial; font-weight: bold; background: #ffffcc url( https://cc1.dealer.com/assets/icons/small/information.png?1276796052000 ) no-repeat center left; width: 300px; } a, a:hover, a:click, #devLoginLinks a, #devLoginLinks a:hover, #devLoginLinks a:click{ font-weight: normal; /*color: #ff9900;*/ color: #fd6400; } a, a:visited, #devLoginLinks a:visited{ font-weight: normal; /*color: #ff9900;*/ text-decoration: none; color: #fd6400; } a span, #devLoginLinks a span{ font-weight: normal; /*color: #5983ba;*/ text-decoration: none; color: #000000; } a span, #devLoginLinks a span{ border-bottom: 1px dotted #fd6400; } * html .ieHack{ border-bottom: 1px dotted #fd6400; } #links{ margin-bottom: 10px; margin-right: 10px; } #links td, #links td a, #devLoginLinks a{ font-weight: normal; font-size: 11px; } #ie6Upgrade, #ff2Upgrade{ /*visibility: hidden;*/ display: none; width: 445px; padding-right: 10px; margin-top: 20px; cursor: hand; } #ie6Upgrade td, #ff2Upgrade td{ font-size: 11px; font-weight: normal; } .languageName{ text-transform: capitalize; } .clickable{cursor: pointer;} * html .clickable{cursor: hand;}</style></head><body onLoad="doPageLoad()"><form action="/" method="POST" onSubmit="return doLogin();" id="loginForm"><input type="hidden" name="action" value="Login"><input type="hidden" name="reseller" value="'"--></style></script><script>netsparker(0x000165)</script>"><input type="hidden" name="lang" value=""><table id="loginTable" style="visibility:hidden" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <table width="450" border="0" cellpadding="5" cellspacing="0" id="links"> <tr> <td align="center"><a href="javascript:addBookmark()" border="0"><span>Bookmark This Page</span></a></td> <td align="center"><a href="javascript:forgotPassword()" border="0"><span>Forgot Username/Password?</span></a></td> </tr> </table> <div id="loginBox"> <table id="loginFormTable" width="100%" cellspacing="4" cellpadding="2" border="0"> <colgroup> <col style="padding-left:5px"> <col width="80%"> </colgroup> <tr> <td colspan="2"> </td> </tr> <tr> <td nowrap><label for="username">Username:</label></td> <td ><input name="username" style="width: 90%" ></td> </tr> <tr> <td nowrap><label for="password">Password:</label></td> <td><input name="password" type="password" style="width: 90%"></td> </tr> <tr> <td colspan="2" align="center" nowrap> <input type="checkbox" name="storeCookie" value="storeCookie"/> <label for="storeCookie">Remember my username and password</label> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="Login"> </td> </tr> </table> </div> <div id="ie6Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> <div id="ff2Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old version of Firefox which we no longer support.<br/> Starting March 1st, 2009, you will no longer be able to login to ControlCenter with this browser.<br/><br/> <a href="http://www.getfirefox.com" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> </td> </tr></table></form><script src="https://cc1.dealer.com/js/ddc/veneer/util/ext-browser-info-min.js?1302618944000" language="javascript"></script><script src="https://cc3.dealer.com/js/ddc/veneer/ext-login-validation-min.js?1302618944000" language="javascript"></script><style type="text/css" media="screen"> #browserDetectionTable{ visibility: hidden; } #loggedInTable{ position: absolute; top: 0; left: 0; visibility: hidden; }</style><table id="browserDetectionTable" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"> <br/><br/><br/><br/><br/><br/><br/> We have minimum browser requirements to use our application.<br/><br/> We require Firefox 3.0 & above on Windows or Macintosh.<br/> or Internet Explorer version 7.0 on Windows.<br/> <!--<br/>You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a><br/><br/><br/>--> Please click one of these options download:<br/><br/> <table width="70%"> <tr> <td align="center" class="clickable" style="color: #fd6400;" valign="middle" onclick="location='http://www.mozilla.com/firefox'"> Click to download Firefox 3.0<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'><br/> Click to download Firefox 3.0 </td> <td align="center" class="clickable" valign="middle" style="color: #000099;" onclick="location='http://www.microsoft.com/windows/ie/downloads/default.mspx'"> Click to download IE 7.0<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'><br/> Click to download IE 7.0 </td> </tr> </table> </td> </tr></table><table id="loggedInTable" border="0" width="100%" height="70%"> <tr> <td align="center" valign="center" style="font-family: arial; font-weight: bold"> <span style="color: #880000"> If you have a pop-up blocker installed, it could prevent the login window from appearing.<br/> Please remember to turn off your pop-up blocker for all dealer.com sites. Thank you. </span><br/><br/> <img src="https://cc1.dealer.com/images/'"--></style></script><script>netsparker(0x000165)</script>/logo.png?0" border='0' height=150><br/> (You are now logged in and may close this window) </td> </tr></table><script type="text/javascript" language="javascript">BrowserInfo.isDev = ("false" == "true");BrowserInfo.embeddedBrowser = ("" == "true");BrowserInfo.isInternal = ("false" == "true");// since this page gets loaded before the main framework, localized strings for JS need to be included this wayLoginValidator.localizedStrings = { "800_X_600_WARNING" : "Your screen resolution is set to 800 x 600.\nAlthough you can use Control Center at this lower resolution, it functions best at a higher resolution, like 1024 x 768."};LoginValidator.validate("","","'"--></style></script><script>netsparker(0x000165)</script>","en_US");</script> <script src="https://ssl.google-analytics.com/ga.js" type="text/javascript"></script> <script type="text/javascript">try{var tracker=_gat._getTracker("UA-248438-3");tracker._initData();tracker._trackPageview()}catch(e){}</script></body> <script language="javascript"> //we need to check for a module hash and preserve that //as well as any query string params //for deep linking into modules var hash = document.location.hash; //we need to reset the form's action //so we include the hash and query params //using get and set Attribute bc there is a form field //named action inside the form....grrrr! var oldAction = document.forms[0].attributes["action"].value; document.forms[0].attributes["action"].value = oldAction + hash; var hasSubmitted = false; if( opener && opener.location.href.indexOf("/views/login") == -1 ){ opener.location = "/views/login?reseller='"--></style></script><script>netsparker(0x000165)</script>&lang=en_US" + (hash); window.close(); } if( window != top ) top.location = location.href; function doPageLoad(){ if( BrowserInfo.isIE() && BrowserInfo.version < 7.0){ //document.getElementById("ie6Upgrade").style.visibility = "visible"; document.getElementById("ie6Upgrade").style.display = "block"; } if( BrowserInfo.isFirefox() && BrowserInfo.version < "3."){ //document.getElementById("ff2Upgrade").style.visibility = "visible"; document.getElementById("ff2Upgrade").style.display = "block"; } if( document.getElementById("loginTable").style.display != "none" ) document.forms[0].username.focus(); } function addBookmark(){ var title = "Control Center Login"; //var url = "http://cc.dealer.com/views/login"; var url = location.href; if( document.all ) window.external.AddFavorite( url, title ); else if( window.sidebar ) window.sidebar.addPanel( title, url, ""); } </script></html>
A Cookie was not marked as secure and transmitted over HTTPS. This means the cookie could potentially be stolen by an attacker who can successfully intercept and decrypt the traffic or following a successful MITM (Man in the middle) attack.
Impact
This cookie will be transmitted over a HTTP connection, therefore if this cookie is important (such as a session cookie) an attacker might intercept it and hijack a victim's session. If the attacker can carry out a MITM attack, he/she can force victim to make a HTTP request to steal the cookie.
Actions to Take
See the remedy for solution.
Mark all cookies used within the application as secure. (If the cookie is not related to authentication or does not carry any personal information you do not have to mark it as secure.))
Remedy
Mark all cookies used within the application as secure.
Required Skills for Successful Exploitation
To exploit this issue, the attacker needs to be able to intercept traffic. This generally requires local access to the web server or victim's network. Attackers need to be understand layer 2, have physical access to systems either as way points for the traffic, or locally (have gained access to) to a system between the victim and the web server.
A CRLF (New line) injection in HTTP headers was identified. This means that the input goes into HTTP headers without proper input filtering.
Impact
Depending on the application. An attacker might carry out the following forms of attacks:
Cross-site Scripting attack which can lead to session hijacking
Session fixation attack by setting a new cookie, which can again lead to session hijacking
Actions to Take
See the remedy for solution.
Ensure the server security patches are up to date and that the current stable version of the software is in use.
Remedy
Do not allow newline characters in input. Where possible use strict white listing.
Required Skills for Successful Exploitation
Crafting the attack to exploit this issue is not a complex process. However most of the unsophisticated attackers will not know that such an attack is possible. Also an attacker needs to reach his victim by an e-mail or other similar method in order to entice them to visit the site or click upon a URL.
"Auto Complete" was enabled in one or more of the form fields. These were either "password" fields or important fields such as "Credit Card".
Impact
Data entered in these fields will be cached by the browser. An attacker who can access the victim's browser could steal this information. This is especially important if the application is commonly used in shared computers such as cyber cafes or airport terminals.
Remedy
Add the attribute autocomplete="off" to the form tag or to individual "input" fields.
Actions to Take
See the remedy for the solution.
Find all instances of inputs which store private data and disable autocomplete. Fields which contain data such as "Credit Card" or "CCV" type data should not be cached. You can allow the application to cache usernames and remember passwords, however, in most cases this is not recommended.
Re-scan the application after addressing the identified issues to ensure that all of the fixes have been applied properly.
Required Skills for Successful Exploitation
Dumping all data from a browser can be fairly easy and there exist a number of automated tools to undertake this. Where the attacker cannot dump the data, he/she could still browse the recently visited websites and activate the auto-complete feature to see previously entered values.
<html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>Dealer.com Login</title> <script src="https://cc2.dealer.com/javascript/md5.js?1276795935000" language="javascript"></script> <script language="javascript"> function doLogin() { if(hasSubmitted) return false; theForm = document.forms[0]; var pwEl = theForm.elements["password"]; if( pwEl.value != "" && pwEl.value.length != 32) { pwEl.value=hex_md5(pwEl.value); } // password validation in both ext-user-manager.js (for changing password) and login.vm (for expired passwords) hasSubmitted = true; return true; } function forgotPassword() { var extra = ""; if(document.forms[0].elements["username"].value!="") extra="?_username="+document.forms[0].elements["username"].value+"&reseller=&lang=en_US"; document.location = "/views/forgot-password"+((extra)?extra:"?reseller=&lang=en_US"); } </script> <!-- NOTE; Moving to external file doesn't play nice --><style type="text/css" media="screen"> body{ margin:0; padding:0; overflow: hidden; } html, body{ height:100% } td { font: 12px "Lucida Grande",LucidaGrande,verdana,sans-serif; font-weight: bold; } #loginBox { background: url(https://cc2.dealer.com/images/login_graphic.png?1276795935000) no-repeat; width: 489px; height: 330px; } * html #loginBox{ padding-top: 80px; padding-left: 0px; } #loginBox table { padding-left: 50px; padding-right: 65px; } #loginBox table{ padding-top: 88px; } * html #loginBox table { width: 400px; padding-left: 0px; margin-left: 20px; margin-right: 35px; } .instructions{ padding: 2px; padding-left: 18px; font-size: 11px; border: 1px solid #ffff77; font-family: arial; font-weight: bold; background: #ffffcc url( https://cc1.dealer.com/assets/icons/small/information.png?1276796052000 ) no-repeat center left; width: 300px; } a, a:hover, a:click, #devLoginLinks a, #devLoginLinks a:hover, #devLoginLinks a:click{ font-weight: normal; /*color: #ff9900;*/ color: #fd6400; } a, a:visited, #devLoginLinks a:visited{ font-weight: normal; /*color: #ff9900;*/ text-decoration: none; color: #fd6400; } a span, #devLoginLinks a span{ font-weight: normal; /*color: #5983ba;*/ text-decoration: none; color: #000000; } a span, #devLoginLinks a span{ border-bottom: 1px dotted #fd6400; } * html .ieHack{ border-bottom: 1px dotted #fd6400; } #links{ margin-bottom: 10px; margin-right: 10px; } #links td, #links td a, #devLoginLinks a{ font-weight: normal; font-size: 11px; } #ie6Upgrade, #ff2Upgrade{ /*visibility: hidden;*/ display: none; width: 445px; padding-right: 10px; margin-top: 20px; cursor: hand; } #ie6Upgrade td, #ff2Upgrade td{ font-size: 11px; font-weight: normal; } .languageName{ text-transform: capitalize; } .clickable{cursor: pointer;} * html .clickable{cursor: hand;}</style></head><body onLoad="doPageLoad()"><form action="/" method="POST" onSubmit="return doLogin();" id="loginForm"><input type="hidden" name="action" value="Login"><input type="hidden" name="reseller" value=""><input type="hidden" name="lang" value=""><table id="loginTable" style="visibility:hidden" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <table width="450" border="0" cellpadding="5" cellspacing="0" id="links"> <tr> <td align="center" class="ieHack"><a href="http://dealer.com" target="_blank" border="0"><span>Visit Dealer.com</span></a></td> <td align="center"><a href="javascript:addBookmark()" border="0"><span>Bookmark This Page</span></a></td> <td align="center"><a href="javascript:forgotPassword()" border="0"><span>Forgot Username/Password?</span></a></td> </tr> </table> <div id="loginBox"> <table id="loginFormTable" width="100%" cellspacing="4" cellpadding="2" border="0"> <colgroup> <col style="padding-left:5px"> <col width="80%"> </colgroup> <tr> <td colspan="2"> <div class="instructions">Your session has expired, please login again.</div> </td> </tr> <tr> <td nowrap><label for="username">Username:</label></td> <td ><input name="username" style="width: 90%" ></td> </tr> <tr> <td nowrap><label for="password">Password:</label></td> <td><input name="password" type="password" style="width: 90%"></td> </tr> <tr> <td colspan="2" align="center" nowrap> <input type="checkbox" name="storeCookie" value="storeCookie"/> <label for="storeCookie">Remember my username and password</label> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="Login"> </td> </tr> </table> </div> <div id="ie6Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> <div id="ff2Upgrade"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" style="color: #ff0000;font-weight:bold;"> You are using on old version of Firefox which we no longer support.<br/> Starting March 1st, 2009, you will no longer be able to login to ControlCenter with this browser.<br/><br/> <a href="http://www.getfirefox.com" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'> </a> </td> </tr> </table> </div> </td> </tr></table></form><script src="https://cc1.dealer.com/js/ddc/veneer/util/ext-browser-info-min.js?1302618944000" language="javascript"></script><script src="https://cc3.dealer.com/js/ddc/veneer/ext-login-validation-min.js?1302618944000" language="javascript"></script><style type="text/css" media="screen"> #browserDetectionTable{ visibility: hidden; } #loggedInTable{ position: absolute; top: 0; left: 0; visibility: hidden; }</style><table id="browserDetectionTable" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"> <br/><br/><br/><br/><br/><br/><br/> We have minimum browser requirements to use our application.<br/><br/> We require Firefox 3.0 & above on Windows or Macintosh.<br/> or Internet Explorer version 7.0 on Windows.<br/> <!--<br/>You are using on old, unsupported version of Internet Explorer.<br/> If you do not upgrade, you will not be able to use the full functionality of ControlCenter.<br/> <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank"> Click Here to Upgrade Now!<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'> </a><br/><br/><br/>--> Please click one of these options download:<br/><br/> <table width="70%"> <tr> <td align="center" class="clickable" style="color: #fd6400;" valign="middle" onclick="location='http://www.mozilla.com/firefox'"> Click to download Firefox 3.0<br/> <img src="https://cc2.dealer.com/images/getFireFox2.gif?1276795935000" border='0' align='middle'><br/> Click to download Firefox 3.0 </td> <td align="center" class="clickable" valign="middle" style="color: #000099;" onclick="location='http://www.microsoft.com/windows/ie/downloads/default.mspx'"> Click to download IE 7.0<br/> <img src="https://cc3.dealer.com/images/box_ie.jpg?1276795935000" border='0' align='middle'><br/> Click to download IE 7.0 </td> </tr> </table> </td> </tr></table><table id="loggedInTable" border="0" width="100%" height="70%"> <tr> <td align="center" valign="center" style="font-family: arial; font-weight: bold"> <span style="color: #880000"> If you have a pop-up blocker installed, it could prevent the login window from appearing.<br/> Please remember to turn off your pop-up blocker for all dealer.com sites. Thank you. </span><br/><br/> <img src="https://cc3.dealer.com/images/logo.png?1276795935000" border='0'><br/> (You are now logged in and may close this window) </td> </tr></table><script type="text/javascript" language="javascript">BrowserInfo.isDev = ("false" == "true");BrowserInfo.embeddedBrowser = ("" == "true");BrowserInfo.isInternal = ("false" == "true");// since this page gets loaded before the main framework, localized strings for JS need to be included this wayLoginValidator.localizedStrings = { "800_X_600_WARNING" : "Your screen resolution is set to 800 x 600.\nAlthough you can use Control Center at this lower resolution, it functions best at a higher resolution, like 1024 x 768."};LoginValidator.validate("","","","en_US");</script> <script src="https://ssl.google-analytics.com/ga.js" type="text/javascript"></script> <script type="text/javascript">try{var tracker=_gat._getTracker("UA-248438-3");tracker._initData();tracker._trackPageview()}catch(e){}</script></body> <script language="javascript"> //we need to check for a module hash and preserve that //as well as any query string params //for deep linking into modules var hash = document.location.hash; //we need to reset the form's action //so we include the hash and query params //using get and set Attribute bc there is a form field //named action inside the form....grrrr! var oldAction = document.forms[0].attributes["action"].value; document.forms[0].attributes["action"].value = oldAction + hash; var hasSubmitted = false; if( opener && opener.location.href.indexOf("/views/login") == -1 ){ opener.location = "/views/login?reseller=&lang=en_US" + (hash); window.close(); } if( window != top ) top.location = location.href; function doPageLoad(){ if( BrowserInfo.isIE() && BrowserInfo.version < 7.0){ //document.getElementById("ie6Upgrade").style.visibility = "visible"; document.getElementById("ie6Upgrade").style.display = "block"; } if( BrowserInfo.isFirefox() && BrowserInfo.version < "3."){ //document.getElementById("ff2Upgrade").style.visibility = "visible"; document.getElementById("ff2Upgrade").style.display = "block"; } if( document.getElementById("loginTable").style.display != "none" ) document.forms[0].username.focus(); } function addBookmark(){ var title = "Dealer.com Login"; //var url = "http://cc.dealer.com/views/login"; var url = location.href; if( document.all ) window.external.AddFavorite( url, title ); else if( window.sidebar ) window.sidebar.addPanel( title, url, ""); } </script></html>
Cookie Not Marked As HttpOnly
Cookie Not Marked As HttpOnly
1
TOTAL
LOW
CONFIRMED
1
Cookie was not marked as HTTPOnly. HTTPOnly cookies can not be read by client-side scripts therefore marking a cookie as HTTPOnly can provide an additional layer of protection against Cross-site Scripting attacks..
Impact
During a Cross-site Scripting attack an attacker might easily access cookies and hijack the victim's session.
Actions to Take
See the remedy for solution
Consider marking all of the cookies used by the application as HTTPOnly (After these changes javascript code will not able to read cookies.
Remedy
Mark the cookie as HTTPOnly. This will be an extra layer of defence against XSS. However this is not a silver bullet and will not protect the system against Cross-site Scripting attacks. An attacker can use a tool such as XSS Tunnel to bypass HTTPOnly protection.
Netsparker identified that the target web server is an Apache server. This was disclosed through the HTTP response. This information can help an attacker to gain a greater understanding of the systems in use and potentially develop further attacks targeted at the specific version of Apache.
Impact
An attacker can search for specific security vulnerabilities for the version of Apache identified within the SERVER header.
Remedy
Configure your web server to prevent information leakage from the SERVER header of its HTTP response.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>302 Found</title></head><body><h1>Found</h1><p>The document has moved <a href="https://cc.dealer.com/views/login">here</a>.</p></body></html>