Alguém saberia como isso funciona? tipo estou fazendo analises por Google Dorks com minha framework de Google Hacking (Google Dorks Analysis Hacker Toolkit) Aqui está o código:
import requests
from bs4 import BeautifulSoup
import pandas as pd
import os
def google_search(query):
url = f'https://www.google.com/search?q={query}'
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
else:
return None
def parse_results(html):
soup = BeautifulSoup(html, 'lxml')
results = []
for result in soup.find_all('h3'):
link = result.find('a', href=True)
if link:
results.append({
'title': result.get_text(),
'url': link['href']
})
return results
def save_to_csv(data, filename):
df = pd.DataFrame(data)
df.to_csv(filename, index=False)
def download_file(url, directory):
os.makedirs(directory, exist_ok=True)
local_filename = url.split('/')[-1]
local_path = os.path.join(directory, local_filename)
try:
with requests.get(url, stream=True) as r:
with open(local_path, 'wb') as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
return local_path
except Exception as e:
print(f'Erro ao baixar {url}: {e}')
return None
def search_dorks(dorks_list):
all_results = []
for query in dorks_list:
html = google_search(query)
if html:
results = parse_results(html)
all_results.extend(results)
return all_results
dorks = [
'site:example.com',
'filetype:pdf site:example.com',
'inurl:admin site:example.com',
'intext:password site:example.com'
]
results = search_dorks(dorks)
if results:
save_to_csv(results, 'dork_results.csv')
print(f'Encontrados {len(results)} resultados salvos em dork_results.csv')
else:
print('Nenhum resultado encontrado')