Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
anubis-fetch — مثل curl، لكنه يتجاوز جدران الحماية من البوتات الخاصة بـ Anubis وCloudflare. | Kitploit
أدوات/GitHubGitHub/fzakaria/anubis-fetch
البرمجة النصية والأتمتةتجاوز WAFأمن الويبالأدوات والمكوناتمكافحة الروبوتاتانتحال البصمة الرقمية
GitHubfzakaria/anubis-fetch

anubis-fetch

مثل curl، لكنه يتجاوز جدران الحماية من البوتات الخاصة بـ Anubis وCloudflare.

عرض المستودع
301منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

anubis-fetch

Built with Nix CI License: MIT

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- https://lore.kernel.org/linux-mm/some-thread/T/

أداة سطر أوامر سريعة (مكتوبة بلغة Go) لجلب عناوين URL من خلف جدران إثبات العمل في Anubis وفحوصات بصمة Cloudflare — إذ تحل التحدي داخل العملية، ولا تلجأ إلى متصفح حقيقي إلا عند الضرورة.

عدد متزايد من المواقع — lore.kernel.org, وGNOME، وkernel.org، وغيرها الكثير — تقع خلف Anubis، وهو جدار للروبوتات يجعل متصفحك يحل تحدي إثبات عمل SHA-256 قبل أن يقدّم أي محتوى. إنه رائع في إيقاف أدوات الكشط. كما أنه رائع في إيقافك أنت عندما تريد فقط تنفيذ curl على سلسلة نقاش من قائمة بريدية:

root@kitploit:~
$ curl -s https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>Making sure you&#39;re not a bot!</title>   # 🤢

يمنحك anubis-fetch الصفحة الفعلية:

root@kitploit:~
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>[PATCH 0/2] ...</title>                     # 🥳

كيف يعمل

تعمل جدران الروبوتات على طبقتين مختلفتين، ويتعامل anubis-fetch مع كلتيهما، بالخطوة الأقل تكلفة أولًا:

  1. إعادة استخدام ملف تعريف ارتباط محفوظ. يمنحك Anubis ملف تعريف ارتباط مصادقة مُوقّعًا (techaro.lol-anubis-auth) بعد اجتيازك مرة واحدة؛ لا يُعاد تقديم التحدي للمتصفح في الزيارة التالية، وكذلك نحن. تُحفظ ملفات تعريف الارتباط لكل مضيف (انظر استمرارية ملفات تعريف الارتباط).
  2. حل إثبات العمل داخل العملية. يُرسل الطلب عبر req محاكيًا متصفح Chrome حقيقيًا — بنفس بصمة TLS/JA3 + HTTP/2 — وهو ما يجتاز أيضًا فحص البصمة السلبي من Cloudflare. إذا كان الرد تحدي Anubis، فإننا نبحث عن الـ nonce بالقوة الغاشمة ونرسله. دون متصفح، ~0.6 ثانية.
  3. التراجع إلى متصفح حقيقي. لأي شيء لا يستطيع المسار السريع فعله، نقود Chromium بدون واجهة عبر chromedp، الذي يشغّل أي JavaScript يقدّمه الموقع.

[!NOTE] يحدث التراجع في: طرق تحدّي Anubis preact / metarefresh، أو طريقة غير معروفة/مستقبلية، أو صعوبة أعلى من أن تُحل بالقوة الغاشمة، أو حل مرفوض، أو تحدي JavaScript النشط من Cloudflare (Managed Challenge / Turnstile / "I'm Under Attack"). المحاكاة تجتاز السلبي من Cloudflare؛ ولا يجتاز المستويات النشطة من JavaScript إلا المتصفح. لذا يتدهور anubis-fetch إلى "أبطأ"، وليس "معطّل".

لماذا لا نكتفي بمتصفح لكل شيء؟

لأنه أبطأ بمقدار ~4× ويجرّ ~200 MB من Chromium مع كل جلب. الحل داخل العملية هو الحالة الشائعة؛ والمتصفح هو شبكة الأمان.

المسارالزمن الفعلييتطلب Chromium
الحل (إثبات عمل Anubis)~0.6sلا
التراجع إلى المتصفح~2.0sنعم

إثبات عمل Anubis باختصار

يضمّن Anubis تحديًا بصيغة JSON في الصفحة:

