mirror of
https://github.com/Maybe4a6f7365/PwnHub.git
synced 2026-08-28 10:04:36 -05:00
92 lines
4.4 KiB
Bash
Executable File
92 lines
4.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ "$REQUEST_METHOD" = "POST" ]; then
|
|
action="${FORM_DATA[action]}"
|
|
challenge_id="${FORM_DATA[challenge_id]}"
|
|
|
|
case "$action" in
|
|
"load_template")
|
|
category="${FORM_DATA[category]}"
|
|
|
|
[ ! -f data/checklists.txt ] && touch data/checklists.txt
|
|
|
|
if [ -f data/checklists.txt ]; then
|
|
grep -v "^${challenge_id}|" data/checklists.txt > data/checklists_temp.txt
|
|
mv data/checklists_temp.txt data/checklists.txt
|
|
fi
|
|
|
|
template_items=""
|
|
case "$category" in
|
|
"Web")
|
|
template_items="SQL Injection|Directory Traversal|XSS (Stored)|XSS (Reflected)|Authentication Bypass|Session Management|CSRF|File Upload Bypass|Command Injection|LDAP Injection|XXE|SSRF|Deserialization"
|
|
;;
|
|
"Pwn")
|
|
template_items="Buffer Overflow|Format String|ROP Chain|Stack Canary Bypass|ASLR Bypass|NX Bypass|Heap Exploitation|Use After Free|Double Free|Integer Overflow|Race Condition|Privilege Escalation|Shellcode Development"
|
|
;;
|
|
"Crypto")
|
|
template_items="Frequency Analysis|Caesar Cipher|Substitution Cipher|Vigenère Cipher|RSA Attack|Weak Keys|Known Plaintext|Chosen Plaintext|Hash Collision|Rainbow Tables|Padding Oracle|Block Cipher Analysis|Stream Cipher Analysis"
|
|
;;
|
|
"Forensics")
|
|
template_items="File Signature Analysis|Metadata Extraction|Steganography|Network Traffic Analysis|Memory Dump Analysis|Disk Image Analysis|Log Analysis|Timeline Analysis|Registry Analysis|Malware Analysis|Deleted File Recovery|Encryption Bypass"
|
|
;;
|
|
"Misc")
|
|
template_items="Source Code Analysis|Logic Puzzle|Encoding/Decoding|OSINT|Social Engineering|Physical Security|Reverse Engineering|Binary Analysis|Protocol Analysis|Custom Algorithm"
|
|
;;
|
|
*)
|
|
template_items="Reconnaissance|Vulnerability Assessment|Exploit Development|Privilege Escalation|Data Extraction|Documentation"
|
|
;;
|
|
esac
|
|
|
|
timestamp=$(date "+%Y-%m-%d %H:%M:%S")
|
|
IFS='|' read -ra ITEMS <<< "$template_items"
|
|
for item in "${ITEMS[@]}"; do
|
|
echo "${challenge_id}|${item}|pending||${timestamp}" >> data/checklists.txt
|
|
done
|
|
|
|
echo '<div class="success">✓ Template loaded successfully</div>'
|
|
;;
|
|
|
|
"add_item")
|
|
item_text="${FORM_DATA[item_text]}"
|
|
assignee="${FORM_DATA[assignee]:-Anonymous}"
|
|
|
|
if [ -n "$item_text" ]; then
|
|
[ ! -f data/checklists.txt ] && touch data/checklists.txt
|
|
timestamp=$(date "+%Y-%m-%d %H:%M:%S")
|
|
echo "${challenge_id}|${item_text}|pending|${assignee}|${timestamp}" >> data/checklists.txt
|
|
echo '<div class="success">✓ Item added successfully</div>'
|
|
else
|
|
echo '<div class="error">Item text is required</div>'
|
|
fi
|
|
;;
|
|
|
|
"update_status")
|
|
item_text="${FORM_DATA[item_text]}"
|
|
new_status="${FORM_DATA[status]}"
|
|
assignee="${FORM_DATA[assignee]:-Anonymous}"
|
|
|
|
if [ -f data/checklists.txt ]; then
|
|
timestamp=$(date "+%Y-%m-%d %H:%M:%S")
|
|
|
|
while IFS='|' read -r cid item status old_assignee old_timestamp; do
|
|
if [ "$cid" = "$challenge_id" ] && [ "$item" = "$item_text" ]; then
|
|
echo "${cid}|${item}|${new_status}|${assignee}|${timestamp}"
|
|
else
|
|
echo "${cid}|${item}|${status}|${old_assignee}|${old_timestamp}"
|
|
fi
|
|
done < data/checklists.txt > data/checklists_temp.txt
|
|
|
|
mv data/checklists_temp.txt data/checklists.txt
|
|
echo '<div class="success">✓ Status updated successfully</div>'
|
|
else
|
|
echo '<div class="error">Checklist not found</div>'
|
|
fi
|
|
;;
|
|
|
|
*)
|
|
echo '<div class="error">Invalid action</div>'
|
|
;;
|
|
esac
|
|
else
|
|
echo '<div class="error">Only POST requests are allowed</div>'
|
|
fi |