Stack-Aware Vulnerability Fingerprinter (Clientside and ServerSide)
to be continue. but if u r intrested, may u can ask AI for this. see ya, goodluck
fish
# 1. Rename + chmod
mv cve_scan.py savf
chmod +x savf
# 2. Symlink ke PATH (pilih salah satu)
sudo ln -sf "$(pwd)/savf" /usr/local/bin/savf
# atau tanpa sudo, kalau ~/.local/bin ada di PATH:
ln -sf "$(pwd)/savf" ~/.local/bin/savf
# 3. Test
savf --help
python3 -c "
import requests, warnings, sys
warnings.filterwarnings('ignore')
sys.path.insert(0, '.')
from detector.stack import detect
result = detect('DOMAIN TARGET')
print('Frontend:', result['frontend'])
print('Library versions:', result['library_versions'])
print('Node.js:', result['nodejs'])
"
# Test manual dulu dari Kali kamu
python3 -c "
import requests, warnings
warnings.filterwarnings('ignore')
from bs4 import BeautifulSoup
s = requests.Session()
s.headers['User-Agent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36'
r = s.get('DOMAIN TARGET', timeout=15, verify=False)
print('Status:', r.status_code)
print('Body len:', len(r.text))
signals = ['__NEXT_DATA__', '_next/static', '__next_f']
for sig in signals:
print(f'{sig}:', sig in r.text)
soup = BeautifulSoup(r.text, 'html.parser')
for tag in soup.find_all('script', src=True)[:5]:
print('script:', tag['src'][:80])
"
python3 -c "
import requests, warnings
warnings.filterwarnings('ignore')
s = requests.Session()
s.headers['User-Agent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36'
# Fetch salah satu script yang mengandung jquery
r = s.get('DOMAIN/API/JS',
timeout=15, verify=False,
headers={'Range': 'bytes=0-50000'})
print('Status:', r.status_code)
# Cari version string
import re
for pat in [r'jquery:\s*[\"\']([\d.]+)', r'jQuery v([\d.]+)', r'jquery\.fn\.jquery\s*=\s*[\"\']([\d.]+)']:
m = re.search(pat, r.text, re.IGNORECASE)
if m:
print(f'Found: {m.group(0)}')
break
else:
# Print sample untuk manual inspect
print('No match. Sample:', r.text[:300])
"
