Skip to content

Commit

Permalink
Fix code style
Browse files Browse the repository at this point in the history
  • Loading branch information
paveldat committed Oct 12, 2024
1 parent 6fa17ab commit c4f90cf
Show file tree
Hide file tree
Showing 13 changed files with 234 additions and 240 deletions.
38 changes: 19 additions & 19 deletions src/clickjacking/clickjacking.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,15 @@
▒▐█░░░▐█─░▐█░▒▀▄▀░░▐█▄▄▒██▄▄█░▐█▄█▀░▐█─░▐█░▒▄█▄░
"""

import sys
import logging
import sys

sys.path.insert(
0,
'src'
)
sys.path.insert(0, "src")

from logger.logger import Logger
from http_headers_grabber.http_headers_grabber import HttpHeadersGrabber
from logger.logger import Logger


logger = Logger('ClickJacking')
logger = Logger("ClickJacking")


class ClickJacking:
Expand All @@ -44,24 +40,28 @@ def click_jacking(target: str, debug: bool = False) -> bool:
logger.setLevel(logging.DEBUG)

if not isinstance(target, str):
logger.raise_fatal(BaseException(f'Target must be a string not {type(target)}. '
f'Got target: {target}'))
logger.raise_fatal(
BaseException(
f"Target must be a string not {type(target)}. "
f"Got target: {target}"
)
)

target = target.lower()
if not (target.startswith('http://') or target.startswith('https://')):
target = 'http://' + target
if not (target.startswith("http://") or target.startswith("https://")):
target = "http://" + target

logger.info(f'Testing ClickJacking for {target}')
logger.info(f"Testing ClickJacking for {target}")

try:
headers = HttpHeadersGrabber.http_headers_grabber(target)

if 'X-Frame-Options' in headers.keys():
logger.debug('ClickJacking Header is present')
logger.debug('You can\'t clickjack this domain')
if "X-Frame-Options" in headers.keys():
logger.debug("ClickJacking Header is present")
logger.debug("You can't clickjack this domain")
return False
logger.debug('ClickJacking Header is missing')
logger.debug('This domain is vulnerable to ClickJacking')
logger.debug("ClickJacking Header is missing")
logger.debug("This domain is vulnerable to ClickJacking")
return True
except Exception as ex:
logger.raise_fatal(BaseException(f'Error occurred: {ex}'))
logger.raise_fatal(BaseException(f"Error occurred: {ex}"))
31 changes: 15 additions & 16 deletions src/dns_lookup/dns_lookup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,16 @@
▒▐█░░░▐█─░▐█░▒▀▄▀░░▐█▄▄▒██▄▄█░▐█▄█▀░▐█─░▐█░▒▄█▄░
"""


import sys
import logging
import sys

import dns.resolver

sys.path.insert(
0,
'src'
)
sys.path.insert(0, "src")

from logger.logger import Logger


logger = Logger('DnsLookup')
logger = Logger("DnsLookup")


