LogSnare is an intentionally vulnerable web application, where your goal is to go from a basic gopher user of the LogSnare company, to the prestigious acme-admin of Acme Corporation.
The application, while hosting multiple vulnerabilities, serves as a valuable educational tool.
However, the real lesson to be learned here is how to prevent and catch these attacks leveraging proper validation and logging.
After logging in to the demo application, in the top navbar you’ll see a validation toggle which allows you to toggle security controls in real-time.
The easiest way to get started is with docker.
docker pull seaerkin/log-snare
docker run -p 127.0.0.1:8080:8080 seaerkin/log-snare You’ll receive a username and password to login, have at it from there!
Insecure Direct Object References (IDORs) fall under the OWASP Top category of “Broken Access Controls”.
These vulnerabilities are some of the most severe as they can allow end-users access to resources they shouldn’t be able to access.
Most people don’t realize, IDOR vulnerabilities are some of the best opportunities for logging.
This is because in most cases, a user will never “accidentally” trigger an IDOR. IDOR vulnerabilities are typically achieved when a user asks for resources outside their allowed interface.
Attackers abuse web applications by asking web servers to return resources the user may not have access too, and this application hopes to serve as an educational resources on how to fix, prevent, and log these types of security events.
Here are some example log outputs from the application when validation is enabled.
{"message":"user is trying to access a company ID that is not theirs","program":"log-snare","version":0.1,"username":"gopher","eventType":"security","securityType":"tamper-certain","eventCategory":"validation","clientIp":"172.17.0.1"}
{"message":"user is trying to enable admin, but they are a basic user","program":"log-snare","version":0.1,"username":"gopher","eventType":"security","securityType":"tamper-certain","eventCategory":"validation","clientIp":"172.17.0.1"} All logs print to stdout by default, however if you want to view just the application logs containing validation logic, you can do the following:
docker exec -it <container_id> /bin/bash
tail -f logsnare.log The rmmod command in Linux removes a loaded module from the running kernel. Because the kernel has…
The free command in Linux gives you a quick summary of RAM and swap usage. It reads…
The diff command in Linux compares two text files line by line and shows the lines that…
DNS cache is a temporary database your OS and browser build as you browse. Each time you visit a website, the domain-to-IP mapping is saved locally, cutting out the round trip to a remote DNS server on repeat visits. Stale entries are the most common reason to flush the DNS cache: a server moves to a new IP, but your OS or browser still routes to the old address. This guide covers how to clear the DNS cache on Windows, Linux, and macOS, and how to flush the separate cache stored inside Chrome and Firefox. Flush DNS Cache on Windows The command is the same on Windows 10, Windows 11, and earlier supported releases. Open Command Prompt with administrator privileges. Type cmd in the Windows search bar, right-click Command Prompt, and select Run as…
Using a strong, unique password for every account is one of the most effective security…
Ubuntu locks the root account by default. New users often wonder what the root password…