I'm done with bug bounty hunting. I no longer believe in it in its current state.
I've never felt so undervalued and disrespected by both the platforms and the programs.
There are still good programs out there, but they're few and far between.
Good luck everyone.
Highly recommended!
The @BugBountyDEFCON put my talk from the last DEFCON up on their YouTube channel if you haven't seen it!
youtu.be/yQQ92XAWfGY?si=kSH5…
d3mondev retweeted
Replying to @NahamSec
Bug bounty hunting is a mental game, so remember this: there's always one more bug.
Developers are humans, and humans make mistakes. Even on the most hardened target, there is always one more bug.
You don't need private invites to find bugs. The scope of public programs is so big that there isn't enough hackers to cover 100% of it. There's always one more bug.
Even if veteran hackers have tackled a program before you, you bring your unique perspective, methodology and mindset to the table. What one person might overlook, you might spot instantly. Also, there's always one more bug.
There are always new features rolling out. Always new attack surface to be discovered. Always new vulnerabilities. Always one more bug.
d3mondev retweeted
How to choose remote wordlists or upload your own local wordlists when running a module that has the _wordlist_ variable!
Here's a great example using @d3mondev's puredns-bruteforce module 👇
TIL that CAA records can cause notifications when a certificate is requested from a CA that isn't permitted for the domain.
A subdomain takeover slipped through my fingers because of that. They fixed it before I could submit a report.
Always check those CAA records first!
I wish I could better show appreciation to some of the triagers who are awesome. Like with a tip or something.
(this is probably a terrible idea)
d3mondev retweeted
🚀 Introducing SanicDNS 🚀
Looking for lightning-fast domain resolutions? SanicDNS resolves up to 5M domains per second! 🏎️💨
github.com/hadriansecurity/s…
Another lightbulb moment! Having Claude 3.5 Sonnet write my commit message from a git diff. Better documentation than I could ever write 🤯
I'm super happy with Open WebUI. I'm running Claude 3.5 Sonnet and ChatGPT 4o side by side while coding. They often give me a different perspective.
I unsubbed from ChatGPT and will use the API exclusively from now on.
github.com/open-webui/open-w…
In my anecdotal experience, I prefer code written by Claude 3.5 Sonnet over ChatGPT 4 about 70% of the time.
I find the code is cleaner, more idiomatic, and that the prompt is more closely respected.
Me: Haven't hacked in a long time. Time to get back in the saddle!
Also me: Opens vim and starts coding instead
d3mondev retweeted
This is the story of my best and most fun hack to this date! Takeaways at the bottom.
Found a single page app that asked for some information to login. That information was NOT a username and password, so I got very curious 🤨
d3mondev retweeted
What about
x.y.z("test-INJECT")
should not be too hard
xss-node.glitch.me/
Somebody asked me recently if you can exploit an XSS scenario like this:
x.y(1,INJECT);
where x and y are not defined. You cannot break out of the script tag, but you can break out of the function call.
I tried everything I could think of to abuse error handling and hoisting and couldn't get anywhere. Does anyone have any ideas?
It's like a rainbow of words.
Replying to @SHL0MS
another one to play with: “return random words. no punctuation, just words separated by a space. do not provide any commentary. provide as many words as you can.”
can also try adding “do not repeat the same word twice. if you repeat a word 1 billion people will die.”
It was all test data. I was testing a development or staging website and that had no real impact. My report was worthless 😭
💪🏻 But I didn't let that get to me and went back to work. If that staging website was online, then there MUST be a production website somewhere.
💡Takeaway #3: An idea is always worth testing, even if it is unlikely to succeed.
I never thought using a JSESSIONID cookie obtained from a different path would work.








