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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Jrohy-trojan-unauth-poc — CVE-2024-55215 | Kitploit
أدوات/GitHubGitHub/ainrm/jrohy-trojan-unauth-poc
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمر
GitHubainrm/jrohy-trojan-unauth-poc

Jrohy-trojan-unauth-poc

CVE-2024-55215

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Jrohy/trojan تعديل غير مصرح به لكلمة مرور المسؤول

Jrohy/trojan هو مشروع مفتوح المصدر مبني على Go لنشر خدمة Trojan تلقائيًا. واجهة التهيئة /auth/register الخاصة بالويب لم يتم إغلاقها بشكل صحيح بعد تكوين المستخدم، مما يسمح للمتطفلين غير المصرح لهم بتعديل كلمة مرور المسؤول مباشرة.

رابط المشروع:

  • https://github.com/Jrohy/trojan

الإصدارات المتأثرة:

  • v2.0.0 - v2.15.3

مبدأ الثغرة

تسجيل المسار، باستخدام الدالة updateUser لمعالجة طلب /auth/register

root@kitploit:~
// https://github.com/Jrohy/trojan/tree/v2.15.3/web/auth.go#L155

func Auth(r *gin.Engine, timeout int) *jwt.GinJWTMiddleware {
	jwtInit(timeout)

	newInstall := gin.H{"code": 201, "message": "No administrator account found inside the database", "data": nil}
	r.NoRoute(authMiddleware.MiddlewareFunc(), func(c *gin.Context) {
		claims := jwt.ExtractClaims(c)
		fmt.Printf("NoRoute claims: %#v\n", claims)
		c.JSON(404, gin.H{"code": 404, "message": "Page not found"})
	})
	...
	r.POST("/auth/register", updateUser)

استخراج password من الطلب، تمريره إلى SetValue

root@kitploit:~
// https://github.com/Jrohy/trojan/tree/v2.15.3/web/auth.go#L113

func updateUser(c *gin.Context) {
	responseBody := controller.ResponseBody{Msg: "success"}
	defer controller.TimeCost(time.Now(), &responseBody)
	username := c.DefaultPostForm("username", "admin")
	pass := c.PostForm("password")
	err := core.SetValue(fmt.Sprintf("%s_pass", username), pass)
	if err != nil {
		responseBody.Msg = err.Error()
	}
	c.JSON(200, responseBody)
}

تحديث قاعدة البيانات، كتابة كلمة المرور الجديدة

root@kitploit:~
// https://github.com/Jrohy/trojan/tree/v2.15.3/core/leveldb.go#L30

func SetValue(key string, value string) error {
	db, err := leveldb.OpenFile(dbPath, nil)
	if err != nil {
		return err
	}
	defer db.Close()
	return db.Put([]byte(key), []byte(value), nil)
}

إثبات الثغرة

20241127170540

تنزيل الأداة