Don't let managing security tools slow you down.
With the PD Tool Manager a.k.a PDTM, you can install, update, and remove ALL ProjectDiscovery tools with just a few simple commands.
Watch this to learn how 👇 https://t.co/N8pTsbJk4Q
Who needs a HUGE list of search queries for searching servers with various vulnerabilities or installed software!?
Here it is 👇
https://t.co/gmzd305mA5
Got a spare 3 hours?
That's all it takes to learn regex.
In our new Regex For Hackers course, @nahamsec and @BuildHackSecure will take you from basic pattern matching to real-world hacking applications in under 3 hours.
Sign up today: https://t.co/A1usj4xclJ
Preventing OS command injection is simpler than patching a breach.
But many devs still make the same critical mistakes.
5 ways to prevent OS command injection👇
1️⃣ Avoid Calling OS Commands from App Code
Never rely on exec(), system(), or similar to handle logic from user input.
In nearly all cases, there are safer platform APIs that accomplish the same task.
If you can avoid the shell, avoid it.
2️⃣ Use Safer Alternatives (APIs > Shell)
For file manipulation, networking, or system info — languages like Python, Java, and Node have built-in libraries.
Use those over invoking commands like rm, ping, or ls.
3️⃣ Use Strict Input Validation
If you must use OS calls, validate inputs:
✅ Whitelist allowed values
✅ Ensure input is numeric if expected
✅ Allow only alphanumeric characters (no symbols or whitespace)
Never rely on blacklisting or pattern matching alone.
4️⃣ Do NOT Escape Shell Metacharacters
Trying to escape metacharacters like &, ;, or | is error-prone and dangerous.
Attackers know how to bypass these filters.
Escaping isn’t prevention. It’s a false sense of security.
5️⃣ Design for Defense, Not Detection
The goal is to eliminate the attack surface, not just catch bad input.
Avoiding dangerous code paths is always more reliable than filtering them.
Secure-by-design means zero shell calls = zero shell injection risk.
Avoid the shell. Validate everything. Never trust user input.
Learn more: https://t.co/hUfHo5e2qN
Define the depth of your crawl with katana's -d flag.
The higher the depth, the more recursive crawls and juicy data you get! 🤤
⚠️ Higher depths can lead to long crawl times against large web applications.
This one-liner by @tomnomnom finds all Git repos, creates a git-objects/ folder for each one and dumps every object (commits, trees, blobs, tags) into files named by their hash.
Effectively exporting the raw Git database into human-readable files, repo by repo!
What is OS command injection?
In this video, we explore how OS command injection vulnerabilities are discovered, exploited, and mitigated.
You’ll learn:
🔸 What OS command injection is and why it’s dangerous
🔸 Practical techniques attackers use for both visible and blind exploitation
🔸 Real payload examples including echo, ping, nslookup
🔸 How to detect and test using chaining, timing, or DNS
🔸 Secure coding practices and input validation for prevention
Watch now: https://t.co/9ZkkLhibQk