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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gogs — CVE-2014-8682 | Kitploit
أدوات/GitHubGitHub/nihal1306/gogs
تحليل الثغرات الأمنيةاستغلال تطبيقات الويباختبار الاختراقسوء التكوينالتعلم والتعليمأمن قواعد البياناتمختبرات وتدريب عملي
GitHubnihal1306/gogs

gogs

CVE-2014-8682

عرض المستودع
منذ 7 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

gogs

هنا سنقوم بإعداد مختبرنا على جهاز SEED Ubuntu 16.04 الافتراضي، وعلينا أولاً تثبيت خدمة Go Git Service (GOGS) على جهازنا الافتراضي قبل الانتقال إلى استغلال ثغرة حقن SQL. لإعداد الجهاز الافتراضي، إليك الخطوات:

الخطوة 1: تثبيت قاعدة البيانات

بمجرد تسجيل الدخول إلى النظام، يجب تشغيل الأمر التالي للتأكد من تحديث مكتباتنا ومستودعاتنا: $ sudo apt-get -y update

نستخدم MySQL server في الواجهة الخلفية، ولذلك نحتاج إلى تثبيته على جهازنا الافتراضي، ويمكننا فعل ذلك بالأمر التالي: $ sudo apt-get – y install mysql-server

أثناء تثبيت قاعدة البيانات، يطلب النظام كلمة مرور مستخدم root لقاعدة البيانات. الآن سننشئ ملفًا باسم gogs.sql. لقد استخدمنا nano، لكن أي محرر ملفات سيعمل.

ثم نلصق عبارات SQL التالية في الملف gogs.sql ونحفظه. DROP DATABASE IF EXISTS gogs; CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8 COLLATE utf8_general_ci;

الآن سننفّذ الملف gogs.sql باستخدام MySQL لإنشاء قاعدة بيانات GOGS بالأمر التالي: $ mysql – u root -p < gogs.sql

بعدها يُطلب منا إدخال كلمة مرور root التي أنشأناها أثناء مرحلة تثبيت قاعدة البيانات، وبإدخالها نتمكن من بناء قاعدة بيانات GOGS بنجاح.

لتثبيت GOGS من المصدر، نحتاج إلى أدوات التحكم بالإصدارات مثل Git وMercurial، ولتثبيتها على جهازنا الافتراضي نستخدم الأمر التالي: $ sudo apt-get -y install mercurial git

الخطوة 2: تثبيت Go

GOGS مكتوب بلغة البرمجة Go، ولذلك نحتاج إلى تثبيتها قبل تجميع GOGS.

أولاً، هناك بعض متغيرات البيئة التي نحتاج إلى ضبطها، ولضبطها نعدّل ملف ~/.bashrc ونضيف إليه الأسطر التالية ثم نحفظ الملف: export GOPATH=/home/git/go export GOROOT=/usr/local/src/go export PATH=${PATH}:$GOROOT/bin

للتأكد من تطبيق تغييراتنا بنجاح، نشغّل الأمر التالي: $ source ~/.bashrc

الآن نستخدم أمر wget لتثبيت أحد الإصدارات المُجمَّعة من Go، والأمر هو كما يلي: $ wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

ثم نفك ضغطه باستخدام الأمر التالي: $ tar zxf go1.4.2.linux-amd64.tar.gz

بمجرد فك ضغط الملف، نغيّر دليل العمل إلى $GOROOT المعرَّف في ~/.bashrc، والأمر لذلك هو: $ sudo mv go $GOROOT

الآن، نتحقق من تثبيت Go على جهازنا الافتراضي باستخدام الأمر: $ go

للوصول إلى مجلد Gogs بكل المستندات المطلوبة، ببساطة استنسخ مجلد Gogs عبر git إلى المسار $GOPATH/src/github.com/gogits/gogs يمكن فعل ذلك بالأمر التالي: $ cd $GOPATH/src/github.com/gogits/gogs

الآن سنثبّت Supervisor لإدارة خدمة Gogs باستخدام الأمر: $ sudo apt-get -y install supervisor

بعد تثبيت Supervisor على جهازنا الافتراضي، سننشئ الآن عملية خفية لـ Gogs (daemon) عن طريق إنشاء قسم إعدادات في Supervisor. وللقيام بذلك، نحتاج أولاً إلى تحديد موقع لملفات السجل. موقع ملفات السجل هو /var/log/gogs. والأمر لذلك هو: $ sudo mkdir -p /var/log/gogs

بعد تحديد موقع تخزين السجلات، نتابع تعديل ملف إعدادات Supervisor الموجود في /etc/supervisor/supervisord.conf، والأمر لذلك هو: $ sudo nano /etc/supervisor/supervisord.conf

نضيف المحتوى التالي إلى الملف لإنشاء قسم Gogs:

