Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8a1bc0a
Scan site via GitHub actions
Aholicknight Aug 24, 2022
4ca9525
Update python-app.yml
Aholicknight Aug 24, 2022
d01682e
Update python-app.yml
Aholicknight Aug 24, 2022
22b07fe
Update python-app.yml
Aholicknight Aug 24, 2022
23fb159
Update python-app.yml
Aholicknight Aug 24, 2022
04aa601
Update cloudfail GitHub action scanner
Aholicknight Aug 24, 2022
c652c0f
Update python-app.yml
Aholicknight Aug 24, 2022
4925a32
Update cloudfail.py
Aholicknight Aug 24, 2022
3d466d4
Update cloudfail.py
Aholicknight Aug 24, 2022
227376b
Update socks.py
Aholicknight Aug 24, 2022
79657e7
Update cloudfail.py
Aholicknight Aug 24, 2022
58683c1
Update requirements.txt
Aholicknight Aug 24, 2022
445bcc0
Update cloudfail.py
Aholicknight Aug 24, 2022
f02e3f6
Update cloudfail.py
Aholicknight Aug 24, 2022
c00fc14
Fix for python version 3.x
Aholicknight Aug 24, 2022
868596b
Update socks.py
Aholicknight Aug 24, 2022
6c2b46c
Update socks.py
Aholicknight Aug 24, 2022
736e7df
Update socks.py
Aholicknight Aug 24, 2022
c552caa
Update socks.py
Aholicknight Aug 24, 2022
dfa5912
Update cloudfail.py
Aholicknight Aug 24, 2022
57da73b
Update cloudfail.py
Aholicknight Aug 24, 2022
4054f60
Update socks.py
Aholicknight Aug 24, 2022
0167e32
Update cloudfail.py
Aholicknight Aug 24, 2022
3ca58d5
Update socks.py
Aholicknight Aug 24, 2022
afc0951
Update socks.py
Aholicknight Aug 24, 2022
3b103ae
Update socks.py
Aholicknight Aug 24, 2022
e73885b
Update socks.py
Aholicknight Aug 24, 2022
a49b3de
Update python-app.yml
Aholicknight Aug 24, 2022
589522a
Delete .github/workflows directory
Aholicknight Sep 1, 2022
31cb473
Add workflow
Aholicknight Sep 1, 2022
b3bd230
Merge pull request #1 from Aholicknight/github-action
Aholicknight Sep 1, 2022
3037d6e
Update CloudFail action
Aholicknight Sep 13, 2022
aeb6436
Update python-app.yml
Aholicknight Sep 13, 2022
3d02c20
Update python-app.yml
Aholicknight Sep 13, 2022
0fc8eb5
Update python-app.yml
Aholicknight Sep 13, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Scan target with CloudFail

on:
workflow_dispatch:
inputs:
cloudfail_target:
description: "Target Site"
default: "cloudflare.com"
required: true
type: string

permissions:
contents: read

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python 3.x
uses: actions/setup-python@v3
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
sudo apt-get install python3-setuptools
pip install flake8
if [ -f requirements.txt ]; then pip3 install -r requirements.txt; fi
- name: Scan target site with CloudFail
run: |
python3 cloudfail.py --update --target "${{ env.CLOUDFAIL_TARGET }}"

env:
CLOUDFAIL_TARGET: ${{ inputs.cloudfail_target }}
6 changes: 3 additions & 3 deletions cloudfail.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,12 @@ def check_for_wildcard(target):
#Unsure how exactly I should test, for now simple appending to target. Don't know how to extract only domain to append *. for wildcard test
try:
#Throws exception if none found
answer = resolver.query('*.' + target)
answer = resolver.resolve('*.' + target)
#If found, ask user if continue as long until valid answer
choice = ''
while choice is not 'y' and choice is not 'n':
while choice != 'y' and choice != 'n':
choice = input("A wildcard DNS entry was found. This will result in all subdomains returning an IP. Do you want to scan subdomains anyway? (y/n): ")
if choice is 'y':
if choice == 'y':
return False
else:
return True
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
collection==0.1.6
beautifulsoup4==4.6.0
bs4==0.0.1
certifi==2017.4.17
Expand Down
4 changes: 3 additions & 1 deletion socks.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@
from errno import EOPNOTSUPP, EINVAL, EAGAIN
from io import BytesIO
from os import SEEK_CUR
from collections import Callable
from collections.abc import Callable
import collections
collections.Callable = collections.abc.Callable
from base64 import b64encode

PROXY_TYPE_SOCKS4 = SOCKS4 = 1
Expand Down