class DnsLookup:
Expand All @@ -35,8 +31,7 @@ class DnsLookup:
"""

@staticmethod
def dns_lookup(target: str, record_type: str = 'A',
debug: bool = False) -> list:
def dns_lookup(target: str, record_type: str = "A", debug: bool = False) -> list:
"""
Looks for dns lookup information for IP or Domain.
Expand All @@ -53,16 +48,20 @@ def dns_lookup(target: str, record_type: str = 'A',
logger.setLevel(logging.DEBUG)

if not isinstance(target, str):
logger.raise_fatal(BaseException(f'Target must be a string not {type(target)}. '
f'Got target: {target}'))
logger.raise_fatal(
BaseException(
f"Target must be a string not {type(target)}. "
f"Got target: {target}"
)
)

ipvs = []
logger.info(f'DNS Lookup: {target.lower()}')
logger.info(f'Records to find out: {record_type}')
logger.info(f"DNS Lookup: {target.lower()}")
logger.info(f"Records to find out: {record_type}")
try:
for ipval in dns.resolver.resolve(target.lower(), record_type):
ipvs.append(ipval.to_text())
logger.debug(record_type + ' : ' + ipval.to_text())
logger.debug(record_type + " : " + ipval.to_text())
return ipvs
except Exception as ex:
logger.raise_fatal(BaseException(f'Error occurred: {ex}'))
logger.raise_fatal(BaseException(f"Error occurred: {ex}"))
14 changes: 5 additions & 9 deletions src/exec_shell_command/exec_shell_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,15 @@
▒▐█░░░▐█─░▐█░▒▀▄▀░░▐█▄▄▒██▄▄█░▐█▄█▀░▐█─░▐█░▒▄█▄░
"""

import sys
import logging
from subprocess import Popen, PIPE
import sys
from subprocess import PIPE, Popen

sys.path.insert(
0,
'src'
)
sys.path.insert(0, "src")

from logger.logger import Logger


logger = Logger('exec_commands')
logger = Logger("exec_commands")


def exec_shell_command(command: str, debug: bool = False) -> str:
Expand All @@ -38,7 +34,7 @@ def exec_shell_command(command: str, debug: bool = False) -> str:
if debug:
logger.setLevel(logging.DEBUG)

logger.info(f'Executing command: `{command}`')
logger.info(f"Executing command: `{command}`")
with Popen(command, shell=True, stdout=PIPE, stderr=PIPE) as proc:
status = proc.wait()
output = proc.stdout.read().decode(sys.stdout.encoding)
Expand Down
29 changes: 15 additions & 14 deletions src/http_headers_grabber/http_headers_grabber.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,16 @@
▒▐█░░░▐█─░▐█░▒▀▄▀░░▐█▄▄▒██▄▄█░▐█▄█▀░▐█─░▐█░▒▄█▄░
"""

import sys
import logging
import sys

import requests

sys.path.insert(
0,
'src'
)
sys.path.insert(0, "src")

from logger.logger import Logger


logger = Logger('HttpGrabber')
logger = Logger("HttpGrabber")


class HttpHeadersGrabber:
Expand All @@ -44,15 +41,19 @@ def http_headers_grabber(target: str, debug: bool = False) -> dict:
logger.setLevel(logging.DEBUG)

if not isinstance(target, str):
logger.raise_fatal(BaseException(f'Target must be a string not {type(target)}. '
f'Got target: {target}'))
logger.raise_fatal(
BaseException(
f"Target must be a string not {type(target)}. "
f"Got target: {target}"
)
)

try:
if not (target.startswith('http://') or target.startswith('https://')):
target = 'http://' + target
if not (target.startswith("http://") or target.startswith("https://")):
target = "http://" + target
response = requests.get(target.lower())
logger.info(f'Got {target} request: {response.status_code}')
logger.debug(f'Headers:\n {response.headers}')
logger.info(f"Got {target} request: {response.status_code}")
logger.debug(f"Headers:\n {response.headers}")
return response.headers
except Exception as ex:
logger.raise_fatal(BaseException(f'Error occurred: {ex}'))
logger.raise_fatal(BaseException(f"Error occurred: {ex}"))
27 changes: 11 additions & 16 deletions src/ip/ip.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,17 @@
▒▐█░░░▐█─░▐█░▒▀▄▀░░▐█▄▄▒██▄▄█░▐█▄█▀░▐█─░▐█░▒▄█▄░
"""

import sys
import socket
import logging
import re as r
import socket
import sys
from urllib.request import urlopen

sys.path.insert(
0,
'src'
)
sys.path.insert(0, "src")

from logger.logger import Logger


logger = Logger('GetHostname')
logger = Logger("GetHostname")


class GetHostname:
Expand All @@ -37,9 +33,9 @@ def get_hostname(self) -> str:
* Hostname
"""

logger.info('Getting hostname')
logger.info("Getting hostname")
hostname = socket.gethostname()
logger.debug(f'Hostname: {hostname}')
logger.debug(f"Hostname: {hostname}")
return hostname

def get_ip(self) -> str:
Expand All @@ -50,11 +46,10 @@ def get_ip(self) -> str:
* Local IP
"""

logger.info('Getting IP')
request = str(urlopen('http://checkip.dyndns.com/').read())
local_ip = r.compile(r'Address: (\d+\.\d+\.\d+\.\d+)').search(
request).group(1)
logger.debug(f'IP: {local_ip}')
logger.info("Getting IP")
request = str(urlopen("http://checkip.dyndns.com/").read())
local_ip = r.compile(r"Address: (\d+\.\d+\.\d+\.\d+)").search(request).group(1)
logger.debug(f"IP: {local_ip}")
return local_ip

@staticmethod
Expand All @@ -76,4 +71,4 @@ def get_hostname_ip(debug: bool = False) -> tuple:
hostname_ip = GetHostname()
return hostname_ip.get_hostname(), hostname_ip.get_ip()
except Exception as ex:
logger.raise_fatal(BaseException(f'Error occurred: {ex}'))
logger.raise_fatal(BaseException(f"Error occurred: {ex}"))
18 changes: 7 additions & 11 deletions src/ip_info_finder/ip_info_finder.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,17 @@
▒▐█░░░▐█─░▐█░▒▀▄▀░░▐█▄▄▒██▄▄█░▐█▄█▀░▐█─░▐█░▒▄█▄░
"""

import sys
import json
import logging
import sys
import urllib.request
from urllib.error import URLError

sys.path.insert(
0,
'src'
)
sys.path.insert(0, "src")

from logger.logger import Logger


logger = Logger('IpInfoFinder')
logger = Logger("IpInfoFinder")


class IpInfoFinder:
Expand All @@ -48,12 +44,12 @@ def get_info(target: str, debug: bool = False) -> dict:
if debug:
logger.setLevel(logging.DEBUG)

logger.info(f'Trying to get info by {target}')
ip_api_url = 'http://ip-api.com/json/'
logger.info(f"Trying to get info by {target}")
ip_api_url = "http://ip-api.com/json/"
try:
response = urllib.request.urlopen(ip_api_url + target)
data = json.loads(response.read())
logger.debug(f'Got info:\n {data}')
logger.debug(f"Got info:\n {data}")
return data
except URLError:
logger.raise_fatal(BaseException(f'Not valid IP or Domain: {target}'))
logger.raise_fatal(BaseException(f"Not valid IP or Domain: {target}"))
14 changes: 7 additions & 7 deletions src/logger/formatter.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ class ConsoleFormatter(logging.Formatter):
Console formatter.
"""

info_color = '\x1b[0m'
warning_color = '\x1b[33;20m'
error_color = '\x1b[31;20m'
console_format = '%(asctime)s | %(levelname)-8s | %(name)s | %(message)s'
info_color = "\x1b[0m"
warning_color = "\x1b[33;20m"
error_color = "\x1b[31;20m"
console_format = "%(asctime)s | %(levelname)-8s | %(name)s | %(message)s"

FORMATS = {
logging.INFO: info_color + console_format,
logging.WARNING: warning_color + console_format + info_color,
logging.DEBUG: info_color + console_format,
logging.ERROR: error_color + console_format + info_color,
logging.CRITICAL: error_color + console_format + info_color
logging.CRITICAL: error_color + console_format + info_color,
}

def format(self, record):
Expand All @@ -39,14 +39,14 @@ class FileFormatter(logging.Formatter):
File formatter.
"""

file_format = '%(asctime)s | %(levelname)-8s | %(name)s | %(message)s'
file_format = "%(asctime)s | %(levelname)-8s | %(name)s | %(message)s"

FORMATS = {
logging.INFO: file_format,
logging.WARNING: file_format,
logging.DEBUG: file_format,
logging.ERROR: file_format,
logging.CRITICAL: file_format
logging.CRITICAL: file_format,
}

def format(self, record):
Expand Down
13 changes: 6 additions & 7 deletions src/logger/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
▒▐█░░░▐█─░▐█░▒▀▄▀░░▐█▄▄▒██▄▄█░▐█▄█▀░▐█─░▐█░▒▄█▄░
"""

import os
import logging
import os
from pathlib import Path

from .formatter import ConsoleFormatter, FileFormatter


Expand All @@ -22,7 +23,7 @@ class Logger(logging.Logger):
- file handler into file
"""

def __init__(self, name: str, mode: str = 'a') -> None:
def __init__(self, name: str, mode: str = "a") -> None:
"""
Constructor.
Logger level can be initializate by env variable `LOGGER_LEVEL`.
Expand All @@ -34,17 +35,15 @@ def __init__(self, name: str, mode: str = 'a') -> None:

logging.Logger.__init__(self, name)

self.setLevel(os.getenv('LOGGER_LEVEL', logging.INFO))
self.setLevel(os.getenv("LOGGER_LEVEL", logging.INFO))

console_handler = logging.StreamHandler()
console_handler.setLevel(self.level)
console_handler.setFormatter(ConsoleFormatter())

Path('./out/logs').mkdir(parents=True, exist_ok=True)
Path("./out/logs").mkdir(parents=True, exist_ok=True)
file_handler = logging.FileHandler(
f'out/logs/{self.name}.log',
mode=mode,
encoding='utf-8'
f"out/logs/{self.name}.log", mode=mode, encoding="utf-8"
)
file_handler.setLevel(self.level)
file_handler.setFormatter(FileFormatter())
Expand Down
Loading

0 comments on commit c4f90cf

Please sign in to comment.