[program:gogs] directory=/home/git/go/src/github.com/gogits/gogs/ command=/home/git/go/src/github.com/gogits/gogs/gogs web autostart=true autorestart=true startsecs=10 stdout_logfile=/var/log/gogs/stdout.log stdout_logfile_maxbytes=1MB stdout_logfile_backups=10 stdout_capture_maxbytes=1MB stderr_logfile=/var/log/gogs/stderr.log stderr_logfile_maxbytes=1MB stderr_logfile_backups=10 stderr_capture_maxbytes=1MB environment = HOME="/home/git", USER="git" user = git

الكود أعلاه يحدد الأوامر التي نريد تنفيذها لتشغيل Gogs، وتشغيل Supervisor، وتوفير موقع ملفات السجل ومتغيرات البيئة المقابلة. الآن نعيد تشغيل Supervisor لتسري التغييرات باستخدام الأمر: $ sudo service supervisor restart

للتحقق من أن Gogs يعمل بالفعل، نستخدم الأمر التالي: $ ps -ef | grep gogs يعرض أمر ps معلومات عن العمليات النشطة، ونستخدم grep عبر تلك النتائج للحصول على معلومات Gogs.

طريقة أخرى للتحقق من أن الخادم يعمل هي النظر إلى ملف stdout.log باستخدام الأمر: $ tail /var/log/gogs/stdout.log

يمكننا الآن حتى زيارة صفحة الويب التي ستعرض صفحة التثبيت. سيكون عنوان URL لذلك هو: http://10.0.2.15:3000

الخطوة 4: إعداد Nginx كخادم وكيل عكسي (Reverse Proxy)

أولاً، نحتاج إلى تثبيت Nginx، ونفعل ذلك باستخدام الأمر التالي: $ sudo apt-get -y install nginx

الآن، ننشئ ملف إعدادات Nginx لـ Gogs، وسيكون موجودًا في etc/nginx/sites-available/gogs. ونضيف أيضًا الكود التالي إلى الملف:

server { listen 80; server_name “ADD IP ADDRESS HERE!!!”;

root@kitploit:~
proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP

location / {
    proxy_pass http://localhost:3000;
}

}

نحتاج أيضًا إلى إنشاء ارتباط رمزي (symlink) ليتمكن Nginx من الوصول إلى الملف. يُنشأ الارتباط الرمزي بين /etc/nginx/sites-available/gogs و /etc/nginx/sites-enabled/gogs. يمكننا إنشاء الارتباط الرمزي باستخدام الأمر التالي:

$ sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/gogs

أخيرًا، نحتاج إلى إعادة تشغيل خدمة Nginx لتفعيل إعدادات الاستضافة الافتراضية. أمر إعادة التشغيل هو: $ sudo service nginx restart

يمكننا الآن زيارة عنوان URL المستخدم سابقًا دون استخدام رقم المنفذ. العنوان هو: http://10.0.2.15

الخطوة 5: تهيئة Gogs

قبل أن نتمكن من تهيئة Gogs، يجب ملء بعض المعلومات على صفحة الويب الخاصة بالخادم، وعنوان URL الخاص بها هو: http://10.0.2.15/install

في القسم الأول، نملأ معلومات قاعدة البيانات، وهي MySQL في حالتنا. الحقول هي كما يلي:

نوع قاعدة البيانات: MySQL المضيف: 127.0.0.1:3306 المستخدم: root كلمة المرور: seedubuntu اسم قاعدة البيانات: gogs

في القسم الثاني، نملأ الإعدادات العامة لـ Gogs، والحقول الخاصة بها هي: مسار جذر المستودعات: /home/git/gogs-repositories مستخدم التشغيل: git النطاق: 10.0.2.15 منفذ HTTP: 300 عنوان URL للتطبيق: http://10.0.2.15:3000

بعد ذلك، نعدّل إعدادات اسم المستخدم وكلمة المرور للمسؤول ضمن إعدادات حساب المسؤول.

الآن، ننقر على «Install Gogs» ونسجّل الدخول.

الخطوة 6: اختبار Gogs

للتأكد من أن Gogs يعمل بالفعل كما هو مصمَّم، نجري اختبار سحب/دفع (pull/push) بسيط. أولاً، نذهب إلى العنوان http://10.0.2.15/repo/create وننشئ مستودعًا باسم my-test-repo.

بعد ملء جميع المعلومات المطلوبة، يمكننا المضي قدمًا في إنشاء المستودع بالنقر على الزر الأخضر «Create Repository».

الآن، يمكننا أيضًا استنساخ هذا المستودع باستخدام الأمر: $ git clone http://10.0.2.15//my-test-repo.git

ثم ننتقل إلى موقع المستودع على جهازنا الافتراضي ونحدّث ملف README.md. أخيرًا، ننفّذ commit لكل التغييرات ونرفعها باستخدام الأمر: $ git add –-all %% git commit -m “init command”” && git push origin master

تم إنشاء المستودع بنجاح، والآن عندما نزور العنوان http://10.0.2.15/iammuskaan/my-test-repo يمكننا رؤية المحتوى مضافًا إلى ملف README.md.

تنزيل الأداة