
أنشئ favicon ينتج أي hash مستهدف على Shodan
أنشئ أيقونة مفضلة (favicon) تُنتج أي قيمة تجزئة (hash) مستهدفة على Shodan
تنفّذ هذه الأداة طريقة القوة الغاشمة (brute force) لتوليد أي صورة أولية لخوارزمية Shodan http.favicon.hash. يمكنك، على سبيل المثال، جعل موقعك يظهر عند البحث عن قيمة تجزئة محددة من اختيارك:
اقرأ المزيد عن الطريقة والتنفيذ في منشور مدونتي هنا:
"How I got a Shodan Favicon Hash = 1337"
أولاً، ثبّت Rust، لغة البرمجة التي بُني بها هذا المشروع لبنائه من المصدر. ثم تحوّله هذه الأوامر إلى ملف تنفيذي مُحسَّن:
git clone https://github.com/JorianWoltjer/shodan-favicon-preimage.git && cd shodan-favicon-preimage
cargo build --release
./target/release/shodan-favicon-preimage --help
Usage: shodan-favicon-preimage [OPTIONS] <INPUT> [TARGET]
Arguments:
<INPUT> File to compute hash on
[TARGET] The target hash to find (32 bits) [default: 1337]
Options:
-o, --output <OUTPUT> Output file to store the base64 encoded content [default: output.b64]
-h, --help Print help
خذ أي ملف .ico موجود، ومرّره كوسيط أول. اختيارياً، اختر قيمة تجزئة مستهدفة مختلفة عن القيمة الافتراضية 1337:
$ shodan-favicon-preimage favicon.ico 31337
Aligning input...
State: 2363324422 @ 20948 bytes
Starting search...
SUCCESS: Found hash=31337 for input 4107189463 ("17zO9A==\n")
Wrote result to "output.b64"
Decode it using `base64 -di "output.b64" > output.ico`
سيكون ملف output.b64 هو الشكل المُرمَّز الذي يُنتج قيمة التجزئة المستهدفة عبر MurmurHash3، لكن يمكنك فك ترميزه إلى ملف .ico عادي أيضاً. بعد ذلك يمكن استخدام verify.py للتحقق مما إذا كانت قيمة التجزئة صحيحة بالفعل:
$ base64 -di "output.b64" > output.ico
$ ./verify.py output.ico
31337