Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

设置默认多进程数量 #3

Merged
merged 4 commits into from
Mar 8, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
Prev Previous commit
修复无法找到路径bug
  • Loading branch information
Hatanezumi committed Mar 8, 2024
commit 13de69107a27db478b519920d9ee6706a9b2bb70
46 changes: 26 additions & 20 deletions js_finder.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import os
import time
import traceback
from pathlib import Path
from bs4 import BeautifulSoup
from config import Color
from colorama import Fore, Style
Expand All @@ -24,30 +25,35 @@
]

# 确保目标目录存在
js_dir = os.path.join('findinfo', 'js')
js_dir = os.path.join('findinfo', 'JS')
os.makedirs(js_dir, exist_ok=True)

# 设置控制目录级别的变量
max_directory_levels = 5

def delete_files_in_js_directory():
findinfo_directory = os.path.join(os.getcwd(), 'findinfo') # 获取findinfo目录的路径
js_directory = os.path.join(findinfo_directory, 'JS') # 构建JS目录的路径

def delete_files_in_js_directory(target_id: str|None = None):
# findinfo_directory = os.path.join(os.getcwd(), 'findinfo') # 获取findinfo目录的路径
findinfo_directory = Path.cwd() / 'findinfo'
# js_directory = os.path.join(findinfo_directory, 'JS') # 构建JS目录的路径
js_directory = findinfo_directory / 'JS'
def del_dir_and_files(dir_path: Path):
if not dir_path.exists():
return
for file_path in dir_path.iterdir():
file_path.unlink()
dir_path.rmdir()
try:
# 检查JS目录是否存在
if os.path.exists(js_directory):
if js_directory.exists():
# 删除JS目录中的所有文件
for id in os.listdir(js_directory):
id_path = os.path.join(js_directory,id)
if not os.path.isdir(id_path):
os.remove(id_path)
continue
for file_name in os.listdir(id_path):
file_path = os.path.join(id_path, file_name)
if os.path.isfile(file_path):
os.remove(file_path)
os.removedirs(id_path)
if target_id is not None:
del_dir_and_files(js_directory / target_id)
else:
for id_path in js_directory.iterdir():
if not id_path.is_dir():
id_path.unlink()
continue
del_dir_and_files(id_path)
else:
print('在 findinfo 目录中未找到 "JS" 目录。')
except Exception as e:
Expand Down Expand Up @@ -78,6 +84,7 @@ def save_js_file(base_url, js_path, id:str):


def get_js_paths(url, proxy=None, find=None) -> str:
id = str(time.time()).replace('.','')
try:
res = ''
# 发送GET请求获取网页内容
Expand Down Expand Up @@ -116,7 +123,6 @@ def get_js_paths(url, proxy=None, find=None) -> str:
for i in range(1, min(max_directory_levels + 1, len(directory_parts) - 1)):
subpath = '/'.join(directory_parts[:i+1]) + '/'
separated_dirs.add(subpath)
id = str(time.time()).replace('.','')
# 打印所有JavaScript文件的路径
for path in filtered_js_paths:
matching_rule = None
Expand Down Expand Up @@ -150,7 +156,8 @@ def get_js_paths(url, proxy=None, find=None) -> str:
else:
print("发生其他值错误:")
except Exception as e:
print("发生其他错误:")
print("发生其他错误:{}".format(e))
raise

# 继续执行其他操作
#提取敏感信息
Expand All @@ -159,8 +166,7 @@ def get_js_paths(url, proxy=None, find=None) -> str:
vars = findinfo.scan_findinfo(id)
if len(vars) != 0:
res = '-'*30 + f'\n{url+"的敏感信息":^30}\n' + '-'*30 + '\n' + '\n'.join(vars) + '\n'
#删除js目录下的所有文件,保证网站JS文件唯一
delete_files_in_js_directory()
delete_files_in_js_directory(id)

print("正在提取JS文件路径进行爆破")
return res
Expand Down
4 changes: 0 additions & 4 deletions js_separated.txt
Original file line number Diff line number Diff line change
@@ -1,4 +0,0 @@
/Scripts/
/FrameResource/
/FrameResource/js/
/EasyUI/