Git Product home page Git Product logo

catrobat / catroweb Goto Github PK

View Code? Open in Web Editor NEW
40.0 40.0 80.0 282.92 MB

Catroweb - A social platform to share and browse projects created with Catrobat's apps (Pocket Code, ...) by our users.

Home Page: https://share.catrob.at

License: GNU Affero General Public License v3.0

PHP 51.94% CSS 4.25% JavaScript 6.08% Gherkin 28.92% Dockerfile 0.07% Shell 0.24% SCSS 1.89% Twig 6.59% Handlebars 0.02%
docker-compose hacktoberfest js mariadb php symfony

catroweb's People

Contributors

andrejknaus avatar bernadettespieler avatar bonbuo avatar chartinger avatar crowdin-bot avatar danielzhang130 avatar dependabot-preview[bot] avatar dependabot[bot] avatar dmetzner avatar ericggly avatar geschob avatar hcrane avatar hungryapeman avatar isolatedsys avatar kropiunig avatar leno12 avatar makne17 avatar markoburazer avatar marweb1996 avatar matt-sp avatar mfuerni avatar patrum avatar reinholdse avatar rsamer avatar schaubes avatar schnider94 avatar selvex avatar sjaindl avatar starhack avatar w00t2k1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

catroweb's Issues

Critical security issue: 1-click Account Takeover due to missing CSRF Token

Hello,
I am opening a new issue here about a critical vulnerability I found since "Security" tab in your Github repo is not setup for bug submissions.

Bug: Missing CSRF Token leads to 1-click Account Takeover
Description: An attacker can successfully takeover accounts (mass takeover is possible too), by only forcing a user to visit a website (so only 1 interaction is required by the user). After visiting the website, 4 POST requests will be automatically sent by user to the webapp to change his/her data such as: username, email address, password, profile picture without his/her knowledge.

Please find attached the HTML file as a PoC for this demo. Once a user opens this HTML file (hosted as a website or a file, doesn't matter), the account will be changed with the following data:

Username: hacked
Password: hacked
Email: [email protected]
Profile picture as demonstrated in the attached video.

I also would like to mention another vulnerability which lead to this critical one.
When a user wants to change the password, he basically sends the following POST Request:

POST /app/passwordSave HTTP/2
Host: share.catrob.at
Cookie: cookie_values_here
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 83
Origin: https://share.catrob.at
Referer: https://share.catrob.at/app/user

oldPassword=mystrongpassword&newPassword=mynewpassword&repeatPassword=mynewpassword

There are clearly 3 POST parameters (oldPassword, newPassword and repeatPassword). The problem relies on oldPassword parameter which is not being checked if it is missing or not. So basically you can remove that parameter and you can setup a new password without knowing your old one.

POST /app/passwordSave HTTP/2
Host: share.catrob.at
Cookie: cookie_values_here
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 83
Origin: https://share.catrob.at
Referer: https://share.catrob.at/app/user

newPassword=mynewpassword&repeatPassword=mynewpassword

This bug was also implemented in the HTML PoC, leading to this 1-click Account Takeover vulnerability.

Mitigation
I strongly advise to implement Anti-CSRF Token when a user is changing the mentioned data.
Make sure that oldPassword is present in the HTTP Request when changing the password.

Video PoC:
https://user-images.githubusercontent.com/37262788/168836544-be1e4737-a872-45df-b4ad-8828a25ec2e5.mp4

HTML PoC (Please change the extension to .html, since Github doesn't allow uploading HTML files)
catrobat_csrf_html_file.txt

Please let me know if more information is needed,
Kind regards!
.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.