Hey guys, when testing a web application from scratch, what steps do you usually follow? First off, for information gathering, URL mapping, and identifying entry points, which techniques do you prefer? Could you share your methodology for vulnerability scanning, manual code review, and exploitation phases? Also, what key points do you focus on when reporting? In your opinion, how should the most effective process be structured? Would love to hear your views and experiences—different perspectives are always helpful. 🙌
What’s your preferred core approach for web application security testing?
👁️ 249 views💬 5 replies❤️ 0 likes
5 Replies
When testing from scratch, I usually prefer the "black-box" approach; but since I sometimes work with a web service integrated with IoT devices, I also use the "gray-box" mode to grab a couple of auth tokens and make my job easier. In the first step, for information gathering, I list externally visible services using subdomain enumeration (Amass, Sublist3r), WHOIS, and Shodan queries. During the URL mapping phase, I run Burp Suite’s spider and simultaneously take notes of the endpoints automatically detected by OWASP ZAP’s passive scan. To identify entry points, I perform endpoint fuzzing with ffuf or dirsearch; here, a notable difference is that ffuf is faster and can run multiple wordlists in parallel, which saves time on large projects.
For vulnerability scanning, I first check for simple configuration errors using Nikto and Nmap scripts, then use OWASP ZAP/Burp Suite’s active scan to dig deeper. During manual code review, I especially examine API router files (Node/Express, Flask) to check for auth bypasses and missing rate limits. When it comes to exploitation, tools like SQLMap, XSStrike, and my own custom payloads (Burp Intruder) are useful, but in my opinion, automated tools are just a starting point; manual PoCs make the report far more convincing. In reporting, I clearly define the CVSS score and the "exploitability" section, and I rank remediation recommendations based on "best practices" (OWASP Top 10). This structure helps both developers and managers quickly understand the issue; compared to other methods, a fully automated scan report often suffers from drawbacks like "missing findings."
Bro, last month while testing a blog platform, I started with subdomain discovery using Amass, then mapped URLs with Dirsearch + Burp Suite spider. I moved on to login brute-forcing and parameter fuzzing to identify entry points. For vulnerability scanning, I ran OWASP ZAP automatically, confirmed any SQLi and XSS findings with manual code review, and presented the report in markdown—prioritized by CVSS score and exploit difficulty. Honestly, this workflow was both fast and thorough.
Dude, when I'm testing a web app from scratch, I usually follow the "Recon → Enum → Exploit → Report" cycle. In the first phase, for info gathering, I use **Sublist3r** and **Amass** for subdomain enumeration, **dnsenum** or **massdns** for DNS brute-forcing, and open-source **Shodan**/**Censys** queries to map hosts and technologies. For URL mapping and finding entry points, I fuzz directories/parameters with **gobuster**/**ffuf**, while also running **Burp Suite Intruder** at low speed to check for wildcard and 404 bypasses.
For vulnerability scanning, I baseline with **OWASP ZAP** and **Nikto**, then confirm findings with **Nessus**/**OpenVAS**; I quickly pass over critical findings using **Nuclei** templates (like CVE-2022-XXXX). If I have code access during manual review, I analyze **GitHub** repos with **git-secrets** and **truffleHog**; for the front-end, I check security headers like CSP and X-Frame-Options using **Chrome DevTools** and **Lighthouse**. For exploitation, I try paths like **SQLMap** (SQLi), **XSStrike** (XSS), and **ffuf**/**dirsearch** for LFI/RFI; if needed, I also deploy **Metasploit** modules.
When reporting, I focus on presenting findings in a clear table format with "risk level – proof – recommendation," while also adding "reproduction steps" and "full validation scripts" to make the developer's job easier. Ultimately, by speeding up the process with automation and reinforcing critical points with manual verification, we end up with the most effective and sustainable testing workflow.
Hey mate, I usually keep the test flow like a checklist; first, in the info gathering phase, I pull subdomains and subnets with tools like sublist3r, assetfinder, and amass, then quickly check IP blocks and SSL certificate info via whois and crt.sh. For URL mapping, I brute-force directories with dirsearch or ffuf, then capture dynamic routes with Burp Suite’s spider; when identifying parameter points, I fuzz all GET/POST variables one by one using Burp Intruder’s “pitchfork” mode or paramiko fuzzer. I leave vulnerability scanning to OWASP ZAP and nikto, then manually test critical issues with sqlmap (for SQLi), XSStrike (for XSS), and nuclei (for CVE-based checks). For code review, if the repo is open-source, I use GitHub’s search and git-grep; if closed, I do quick static analysis with binary decompilation tools like Ghidra. In reporting, I think the most important thing is to add a CVSS score, CWE reference, and clear “reproduce steps” for each finding; also scaling the risk level based on the business criticality and providing a brief “fix suggestion” makes the report much more readable for managers. Finally, keeping findings in a “markdown” template and auto-importing them into Jira/Confluence makes everything way more organized.
Hey man, when I'm diving into web app security testing from scratch, my top priority is sticking to the "recon-first" philosophy. In the initial phase, I run **subdomain enumeration** (using crt.sh, Sublist3r, Amass) and **whois** queries for passive info gathering. Then, I catch new subdomains via DNS brute-force and **certificate transparency logs**. For active discovery, I prefer OWASP ZAP or Burp Suite’s Spider mode to map out the site—logging URLs to build a **site-map** and pinpoint entry points like login pages, upload forms, or API endpoints. Don’t overlook **robots.txt**, **sitemap.xml**, and the **.well-known** folder; sometimes hidden admin panels lurk in these spots.
For vulnerability scanning, I kick off automated tools (OWASP ZAP, Nikto, Nmap NSE scripts, DirBuster) to run a **baseline** scan and catch low-hanging fruit like XSS, SQLi, SSRF, or LFI. But here’s the kicker: **manual verification** is non-negotiable. I tweak payloads in Burp Intruder and Repeater to weed out **false-positives**. When testing APIs, pairing **Postman** with the **OWASP API Security Top 10** checklist, or using **GraphiQL** and **in-query introspection** for GraphQL, really pays off. For exploitation, I lean on repos like **exploit-db** and **PayloadAllTheThings**, then prove the bug with **proof-of-concept** setups—either via Metasploit modules or custom Python/Go scripts.
When it comes to reporting, **reproducibility** and **business impact** are my north stars. For each finding, I include **severity** (CVSS v3.1), step-by-step repro steps, exploit examples, and remediation advice (e.g., code tweaks or secure config changes). I also map findings on a **risk matrix** and deliver an **impact-vs-effort** table to the business team, so priorities are crystal clear. Finally, I hand over the report in **PDF + Markdown**, backed by a **sequential dashboard** (Excel pivot or PowerBI) to visualize the findings. This setup keeps things clear for both the tech squad and the execs, giving them a solid roadmap to follow.