mirror of
https://github.com/danielmiessler/SecLists
synced 2025-12-06 17:03:31 +01:00
Added an overwrite check and field
This commit is contained in:
parent
34b6d09237
commit
11395701ee
3 changed files with 101 additions and 1 deletions
94
.bin/checkers/check-if-auto-updated.py
Executable file
94
.bin/checkers/check-if-auto-updated.py
Executable file
|
|
@ -0,0 +1,94 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os,sys,json
|
||||||
|
|
||||||
|
if not sys.argv[1]:
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
IS_WRAPPED=False
|
||||||
|
|
||||||
|
if "IS_RUNNING_UNDER_CALLER_SCRIPT" in os.environ:
|
||||||
|
IS_WRAPPED=os.environ['IS_RUNNING_UNDER_CALLER_SCRIPT']=="1"
|
||||||
|
|
||||||
|
def print_normal(msg):
|
||||||
|
|
||||||
|
if IS_WRAPPED:
|
||||||
|
return
|
||||||
|
print(msg)
|
||||||
|
|
||||||
|
def print_err(file,line_number):
|
||||||
|
|
||||||
|
if IS_WRAPPED:
|
||||||
|
print("E,%s,%s"%(file,line_number))
|
||||||
|
|
||||||
|
def print_warn(file,line_number):
|
||||||
|
|
||||||
|
if IS_WRAPPED:
|
||||||
|
print("W,%s,%s"%(file,line_number))
|
||||||
|
|
||||||
|
print_normal("[+] Remote wordlist overwrite check")
|
||||||
|
if IS_WRAPPED:
|
||||||
|
print("Remote wordlist overwrite check")
|
||||||
|
print("Files that the script catches will be overwritten next update.")
|
||||||
|
|
||||||
|
files=sys.argv[1].split(" ")
|
||||||
|
|
||||||
|
for i in files:
|
||||||
|
if not os.path.isfile(i):
|
||||||
|
print_err(i,0)
|
||||||
|
print_normal("[!] %s does not exist!"%(i))
|
||||||
|
exit(2)
|
||||||
|
|
||||||
|
overall_pass_status=True
|
||||||
|
|
||||||
|
sources = json.load(open(".bin/wordlist-updaters/sources.json"))
|
||||||
|
overwritten_paths = {
|
||||||
|
"dirs": [],
|
||||||
|
"files": []
|
||||||
|
}
|
||||||
|
|
||||||
|
for source in sources:
|
||||||
|
found_paths = []
|
||||||
|
|
||||||
|
if "output" in source.keys():
|
||||||
|
found_paths.append(source["output"])
|
||||||
|
|
||||||
|
if "additional_paths" in source.keys():
|
||||||
|
found_paths += source["additional_paths"]
|
||||||
|
|
||||||
|
for path in found_paths:
|
||||||
|
|
||||||
|
if os.path.isdir(path):
|
||||||
|
overwritten_paths["dirs"].append(path)
|
||||||
|
|
||||||
|
elif os.path.isfile(path):
|
||||||
|
overwritten_paths["files"].append(path)
|
||||||
|
|
||||||
|
print(overwritten_paths)
|
||||||
|
|
||||||
|
for i in files:
|
||||||
|
|
||||||
|
for dir_path in overwritten_paths["dirs"]:
|
||||||
|
if i.startswith(dir_path):
|
||||||
|
print_normal(f"[!] Warning: file {i} is in a directory that will get overwritten!")
|
||||||
|
print_err(i, 0)
|
||||||
|
overall_pass_status=False
|
||||||
|
break
|
||||||
|
|
||||||
|
for file_path in overwritten_paths["files"]:
|
||||||
|
if i == file_path:
|
||||||
|
print_normal(f"[!] Warning: file {i} will get overwritten!")
|
||||||
|
print_err(i, 0)
|
||||||
|
overall_pass_status=False
|
||||||
|
break
|
||||||
|
|
||||||
|
if overall_pass_status:
|
||||||
|
print_normal("[+] All files passed overwrite checks")
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
print_normal("[!] Warning: One or more files failed to pass the overwrite checks")
|
||||||
|
|
||||||
|
if IS_WRAPPED:
|
||||||
|
exit(0)
|
||||||
|
else:
|
||||||
|
exit(2)
|
||||||
|
|
@ -40,6 +40,8 @@ All fields are required unless otherwise stated.
|
||||||
|
|
||||||
`post_run_script` is the script to be run after pulling the list successfully. This field is optional.
|
`post_run_script` is the script to be run after pulling the list successfully. This field is optional.
|
||||||
|
|
||||||
|
`additional_paths` is the additional paths that the workflow script should alert if there is a pull request for the file. This field is optional and won't be used for the updater, but rather the checker.
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
Example status.json
|
Example status.json
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,10 @@
|
||||||
"source": "https://github.com/trickest/wordlists.git",
|
"source": "https://github.com/trickest/wordlists.git",
|
||||||
"output": ".working_space",
|
"output": ".working_space",
|
||||||
"post_run_script": ".bin/trickest-patcher.py",
|
"post_run_script": ".bin/trickest-patcher.py",
|
||||||
"update_time": "1030"
|
"update_time": "1030",
|
||||||
|
"additional_paths": [
|
||||||
|
"Discovery/Web-Content/trickest-robots-disallowed-wordlists/",
|
||||||
|
"Discovery/Web-Content/CMS/trickest-cms-wordlist/"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
Loading…
Reference in a new issue