[
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2024 Hazem El-Sayed\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# JS & Client-Side Resources\n\n## JS Analysis\n1. [JavaScript Analysis for Pentesters](https://kpwn.de/2023/05/javascript-analysis-for-pentesters/)\n2. [JavaScript for Bug Bounty Hunters - Part 1](https://bitthebyte.medium.com/javascript-for-bug-bounty-hunters-part-1-dd08ed34b5a8)\n3. [JavaScript for Bug Bounty Hunters - Part 2](https://bitthebyte.medium.com/javascript-for-bug-bounty-hunters-part-2-f82164917e7)\n4. [JavaScript for Bug Bounty Hunters - Part 3](https://bitthebyte.medium.com/javascript-for-bug-bounty-hunters-part-3-3b987f24ab27)\n5. [JavaScript Code Review Guide for Bug Bounty Hunters](https://medium.com/techiepedia/javascript-code-review-guide-for-bug-bounty-hunters-c95a8aa7037a)\n6. [Bug Bounty Tips & Tricks - JS Files](https://infosecwriteups.com/bug-bounty-tips-tricks-js-javascript-files-bdde412ea49d)\n7. [Find the Treasure Hidden in JavaScript](https://pravinponnusamy.medium.com/find-the-treasure-hidden-in-javascript-546827e1a4e2)\n\n## Writeups\n\n- [EventListener XSS Recon (PostMessage Vulnerabilities Practice)](https://github.com/yavolo/eventlistener-xss-recon)\n- [DOM XSS in Gmail with Chrome's Help](https://opnsec.com/2020/05/dom-xss-in-gmail-with-a-little-help-from-chrome/)\n- [Google VRP Report](https://bughunters.google.com/reports/vrp/XNjex7kGr)\n- [How I Found DOM XSS on Bing.com (Microsoft Bug Bounty)](https://namcoder.com/blog/how-i-found-dom-xss-on-bingcom-microsoft-bug-bounty-write-up/)\n- [Lessons Learned from Unusual XSS Vulnerabilities](https://imperva.com/blog/lessons-learned-from-exposing-unusual-xss-vulnerabilities/)\n- [TikTok Vulnerability Exposing User Activity and Information](https://www.imperva.com/blog/imperva-red-team-discovers-vulnerability-in-tiktok-that-can-reveal-user-activity-and-information/)\n- [Writeups on Extensions](https://ndevtk.github.io/writeups/2023/08/18/extensions/)\n- [CSP Bypass on PortSwigger.net Using Google Script Resources](https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/)\n- [Microsoft Teams Stored XSS CSP Bypass](https://medium.com/@numanturle/microsoft-teams-stored-xss-bypass-csp-8b4a7f5fccbf)\n- [How to Spot and Exploit PostMessage Vulnerabilities](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)\n\n## Challenges\n\n- [Public Firing Range (XSS Challenges)](https://public-firing-range.appspot.com/)\n- [XSS Challenges on xss-quiz.int21h.jp](https://xss-quiz.int21h.jp/)\n- [XSS Solutions for xss-quiz.int21h.jp on Tunelko Blog](https://blogs.tunelko.com/2013/12/02/xss-challenges/)\n- [XSS Challenges on sudo.co.il](http://sudo.co.il/xss/)\n- [XSS Challenges alert(1) to win](https://alf.nu/alert1?world=alert&level=alert0)\n- [XSS Pwnfunction](https://xss.pwnfunction.com/challenges/)\n- [XSS intigriti Monthly Challenges](https://bugology.intigriti.io/intigriti-monthly-challenges)\n\n## Series\n1. [Fady Othman | How to analysis and deal with browser and DEV Tools](https://www.youtube.com/watch?v=nLMs1aXdkgk&list=PLcCG2wDOBXAWGn-_ZAWUfvwu_RkBtNxPt)\n2. [JavaScript Analysis Series on YouTube](https://www.youtube.com/playlist?list=PLlfDtLAF5S2RQtfb5eaxMxcfdOeswVVk2)\n3. [Browser Security Series on YouTube](https://www.youtube.com/watch?v=fNhRaRSyADc&list=PLK-sc48BJ4hh5nnKqfVpLr80gVUYeUB1y&index=4)\n   - [Part 2](https://www.youtube.com/watch?v=oNG2oqhHNqI&list=PLK-sc48BJ4hh5nnKqfVpLr80gVUYeUB1y&index=5&pp=iAQB)\n   - [Part 3](https://www.youtube.com/watch?v=iUYkImnCcqw&list=PLK-sc48BJ4hh5nnKqfVpLr80gVUYeUB1y&index=4&pp=iAQB)\n4. [JS Analysis Live Recon Series on Youtube](https://youtube.com/playlist?list=PLWh6hDEMSbjM1DMbeWp3fCwv0SAzv4gmU&feature=shared)\n\n## Blogs\n\n- [Beyond XSS Blog](https://aszx87410.github.io/beyond-xss/en/) (Excellent client-side focus)\n- [Yousef Samouda's Blog](https://ysamm.com/)\n- [J Lajara's Blog](https://jlajara.gitlab.io/) (Focus on client-side bugs, especially [PostMessage](https://jlajara.gitlab.io/Dom_XSS_PostMessage) and [PostMessage 2](https://jlajara.gitlab.io/Dom_XSS_PostMessage_2))\n- [Understanding the PostMessage Vulnerabilities and its implications](https://payatu.com/blog/postmessage-vulnerabilities/)\n- [Dompurify Bypass v2.0.17](https://research.securitum.com/mutation-xss-via-mathml-mutation-dompurify-2-0-17-bypass/)\n- [Dompurify Bypass again](https://portswigger.net/research/bypassing-dompurify-again-with-mutation-xss)\n\n## CSP Resources\n\n- [Mozilla CSP Guide](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)\n- [CSP Bypass Techniques and Mitigations](https://bugbase.ai/blog/csp-bypass-common-techniques-and-mitigations)\n- [CSP and Bypasses](https://www.cobalt.io/blog/csp-and-bypasses)\n- [CSP Bypass Guidelines](https://brutelogic.com.br/blog/csp-bypass-guidelines/)\n- [CSP Bypass Search](https://cspbypass.com/)\n\n## Prototype Pollution\n\n- [Portswigger](https://portswigger.net/web-security/prototype-pollution)\n- [Imperva | Prototype Pollution](https://www.imperva.com/learn/application-security/prototype-pollution/)\n- [Prototype Pollution — A Deeper Inspection | Amit Nigam ](https://medium.com/@king.amit95/prototype-pollution-a-deeper-inspection-82a226796966)\n\n## Internals\n1. [IFrame and cross-domain security](https://pipwerks.com/2008/11/30/iframes-and-cross-domain-security-part-2/)\n\n## Learning Resources\n\n1. [The Tangled Web Book (Mandatory)](https://github.com/akr3ch/BugBountyBooks/blob/main/The%20tangled%20Web_%20a%20guide%20to%20securing%20modern%20Web%20applications%20(%20PDFDrive%20).pdf)\n2. [The Browser Hacker’s Handbook (Optional)](https://github.com/lcatro/Hacker_Document/blob/master/Browser/The%20Browser%20Hacker's%20Handbook.pdf)\n3. Learn BOM and DOM from Elzero:\n   - [BOM Tutorial](https://www.youtube.com/watch?v=cMW4963o6Qo&list=PLDoPjvoNmBAy9nFRJgVYgEID8xE2a6q6V)\n   - [DOM Tutorial](https://www.youtube.com/watch?v=LlQC9sU0coM&list=PLDoPjvoNmBAxx97QDMOCpzxbu1ZHJ4i7i)\n4. [Cross-window communication](https://javascript.info/cross-window-communication)   \n  \n## Dev Tools\n\n- [Debugger](https://developer.chrome.com/docs/devtools/javascript/breakpoints) \n\n## Important Concepts to Know\n\nYou should be familiar with client-side bugs including XSS, PostMessage, WebSocket, CSP, CORS, CSRF, SOP, JSONP, and Prototype Pollution.\n"
  }
]