root@kitploit:~
{"rules":{"algorithm":"fast","difficulty":4},
 "challenge":{"id":"…","method":"fast","randomData":"6214bd88…","difficulty":4}}

حلّ التحدي يعني إيجاد nonce بحيث يبدأ hex(sha256(randomData ‖ nonce)) بعدد من الأصفار يساوي difficulty (الـ nonce هو تمثيله العشري). ثم نعيد الإجابة:

root@kitploit:~
GET /.within.website/x/cmd/anubis/api/pass-challenge?id=…&response=<hash>&nonce=<n>&redir=<url>&elapsedTime=<ms>

…وهو ما يضبط ملف تعريف ارتباط المصادقة ويعيد التوجيه إلى الصفحة الحقيقية. الصعوبة 4 (الافتراضية على lore/kernel.org/GNOME) تعادل ~65 ألف تجزئة — أي أقل من ميلي ثانية في Go.

التثبيت

شغّله مباشرة:

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- <url>

ثبّته في ملفك الشخصي:

root@kitploit:~
$ nix profile install github:fzakaria/anubis-fetch

أو أضفه إلى الـ flake الخاص بك:

root@kitploit:~
{
  inputs.anubis-fetch.url = "github:fzakaria/anubis-fetch";
  # then, e.g. in home.packages / environment.systemPackages:
  #   inputs.anubis-fetch.packages.${system}.default
}

الاستخدام

root@kitploit:~
$ anubis-fetch [flags] URL
root@kitploit:~
# HTML to stdout
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/

# readable plain text
$ anubis-fetch --text https://lore.kernel.org/linux-mm/some-thread/T/

# lean/fast only — useful in scripts; exits 3 if it would need a browser
$ anubis-fetch --no-browser https://example.com/ && echo "got it"

استمرارية ملفات تعريف الارتباط

بعد جلب ناجح، يُكتب ملف تعريف ارتباط المصادقة إلى $XDG_CACHE_HOME/anubis-fetch/cookies/<host>.json (مع التراجع إلى ~/.cache/…). يُسمح للتشغيل التالي لذلك المضيف بالمرور مباشرة — دون إثبات عمل ولا متصفح — تمامًا مثل إعادة زيارة المتصفح. تُحفظ أيضًا ملفات تعريف الارتباط التي تم الحصول عليها عبر التراجع إلى المتصفح، بحيث يمكن لتشغيل لاحق أن يسلك مسار HTTP السريع. استخدم --no-cache لتعطيل ذلك، أو احذف الملف ببساطة لإجبار إعادة الحل.

التطوير

كل شيء مربوط عبر الـ flake:

root@kitploit:~
$ nix develop          # dev shell: go, gopls, chromium, treefmt
$ go test ./...        # unit tests (hermetic — no network)
$ nix build            # build the wrapped binary
$ nix flake check      # build + tests + formatting
$ nix fmt              # format Go + Nix via treefmt (gofmt + alejandra)

تنفيذ إثبات العمل مربوط بناقل الاختبار المنشور من Anubis نفسه (sha256("hunter" + "0")) بحيث يؤدي أي انحراف في بناء التجزئة إلى فشل اختبار وحدة بدلاً من إرجاع بيانات تالفة بصمت.

أعمال سابقة وشكر

  • TecharoHQ/anubis — جدار الروبوتات الذي تتفاوض معه هذه الأداة بأدب.
  • imroc/req — عميل HTTP الذي تتيح محاكاته لمتصفح Chrome اجتياز بصمة Cloudflare السلبية.
  • chromedp/chromedp — يقود التراجع إلى المتصفح بدون واجهة.
تنزيل الأداة
الخيارالمعنى
--textعرض نص عادي قابل للقراءة بدلاً من HTML
--timeout MSمهلة زمنية لكل خطوة بالميلي ثانية (الافتراضي 30000)
--ua STRINGتجاوز User-Agent
--browserتخطَّ الحل؛ انتقل مباشرة إلى المتصفح بدون واجهة
--no-browserلا تستخدم المتصفح أبدًا؛ اخرج بالرمز 3 إذا تعذّر تطبيق الحل
--no-cacheلا تقرأ أو تكتب مخزن ملفات تعريف الارتباط الدائم