Web Security
repo: qazbnm456/awesome-web-security
category: Security
related: Front End Development
Awesome Web Security 
🐶 Curated list of Web Security materials and resources.
Needless to say, most websites suffer from various types of bugs which may eventually lead to vulnerabilities. Why would this happen so often? There can be many factors involved including misconfiguration, shortage of engineers' security skills, etc. To combat this, here is a curated list of Web Security materials and resources for learning cutting edge penetration techniques, and I highly encourage you to read this article "So you want to be a web security researcher?" first.
Please read the contribution guidelines before contributing.
<p align="center"><b>🌈 Want to strengthen your penetration skills?</b><br>I would recommend playing some <a href="https://github.com/apsdehal/awesome-ctf" target="_blank">awesome-ctf</a>s.</p>
If you enjoy this awesome list and would like to support it, check out my Patreon page :)<br>Also, don't forget to check out my repos 🐾 or say hi on my Twitter!
Contents
- Digests
- Forums
- Introduction
- XSS
- Prototype Pollution
- CSV Injection
- SQL Injection
- Command Injection
- ORM Injection
- FTP Injection
- XXE
- CSRF
- Clickjacking
- SSRF
- Web Cache Poisoning
- Relative Path Overwrite
- Open Redirect
- SAML
- Upload
- Rails
- AngularJS
- ReactJS
- SSL/TLS
- Webmail
- NFS
- AWS
- Azure
- Fingerprint
- Sub Domain Enumeration
- Crypto
- Web Shell
- OSINT
- DNS Rebinding
- Deserialization
- OAuth
- JWT
- Evasions
- Tricks
- Browser Exploitation
- PoCs
- Cheetsheets
- Tools
- Social Engineering Database
- Blogs
- Twitter Users
- Practices
- Application
- AWS
- XSS
- [ModSecurity / OWASP ModSecurity Core Rule Set](#practices-modsecurity)
- Community
- Miscellaneous
Digests
- Hacker101 - Written by hackerone.
- [The Daily Swig - Web security digest](https://portswigger.net/daily-swig) - Written by PortSwigger.
- [Web Application Security Zone by Netsparker](https://www.netsparker.com/blog/web-security/) - Written by Netsparker.
- Infosec Newbie - Written by Mark Robinson.
- The Magic of Learning - Written by @bitvijays.
- CTF Field Guide - Written by Trail of Bits.
- PayloadsAllTheThings - Written by @swisskyrepo.
- tl;dr sec - Weekly summary of top security tools, blog posts, and security research.
Forums
- Phrack Magazine - Ezine written by and for hackers.
- The Hacker News - Security in a serious way.
- Security Weekly - The security podcast network.
- The Register - Biting the hand that feeds IT.
- Dark Reading - Connecting The Information Security Community.
- HackDig - Dig high-quality web security articles for hacker.
<a name="intro"></a>
Introduction
<a name="xss"></a>
XSS - Cross-Site Scripting
- [Cross-Site Scripting – Application Security – Google](https://www.google.com/intl/sw/about/appsecurity/learning/xss/) - Written by Google.
- H5SC - Written by @cure53.
- AwesomeXSS - Written by @s0md3v.
- XSS.png - Written by @jackmasa.
- C.XSS Guide - Written by @JakobKallin and Irene Lobo Valbuena.
- THE BIG BAD WOLF - XSS AND MAINTAINING ACCESS - Written by Paulos Yibelo.
- [payloadbox/xss-payload-list](https://github.com/payloadbox/xss-payload-list) - Written by @payloadbox.
- PayloadsAllTheThings - XSS Injection - Written by @swisskyrepo.
<a name="prototype-pollution"></a>
Prototype Pollution
- Prototype pollution attack in NodeJS application - Written by @HoLyVieR.
- Exploiting prototype pollution – RCE in Kibana (CVE-2019-7609) - Written by @securitymb.
- Real-world JS - 1 - Written by @po6ix.
<a name="csv-injection"></a>
CSV Injection
- CSV Injection -> Meterpreter on Pornhub - Written by Andy.
- The Absurdly Underestimated Dangers of CSV Injection - Written by George Mauer.
- PayloadsAllTheThings - CSV Injection - Written by @swisskyrepo.
<a name="sql-injection"></a>
SQL Injection
- SQL Injection Cheat Sheet - Written by @netsparker.
- SQL Injection Wiki - Written by NETSPI.
- SQL Injection Pocket Reference - Written by @LightOS.
- [payloadbox/sql-injection-payload-list](https://github.com/payloadbox/sql-injection-payload-list) - Written by @payloadbox.
- PayloadsAllTheThings - SQL Injection - Written by @swisskyrepo.
<a name="command-injection"></a>
Command Injection
- Potential command injection in resolv.rb - Written by @drigg3r.
- [payloadbox/command-injection-payload-list](https://github.com/payloadbox/command-injection-payload-list) - Written by @payloadbox.
- PayloadsAllTheThings - Command Injection - Written by @swisskyrepo.
<a name="orm-injection"></a>
ORM Injection
- HQL for pentesters - Written by @h3xstream.
- HQL : Hyperinsane Query Language (or how to access the whole SQL API within a HQL injection ?) - Written by @_m0bius.
- ORM2Pwn: Exploiting injections in Hibernate ORM - Written by Mikhail Egorov.
- ORM Injection - Written by Simone Onofri.
<a name="ftp-injection"></a>
FTP Injection
- Advisory: Java/Python FTP Injections Allow for Firewall Bypass - Written by Timothy Morgan.
- [SMTP over XXE − how to send emails using Java's XML parser](https://shiftordie.de/blog/2017/02/18/smtp-over-xxe/) - Written by Alexander Klink.
<a name="xxe"></a>
XXE - XML eXternal Entity
- XXE - Written by @phonexicum.
- XML external entity (XXE) injection - Written by portswigger.
- XML Schema, DTD, and Entity Attacks - Written by Timothy D. Morgan and Omar Al Ibrahim.
- [payloadbox/xxe-injection-payload-list](https://github.com/payloadbox/xxe-injection-payload-list) - Written by @payloadbox
- PayloadsAllTheThings - XXE Injection - Written by various contributors.
<a name="csrf"></a>
CSRF - Cross-Site Request Forgery
- Wiping Out CSRF - Written by @jrozner.
- PayloadsAllTheThings - CSRF Injection - Written by @swisskyrepo.
<a name="clickjacking"></a>
Clickjacking
- Clickjacking - Written by Imperva.
- X-Frame-Options: All about Clickjacking? - Written by Mario Heiderich.
<a name="ssrf"></a>
SSRF - Server-Side Request Forgery
- SSRF bible. Cheatsheet - Written by Wallarm.
- PayloadsAllTheThings - Server-Side Request Forgery - Written by @swisskyrepo.
<a name="web-cache-poisoning"></a>
Web Cache Poisoning
- Practical Web Cache Poisoning - Written by @albinowax.
- PayloadsAllTheThings - Web Cache Deception - Written by @swisskyrepo.
<a name="relative-path-overwrite"></a>
Relative Path Overwrite
- Large-scale analysis of style injection by relative path overwrite - Written by The Morning Paper.
- MBSD Technical Whitepaper - A few RPO exploitation techniques - Written by Mitsui Bussan Secure Directions, Inc..
<a name="open-redirect"></a>
Open Redirect
- Open Redirect Vulnerability - Written by s0cket7.
- [payloadbox/open-redirect-payload-list](https://github.com/payloadbox/open-redirect-payload-list) - Written by @payloadbox.
- PayloadsAllTheThings - Open Redirect - Written by @swisskyrepo.
<a name="saml"></a>
Security Assertion Markup Language (SAML)
- How to Hunt Bugs in SAML; a Methodology - Part I - Written by epi.
- How to Hunt Bugs in SAML; a Methodology - Part II - Written by epi.
- How to Hunt Bugs in SAML; a Methodology - Part III - Written by epi.
- PayloadsAllTheThings - SAML Injection - Written by @swisskyrepo.
<a name="upload"></a>
Upload
- File Upload Restrictions Bypass - Written by Haboob Team.
- PayloadsAllTheThings - Upload Insecure Files - Written by @swisskyrepo.
<a name="rails"></a>
Rails
- [Rails Security - First part](https://hackmd.io/s/SkuTVw5O-) - Written by @qazbnm456.
- [Zen Rails Security Checklist](https://github.com/brunofacca/zen-rails-security-checklist) - Written by @brunofacca.
- Rails SQL Injection - Written by @presidentbeef.
- [Official Rails Security Guide](http://guides.rubyonrails.org/security.html) - Written by Rails team.
<a name="angularjs"></a>
AngularJS
- XSS without HTML: Client-Side Template Injection with AngularJS - Written by Gareth Heyes.
- [DOM based Angular sandbox escapes](http://blog.portswigger.net/2017/05/dom-based-angularjs-sandbox-escapes.html) - Written by @garethheyes
<a name="reactjs"></a>
ReactJS
- [XSS via a spoofed React element](http://danlec.com/blog/xss-via-a-spoofed-react-element) - Written by Daniel LeCheminant.
<a name="ssl-tls"></a>
SSL/TLS
- SSL & TLS Penetration Testing - Written by APTIVE.
- Practical introduction to SSL/TLS - Written by @Hakky54.
<a name="webmail"></a>
Webmail
- Why mail() is dangerous in PHP - Written by Robin Peraglie.
<a name="nfs"></a>
NFS
- [NFS | PENETRATION TESTING ACADEMY](https://pentestacademy.wordpress.com/2017/09/20/nfs/?t=1&cn=ZmxleGlibGVfcmVjc18y&refsrc=email&iid=b34422ce15164e99a193fea0ccc7a02f&uid=1959680352&nid=244+289476616) - Written by PENETRATION ACADEMY.
<a name="aws"></a>
AWS
- [PENETRATION TESTING AWS STORAGE: KICKING THE S3 BUCKET](https://rhinosecuritylabs.com/penetration-testing/penetration-testing-aws-storage/) - Written by Dwight Hohnstein from [Rhino Security Labs](https://rhinosecuritylabs.com/).
- [AWS PENETRATION TESTING PART 1. S3 BUCKETS](https://www.virtuesecurity.com/aws-penetration-testing-part-1-s3-buckets/) - Written by VirtueSecurity.
- [AWS PENETRATION TESTING PART 2. S3, IAM, EC2](https://www.virtuesecurity.com/aws-penetration-testing-part-2-s3-iam-ec2/) - Written by VirtueSecurity.
- Misadventures in AWS - Written by Christian Demko
<a name="azure"></a>
Azure
- [Common Azure Security Vulnerabilities and Misconfigurations](https://rhinosecuritylabs.com/cloud-security/common-azure-security-vulnerabilities/) - Written by @rhinobenjamin.
- [Cloud Security Risks (Part 1): Azure CSV Injection Vulnerability](https://rhinosecuritylabs.com/azure/cloud-security-risks-part-1-azure-csv-injection-vulnerability/) - Written by @spengietz.
<a name="fingerprint"></a>
Fingerprint
<a name="sub-domain-enumeration"></a>
Sub Domain Enumeration
- A penetration tester’s guide to sub-domain enumeration - Written by Bharath.
- The Art of Subdomain Enumeration - Written by Patrik Hudak.
<a name="crypto"></a>
Crypto
- Applied Crypto Hardening - Written by The bettercrypto.org Team.
- What is a Side-Channel Attack ? - Written by J.M Porup.
<a name="web-shell"></a>
Web Shell
- Hunting for Web Shells - Written by Jacob Baines.
- Hacking with JSP Shells - Written by @_nullbind.
<a name="osint"></a>
OSINT
- Hacking Cryptocurrency Miners with OSINT Techniques - Written by @s3yfullah.
- OSINT x UCCU Workshop on Open Source Intelligence - Written by Philippe Lin.
- 102 Deep Dive in the Dark Web OSINT Style Kirby Plessas - Presented by @kirbstr.
- The most complete guide to finding anyone’s email - Written by Timur Daudpota.
<a name="dns-rebinding"></a>
DNS Rebinding
- Attacking Private Networks from the Internet with DNS Rebinding - Written by @brannondorsey
- Hacking home routers from the Internet - Written by @radekk
<a name="deserialization"></a>
Deserialization
- What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability. - Written by @breenmachine.
- Attacking .NET deserialization - Written by @pwntester.
- .NET Roulette: Exploiting Insecure Deserialization in Telerik UI - Written by @noperator.
- How to exploit the DotNetNuke Cookie Deserialization - Written by CRISTIAN CORNEA.
- HOW TO EXPLOIT LIFERAY CVE-2020-7961 : QUICK JOURNEY TO POC - Written by @synacktiv.
<a name="oauth"></a>
OAuth
- Introduction to OAuth 2.0 and OpenID Connect - Written by @PhilippeDeRyck.
- What is going on with OAuth 2.0? And why you should not use it for authentication. - Written by @damianrusinek.
<a name="jwt"></a>
JWT
Evasions
<a name="evasions-xxe"></a>
XXE
- Bypass Fix of OOB XXE Using Different encoding - Written by @SpiderSec.
<a name="evasions-csp"></a>
CSP
- Any protection against dynamic module import? - Written by @shhnjk.
- CSP: bypassing form-action with reflected XSS - Written by Detectify Labs.
- TWITTER XSS + CSP BYPASS - Written by Paulos Yibelo.
- Neatly bypassing CSP - Written by Wallarm.
- Evading CSP with DOM-based dangling markup - Written by portswigger.
- GitHub's CSP journey - Written by @ptoomey3.
- GitHub's post-CSP journey - Written by @ptoomey3.
<a name="evasions-waf"></a>
WAF
- Web Application Firewall (WAF) Evasion Techniques - Written by @secjuice.
- Web Application Firewall (WAF) Evasion Techniques #2 - Written by @secjuice.
- [Airbnb – When Bypassing JSON Encoding, XSS Filter, WAF, CSP, and Auditor turns into Eight Vulnerabilities](https://buer.haus/2017/03/08/airbnb-when-bypassing-json-encoding-xss-filter-waf-csp-and-auditor-turns-into-eight-vulnerabilities/) - Written by @Brett Buerhaus.
- How to bypass libinjection in many WAF/NGWAF - Written by @d0znpp.
<a name="evasions-jsmvc"></a>
JSMVC
- JavaScript MVC and Templating Frameworks - Written by Mario Heiderich.
<a name="evasions-authentication"></a>
Authentication
- Trend Micro Threat Discovery Appliance - Session Generation Authentication Bypass (CVE-2016-8584) - Written by @malerisch and @steventseeley.
Tricks
<a name="tricks-csrf"></a>
CSRF
- Neat tricks to bypass CSRF-protection - Written by Twosecurity.
- [Exploiting CSRF on JSON endpoints with Flash and redirects](https://blog.appsecco.com/exploiting-csrf-on-json-endpoints-with-flash-and-redirects-681d4ad6b31b) - Written by @riyazwalikar.
- Stealing CSRF tokens with CSS injection (without iFrames) - Written by @dxa4481.
- [Cracking Java’s RNG for CSRF - Javax Faces and Why CSRF Token Randomness Matters](https://blog.securityevaluators.com/cracking-javas-rng-for-csrf-ea9cacd231d2) - Written by @rramgattie.
- If HttpOnly You Could Still CSRF… Of CORS you can! - Written by @GraphX.
<a name="tricks-clickjacking"></a>
Clickjacking
- Clickjackings in Google worth 14981.7$ - Written by @raushanraj_65039.
<a name="tricks-rce"></a>
Remote Code Execution
- CVE-2019-1306: ARE YOU MY INDEX? - Written by @yu5k3.
- WebLogic RCE (CVE-2019-2725) Debug Diary - Written by Badcode@Knownsec 404 Team.
- What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability. - Written by @breenmachine.
- [Exploiting Node.js deserialization bug for Remote Code Execution](https://opsecx.com/index.php/2017/02/08/exploiting-node-js-deserialization-bug-for-remote-code-execution/) - Written by OpSecX.
- DRUPAL 7.X SERVICES MODULE UNSERIALIZE() TO RCE - Written by Ambionics Security.
- [How we exploited a remote code execution vulnerability in math.js](https://capacitorset.github.io/mathjs/) - Written by @capacitorset.
- GitHub Enterprise Remote Code Execution - Written by @iblue.
- Evil Teacher: Code Injection in Moodle - Written by RIPS Technologies.
- [How I Chained 4 vulnerabilities on GitHub Enterprise, From SSRF Execution Chain to RCE!](http://blog.orange.tw/2017/07/how-i-chained-4-vulnerabilities-on.html) - Written by Orange.
- $36k Google App Engine RCE - Written by Ezequiel Pereira.
- Poor RichFaces - Written by CODE WHITE.
- Remote Code Execution on a Facebook server - Written by @blaklis_.
<a name="tricks-xss"></a>
XSS
- Exploiting XSS with 20 characters limitation - Written by Jorge Lajara.
- Upgrade self XSS to Exploitable XSS an 3 Ways Technic - Written by HAHWUL.
- XSS without parentheses and semi-colons - Written by @garethheyes.
- XSS-Auditor — the protector of unprotected and the deceiver of protected. - Written by @terjanq.
- Query parameter reordering causes redirect page to render unsafe URL - Written by kenziy.
- [ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes, and everything else](http://www.slideshare.net/x00mario/es6-en) - Written by Mario Heiderich.
- How I found a $5,000 Google Maps XSS (by fiddling with Protobuf) - Written by @marin_m.
- DON'T TRUST THE DOM: BYPASSING XSS MITIGATIONS VIA SCRIPT GADGETS - Written by Sebastian Lekies, Krzysztof Kotowicz, and Eduardo Vela.
- Uber XSS via Cookie - Written by zhchbin.
- DOM XSS – auth.uber.com - Written by StamOne_.
- Stored XSS on Facebook - Written by Enguerran Gillier.
- XSS in Google Colaboratory + CSP bypass - Written by Michał Bentkowski.
- Another XSS in Google Colaboratory - Written by Michał Bentkowski.
- </script> is filtered ? - Written by @strukt93.
- $20000 Facebook DOM XSS - Written by @vinodsparrow.
<a name="tricks-sql-injection"></a>
SQL Injection
- MySQL Error Based SQL Injection Using EXP - Written by @osandamalith.
- SQL injection in an UPDATE query - a bug bounty story! - Written by Zombiehelp54.
- GitHub Enterprise SQL Injection - Written by Orange.
- [Making a Blind SQL Injection a little less blind](https://medium.com/@tomnomnom/making-a-blind-sql-injection-a-little-less-blind-428dcb614ba8) - Written by TomNomNom.
- Red Team Tales 0x01: From MSSQL to RCE - Written by Tarlogic.
- SQL INJECTION AND POSTGRES - AN ADVENTURE TO EVENTUAL RCE - Written by @denandz.
<a name="tricks-nosql-injection"></a>
NoSQL Injection
- [GraphQL NoSQL Injection Through JSON Types](http://www.petecorey.com/blog/2017/06/12/graphql-nosql-injection-through-json-types/) - Written by Pete.
<a name="tricks-ftp-injection"></a>
FTP Injection
- XML Out-Of-Band Data Retrieval - Written by @a66at and Alexey Osipov.
- [XXE OOB exploitation at Java 1.7+](http://lab.onsec.ru/2014/06/xxe-oob-exploitation-at-java-17.html) - Written by Ivan Novikov.
<a name="tricks-xxe"></a>
XXE
- Evil XML with two encodings - Written by Arseniy Sharoglazov.
- XXE in WeChat Pay Sdk ( WeChat leave a backdoor on merchant websites) - Written by Rose Jackcode.
- XML Out-Of-Band Data Retrieval - Written by Timur Yunusov and Alexey Osipov.
- [XXE OOB exploitation at Java 1.7+ (2014)](http://lab.onsec.ru/2014/06/xxe-oob-exploitation-at-java-17.html): Exfiltration using FTP protocol - Written by Ivan Novikov.
- XXE OOB extracting via HTTP+FTP using single opened port - Written by skavans.
- What You Didn't Know About XML External Entities Attacks - Written by Timothy D. Morgan.
- [Pre-authentication XXE vulnerability in the Services Drupal module](https://www.synacktiv.com/ressources/synacktiv_drupal_xxe_services.pdf) - Written by Renaud Dubourguais.
- Forcing XXE Reflection through Server Error Messages - Written by Antti Rantasaari.
- Exploiting XXE with local DTD files - Written by Arseniy Sharoglazov.
- Automating local DTD discovery for XXE exploitation - Written by Philippe Arteau.
<a name="tricks-ssrf"></a>
SSRF
- AWS takeover through SSRF in JavaScript - Written by Gwen.
- SSRF in Exchange leads to ROOT access in all instances - Written by @0xacb.
- SSRF to ROOT Access - A $25k bounty for SSRF leading to ROOT Access in all instances by 0xacb.
- PHP SSRF Techniques - Written by @themiddleblue.
- SSRF in https://imgur.com/vidgif/url - Written by aesteral.
- All you need to know about SSRF and how may we write tools to do auto-detect - Written by @Auxy233.
- A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! - Written by Orange.
- SSRF Tips - Written by xl7dev.
- Into the Borg – SSRF inside Google production network - Written by opnsec.
- Piercing the Veil: Server Side Request Forgery to NIPRNet access - Written by Alyssa Herrera.
<a name="tricks-web-cache-poisoning"></a>
Web Cache Poisoning
truncated — full list on GitHub