- The Guide to Finding and Reporting Web Vulnerabilities
- About the Author
- About the Tech Reviewer
- Foreword
- Introduction
- Who This Book Is For
- What Is In This Book
- Happy Hacking!
- 1 Picking a Bug Bounty Program
- 2 Sustaining Your Success
- 3 How the Internet Works
- 4 Environmental Setup and Traffic Interception
- 5 Web Hacking Reconnaissance
- 6 Cross-Site Scripting
- 7 Open Redirects
- 8 Clickjacking
- 9 Cross-Site Request Forgery
- 10 Insecure Direct Object References
- 11 SQL Injection
- 12 Race Conditions
- 13 Server-Side Request Forgery
- 14 Insecure Deserialization
- 15 XML External Entity
- 16 Template Injection
- 17 Application Logic Errors and Broken Access Control
- 18 Remote Code Execution
- 19 Same-Origin Policy Vulnerabilities
- 20 Single-Sign-On Security Issues
- 21 Information Disclosure
- 22 Conducting Code Reviews
- 23 Hacking Android Apps
- 24 API Hacking
- 25 Automatic Vulnerability Discovery Using Fuzzers
Tools Mentioned in This Chapter
In this chapter, I introduced many tools you can use in your recon process. Many more good tools are out there. The ones mentioned here are merely my personal preferences. I’ve included them here in chronological order for your reference.
在这一章中,我介绍了许多您可以在侦查过程中使用的工具。还有更多好的工具在市场上。这里提到的只是我个人的偏好。我按照时间顺序将它们列在这里供您参考。
Be sure to learn about how these tools work before you use them! Understanding the software you use allows you to customize it to fit your workflow.
在使用这些工具之前一定要了解它们的工作原理!了解你使用的软件可以让你根据自己的工作流程进行定制。
Scope Discovery
- WHOIS looks for the owner of a domain or IP.
- ViewDNS.info reverse WHOIS ( https://viewdns.info/reversewhois/ ) is a tool that searches for reverse WHOIS data by using a keyword.
nslookup
queries internet name servers for IP information about a host.- ViewDNS reverse IP ( https://viewdns.info/reverseip/ ) looks for domains hosted on the same server, given an IP or domain.
- crt.sh ( https://crt.sh/ ), Censys ( https://censys.io/ ), and Cert Spotter ( https://sslmate.com/certspotter/ ) are platforms you can use to find certificate information about a domain.
- Sublist3r ( https://github.com/aboul3la/Sublist3r/ ), SubBrute ( https://github.com/TheRook/subbrute/ ), Amass ( https://github.com/OWASP/Amass/ ), and Gobuster ( https://github.com/OJ/gobuster/ ) enumerate subdomains.
- Daniel Miessler’s SecLists ( https://github.com/danielmiessler/SecLists/ ) is a list of keywords that can be used during various phases of recon and hacking. For example, it contains lists that can be used to brute-force subdomains and filepaths.
- Commonspeak2 ( https://github.com/assetnote/commonspeak2/ ) generates lists that can be used to brute-force subdomains and filepaths using publicly available data.
- Altdns ( https://github.com/infosec-au/altdns ) brute-forces subdomains by using permutations of common subdomain names.
- Nmap ( https://nmap.org/ ) and Masscan ( https://github.com/robertdavidgraham/masscan/ ) scan the target for open ports.
- Shodan ( https://www.shodan.io/ ), Censys ( https://censys.io/ ), and Project Sonar ( https://www.rapid7.com/research/project-sonar/ ) can be used to find services on targets without actively scanning them.
- Dirsearch ( https://github.com/maurosoria/dirsearch/ ) and Gobuster ( https://github.com/OJ/gobuster ) are directory brute-forcers used to find hidden filepaths.
- EyeWitness ( https://github.com/FortyNorthSecurity/EyeWitness/ ) and Snapper ( https://github.com/dxa4481/Snapper/ ) grab screenshots of a list of URLs. They can be used to quickly scan for interesting pages among a list of enumerated paths.
- OWASP ZAP ( https://owasp.org/www-project-zap/ ) is a security tool that includes a scanner, proxy, and much more. Its web spider can be used to discover content on a web server.
- GrayhatWarfare ( https://buckets.grayhatwarfare.com/ ) is an online search engine you can use to find public Amazon S3 buckets.
- Lazys3 ( https://github.com/nahamsec/lazys3/ ) and Bucket Stream ( https://github.com/eth0izzle/bucket-stream/ ) brute-force buckets by using keywords.
OSINT
- The Google Hacking Database ( https://www.exploit-db.com/google-hacking-database/ ) contains useful Google search terms that frequently reveal vulnerabilities or sensitive files.
- KeyHacks ( https://github.com/streaak/keyhacks/ ) helps you determine whether a set of credentials is valid and learn how to use them to access the target’s services.
- Gitrob ( https://github.com/michenriksen/gitrob/ ) finds potentially sensitive files that are pushed to public repositories on GitHub.
- TruffleHog ( https://github.com/trufflesecurity/truffleHog/ ) specializes in finding secrets in public GitHub repositories by searching for string patterns and high-entropy strings.
- PasteHunter ( https://github.com/kevthehermit/PasteHunter/ ) scans online paste sites for sensitive information.
- Wayback Machine ( https://archive.org/web/ ) is a digital archive of internet content. You can use it to find old versions of sites and their files.
- Waybackurls ( https://github.com/tomnomnom/waybackurls/ ) fetches URLs from the Wayback Machine.
Tech Stack Fingerprinting
- The CVE database ( https://cve.mitre.org/cve/search_cve_list.html ) contains publicly disclosed vulnerabilities. You can use its website to search for vulnerabilities that might affect your target.
- Wappalyzer ( https://www.wappalyzer.com/ ) identifies content management systems, frameworks, and programming languages used on a site.
- BuiltWith ( https://builtwith.com/ ) is a website that shows you which web technologies a website is built with.
- StackShare ( https://stackshare.io/ ) is an online platform that allows developers to share the tech they use. You can use it to collect information about your target.
- Retire.js ( https://retirejs.github.io/retire.js/ ) detects outdated JavaScript libraries and Node.js packages.
Automation
- Git ( https://git-scm.com/ ) is an open sourced version-control system. You can use its
git diff
command to keep track of file changes.
You should now have a solid understanding of how to conduct reconnaissance on a target. Remember to keep extensive notes throughout your recon process, as the information you collect can really balloon over time. Once you have a solid understanding of how to conduct recon on a target, you can try to leverage recon platforms like Nuclei ( https://github.com/projectdiscovery/nuclei/ ) or Intrigue Core ( https://github.com/intrigueio/intrigue-core/ ) to make your recon process more efficient. But when you’re starting out, I recommend that you do recon manually with individual tools or write your own automated recon scripts to learn about the process.
现在你应该已经对如何对目标进行侦查有了深入的理解。记得在整个侦查过程中保持详细的笔记,因为你收集的信息可能会随着时间的推移而不断增加。一旦你对如何在目标上进行侦察有了牢固的理解,你可以尝试利用像 Nuclei(https://github.com/projectdiscovery/nuclei/)或 Intrigue Core(https://github.com/intrigueio/intrigue-core/)这样的侦查平台,使你的侦察过程更加高效。但当你刚开始时,我建议你使用单个工具手动进行侦查,或编写自己的自动化侦查脚本以了解该过程。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论