Hacking Websites by Uploading files (With symlinks)

In this video, I show you how symlinks can be used to read arbitrary files on a web server.
DISCLAIMER: This video is intended only for educational purposes.
The experiments in this video are performed in a controlled
lab setup and not on a live target. The content is purely
from a penetration testing perspective. I do not
condone or encourage any illegal activities.
The web application in the video supports a file upload functionality where users can upload zip files. When we create a zip file that has a symlink in it which is pointing to an arbitrary file on the server, we are able to read the file pointed by the symlink. In this way we can read any file on the server which can be read by the web server user account (www-data). This can be used to read sensitive files like private keys, bash history, and even apache configuration files. We can leverage this vulnerability to read environment variables that the website is using and find interesting information like Database credentials, tokens, secret strings which we can further use to gain access to various services like ftp, ssh, database, etc.
These kinds of vulnerabilities with symlinks have been exploited many times in the wild. One of the finest example is this GitLab vulnerability where the researcher received a $29,000 bug bounty: hackerone.com/reports/1439593
Thanks for watching!
SUBSCRIBE for more videos!
Join my Discord: / discord
Follow me on Instagram: / teja.techraj
Website: techraj156.com​​​​​
Blog: blog.techraj156.com

Пікірлер: 60

  • @SteveBClark
    @SteveBClark

    The GOAT is back....❤

  • @divyam847
    @divyam847

    glad that you're back :)

  • @anudeepkalyadapu1657
    @anudeepkalyadapu1657

    What a video ! Looking forward for such videos man! Keep it up

  • @TejaRavipudi
    @TejaRavipudi

    big fan. happy that you are back.

  • @mindlesstelevision3213
    @mindlesstelevision3213

    Good to see you Back ❤️♥️

  • @HackingBinaries-dt2fh
    @HackingBinaries-dt2fh

    Love you man, just subscribed

  • @raoulduke8064
    @raoulduke8064

    yeees new video! GOAT is back

  • @TechnicalHeavenSM
    @TechnicalHeavenSM

    😍😍😍.. You are back❤❤

  • @manishneupane6070
    @manishneupane6070

    Wow, great video.

  • @user-eh5zv6xl1t
    @user-eh5zv6xl1t

    Good content Man.

  • @st.john_one
    @st.john_one

    pretty informative and cool, thanks

  • @sagarhp2350
    @sagarhp2350

    He's back.. 🤩

  • @ankur_x4
    @ankur_x4

    THAT WAS CRAZYYYYYY BRUHHHHH 🔥🔥🔥🔥🔥❤❤❤❤

  • @scorpionisready
    @scorpionisready2 сағат бұрын

    Informative ❤️

  • @_SebJ1000
    @_SebJ1000

    It's intresting to learn that they place the password in an environment variable, wonder if most devs encrypt it as well. As that might be the slightest bit more secure.

  • @rishi8413
    @rishi8413

    love the explaination

  • @TheAKAnonymous
    @TheAKAnonymous

    a suggestion,

  • @rajeevpuri8319
    @rajeevpuri8319

    thank you Sir , for this easy to understandable video for a noob like me.🙏🙏

  • @emirate1772
    @emirate1772

    Love you bro 💪💪

  • @dishusharma7881
    @dishusharma7881

    Where did you learn to pronounce environment as enveeronment? I am curious.