├── .gradle
├── 5.6.2
│ ├── gc.properties
│ ├── fileChanges
│ │ └── last-build.bin
│ ├── fileHashes
│ │ ├── fileHashes.bin
│ │ └── fileHashes.lock
│ ├── javaCompile
│ │ ├── taskHistory.bin
│ │ ├── classAnalysis.bin
│ │ └── javaCompile.lock
│ ├── fileContent
│ │ └── fileContent.lock
│ └── executionHistory
│ │ ├── executionHistory.bin
│ │ └── executionHistory.lock
├── vcs-1
│ └── gc.properties
├── vcsWorkingDirs
│ └── gc.properties
├── 4.9
│ ├── fileChanges
│ │ └── last-build.bin
│ ├── fileHashes
│ │ ├── fileHashes.bin
│ │ └── fileHashes.lock
│ ├── taskHistory
│ │ ├── taskHistory.bin
│ │ └── taskHistory.lock
│ └── fileContent
│ │ └── fileContent.lock
└── buildOutputCleanup
│ ├── cache.properties
│ ├── outputFiles.bin
│ └── buildOutputCleanup.lock
├── .idea
├── vcs.xml
├── codeStyles
│ └── codeStyleConfig.xml
├── dictionaries
│ └── ateyar.xml
├── misc.xml
├── compiler.xml
├── modules.xml
├── libraries
│ └── Gradle__net_portswigger_burp_extender_burp_extender_api_2_1.xml
├── gradle.xml
├── modules
│ ├── flarequench.iml
│ ├── flarequench_test.iml
│ └── flarequench_main.iml
└── uiDesigner.xml
├── src
└── main
│ ├── resources
│ └── logging.properties
│ └── java
│ └── burp
│ ├── BurpExtender.java
│ ├── ScannerCheck.java
│ └── ScanIssue.java
├── .github
└── FUNDING.yml
├── .travis.yml
├── BappDescription.html
├── README.md
├── .gitignore
└── LICENSE
/.gradle/5.6.2/gc.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gradle/vcs-1/gc.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gradle/vcsWorkingDirs/gc.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gradle/4.9/fileChanges/last-build.bin:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gradle/5.6.2/fileChanges/last-build.bin:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gradle/buildOutputCleanup/cache.properties:
--------------------------------------------------------------------------------
1 | #Tue Sep 24 03:29:51 BST 2019
2 | gradle.version=5.6.2
3 |
--------------------------------------------------------------------------------
/.gradle/4.9/fileHashes/fileHashes.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/4.9/fileHashes/fileHashes.bin
--------------------------------------------------------------------------------
/.gradle/4.9/fileHashes/fileHashes.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/4.9/fileHashes/fileHashes.lock
--------------------------------------------------------------------------------
/.gradle/4.9/taskHistory/taskHistory.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/4.9/taskHistory/taskHistory.bin
--------------------------------------------------------------------------------
/.gradle/5.6.2/fileHashes/fileHashes.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/fileHashes/fileHashes.bin
--------------------------------------------------------------------------------
/.gradle/4.9/fileContent/fileContent.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/4.9/fileContent/fileContent.lock
--------------------------------------------------------------------------------
/.gradle/4.9/taskHistory/taskHistory.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/4.9/taskHistory/taskHistory.lock
--------------------------------------------------------------------------------
/.gradle/5.6.2/fileHashes/fileHashes.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/fileHashes/fileHashes.lock
--------------------------------------------------------------------------------
/.gradle/5.6.2/javaCompile/taskHistory.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/javaCompile/taskHistory.bin
--------------------------------------------------------------------------------
/.gradle/5.6.2/fileContent/fileContent.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/fileContent/fileContent.lock
--------------------------------------------------------------------------------
/.gradle/5.6.2/javaCompile/classAnalysis.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/javaCompile/classAnalysis.bin
--------------------------------------------------------------------------------
/.gradle/5.6.2/javaCompile/javaCompile.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/javaCompile/javaCompile.lock
--------------------------------------------------------------------------------
/.gradle/buildOutputCleanup/outputFiles.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/buildOutputCleanup/outputFiles.bin
--------------------------------------------------------------------------------
/.gradle/5.6.2/executionHistory/executionHistory.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/executionHistory/executionHistory.bin
--------------------------------------------------------------------------------
/.gradle/buildOutputCleanup/buildOutputCleanup.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/buildOutputCleanup/buildOutputCleanup.lock
--------------------------------------------------------------------------------
/.gradle/5.6.2/executionHistory/executionHistory.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aress31/flarequench/HEAD/.gradle/5.6.2/executionHistory/executionHistory.lock
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
This extension provides the following features:
2 |If you are experiencing any issue at all, please file an issue on the GitHub project page or contact me personally via LinkedIn.
9 | -------------------------------------------------------------------------------- /.idea/modules/flarequench_test.iml: -------------------------------------------------------------------------------- 1 | 2 |Cloudflare is a web infrastructure and website security company, providing content " 71 | + "delivery network services, DDoS mitigation, Internet security, and distributed " 72 | + "domain name server services. Cloudflare's services sit between a website's visitor " 73 | + "and the Cloudflare customer's hosting provider, acting as a reverse proxy for " 74 | + "websites.
" 75 | + "" 76 | + "It was possible to obtain the application's origin IP(s) which represent the" 77 | + "server(s) sitting behind Cloudflare. With this information an attacker could" 78 | + "directly target the application server(s), effectively bypassing the layer of " 79 | + "protection offered by Cloudflare. To exploit this, an attacker would need to " 80 | + "redirect their network traffic to the discovered origin IP(s) and manipulate the " 81 | + "\"Host\" header of their HTTP(S) requests to the relevant hostname in order to " 82 | + "ensure that the application's origin server is still able to route the traffic " 83 | + "to the correct virtual host. This destination IP and host header manipulation " 84 | + "can be achieved automatically using the Target Redirector Burp extension " 85 | + "available in the Burp App Store.
" 86 | + "" 87 | + "When using this approach, keep in mind that behind Cloudflare, the naked " 88 | + "application might be hosted from a different TCP port than that which Cloudflare " 89 | + "presented it on. A port scan of the origin IP and a process of elimination can " 90 | + "help to identify the correct port. The Target Redirector extension can also " 91 | + "automatically change the port, as well as switch between HTTP and HTTPS " 92 | + "necessary.
"; 93 | } 94 | 95 | @Override 96 | public String getRemediationBackground() { 97 | return "It is strongly advised to set firewall rules on the application server(s) so that " 98 | + "only web requests from Cloudflare and IP addresses that the application may require " 99 | + "access to are authorised. This will prevent attackers from performing Denial of Service " 100 | + "(DoS) attacks or any other type of attacks that Cloudflare could hinder or prevent " 101 | + "altogether.
"; 102 | } 103 | 104 | @Override 105 | public String getIssueDetail() { 106 | return 107 | "The application is protected by Cloudflare. However, it appears that CrimeFlare was " 108 | + "able to determine the application server(s) origin IP address(es). This means that " 109 | + "bypassing Cloudflare using the application's origin IP(s) and HTTP \"Host\" header " 110 | + "should be possible. This can be achieved automatically using the Target Redirector " 111 | + "Burp extension available in the Burp App store.
" 112 | + "" 113 | + "Please visit " 114 | + "CrimeFlare to manually investigate and validate this issue.
"; 115 | } 116 | 117 | @Override 118 | public String getRemediationDetail() { 119 | return "Consider protecting the application server(s) with firewall rules which whitelist " 120 | + "Cloudflare's network and prevent access from any other IP ranges.
"; 121 | } 122 | 123 | @Override 124 | public IHttpRequestResponse[] getHttpMessages() { 125 | return new IHttpRequestResponse[0]; 126 | } 127 | 128 | @Override 129 | public IHttpService getHttpService() { 130 | return this.httpRequestResponse.getHttpService(); 131 | } 132 | } 133 | -------------------------------------------------------------------------------- /.idea/uiDesigner.xml: -------------------------------------------------------------------------------- 1 | 2 |