الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

سكريبت لايجاد Default Password ومعرفة حالة الحساب

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته

مدير قواعد البيانات DBA مسئول عن أمان قاعدة البيانات

المرفق script يستخدمها مدير قواعد البيانات لمعرفة اذا كان أي مستخدم له default Password ومعني ذلك هل كلمة السر سهلة الوصول اليها وهي مكتوبة مثل اسم المستخدم كما يفعل معظم مدراء قواعد البيانات

مثل مثلا عمل كلمة السر للمستخدم sys sys

كذلك ال script تحدد حالة الحساب مغلق expired يعمل

في حال وجود كلمة سر مطابقة يجب تغييرها لزيادة ال security

check_default_users.txt

بتاريخ:

السلام عليكم أخي احمد

بارك الله فيك وجزاك الله الف خير

عندي سؤال وهو بخصوص Where clause :

 WHERE password IN (
	'E066D214D5421CCC' -- dbsnmp
, '24ABAB8B06281B4C' -- ctxsys
, '72979A94BAD2AF80' -- mdsys
, 'C252E8FA117AF049' -- odm
, 'A7A32CD03D3CE8D5' -- odm_mtr
, '88A2B2C183431F00' -- ordplugins
, '7EFA02EC7EA6B86F' -- ordsys
, '4A3BA55E08595C81' -- outln
, 'F894844C34402B67' -- scott )



كلمات المرور هذه ماذا تعني ؟؟ وهل يتم تخزينها بشكل عشوائي .. ام هناك الية معينة؟

مع جزيل الشكر

بتاريخ:
  • كاتب الموضوع

سؤال جميل مثل صاحبه

مبدئيا هذا هو الشكل الذي تخزن به كلمات السر encrypted والهدف أنهالو تم تخزينها صريحة فهذا يعني أن اي شخص لو قدر الوصول للجدول المخزنة فيه users data سيصل بسهولة لكلمة السر للمستخدمين

لكن كل فيمة encrypted لها مدلولها فمثلا F894844C34402B67 تعني scott

التخزين طبعا ليس عشوائي انما باستخدام اليه تقوم بعمل encryption لكلمة السر المدخلة

دعني اعطيك مثال

اعمل جدول tst من عمودين احدهما password والثاني سميه encryped_password

ثم

insert into tst values ('password1',Toolkit.Decrypt('password1'));



تجد ان قيمة encryped_password ظهرت حروف وارقام غير مفهومة وهو ما يستخدم للحماية النوعية

متأكد أنها وصلت اليك

وأنا معجب بك لنشاطك وتطويرك لنفسك وربنا يوفقك وسعيد جدا بك يا عبد الله

بتاريخ:

وشرح جميل من اخ أروع :rolleyes:

قمت بانشاء الجدول ... ولكن عند عملية الادخال يظهر لي هذا الخطأ :

ORA-00904: "TOOLKIT"."DECRYPT": invalid identifier

؟؟؟؟؟؟؟ :rolleyes:

بتاريخ:
  • كاتب الموضوع

طيب احنا عملنا Decrypt قبل ما نعمل ENCRYPT وحنستخدم اسم مشرفنا الجديد أحمد حسن كمان علشان نبارك له بالتشفير ايه رايك؟

المثال عملته لك عندي

SQL> create table tst (pwd varchar2(100),enc_pwd varchar2(200));

Table created.

 1* insert into  tst  values ('ahmed.hassan',toolkit.Encrypt('ahmed.hassan'))
SQL> /

1 row created.

SQL> commit;

Commit complete.


لاحظ ما عملته الخاصية encrypt

SQL> select pwd,enc_pwd from tst;

PWD
----------------------------------------------------------------------------------------------------
ENC_PWD
----------------------------------------------------------------------------------------------------
ahmed.hassan
5C0B9EAF2B7A140907545366F6CE656C



طيب نستخدم Decrypt

 1* select pwd,toolkit.Decrypt(enc_pwd) from tst
SQL> /

PWD
----------------------------------------------------------------------------------------------------
TOOLKIT.DECRYPT(ENC_PWD)
----------------------------------------------------------------------------------------------------
ahmed.hassan
ahmed.hassan



طبعا بنستخدم كل دا لتعريف كلمات السر في برامجنا بدل ما نكتبها صريحة وهي خاصية جديدة لبرنامجك يا سيدي

تحياتي وأتمني أن تكون مفيده

بتاريخ:

راااااااااااااااااااااااائع جدا أخوي أحمد
أشكرك كل الشكر ... وجزااك الله الف خير

وأحلى تحية للمشرف الجديد 5C0B9EAF2B7A140907545366F6CE656C :rolleyes: :rolleyes:

اممممم ... قصدي احلى تحية للمشرف الجديد Ahmad.Hasan

أشكرك على الشرح الرااائع أخي احمد.

بتاريخ:
  • كاتب الموضوع

هههههههههههههههههه

حاقوله

بتاريخ:

هههههههههههههههههه

حاقوله


:rolleyes:
هههههههههههههههههههه
انا ما قلت شي ... اوراكل هي اللي قالت B)

والاخ Ahmad.Hasan أخونا وحبيبنا مثلك يا اخي العزيز أحمد مجيد. :rolleyes:
بتاريخ:

بارك الله فيك يابشمهندس معلومة جميلة

بتاريخ:

السلام عليكم

بارك الله فيك يابشمهندس وجعله الله فى ميزان حسناتك

انا طبقت المثال

post-51430-127461176246_thumb.jpg

بتاريخ:

السلام عليكم ورحمة الله وبركاته


شرح جميل جدا ومعلومات قيمه


جزاك الله كل خير وبارك لك في اعمالك

بتاريخ:
  • كاتب الموضوع

العفو أنت أستاذنا

للتوسع في الموضوع

rem -----------------------------------------------------------------------
rem Filename:  password.sql
rem Purpose:   Simple password encryption package to demonstrate how
rem            values can be encrypted and decrypted using Oracle's
rem            DBMS Obfuscation Toolkit
rem Note:      Connect to SYS AS SYSDBA and run ?/rdbms/admin/catobtk.sql
rem Date:      18-Mar-2003
rem Author:    Frank Naude, Oracle FAQ
rem -----------------------------------------------------------------------


CREATE OR REPLACE PACKAGE PASSWORD AS
  function encrypt(i_password varchar2) return varchar2;
  function decrypt(i_password varchar2) return varchar2;
END PASSWORD;
/
show errors


CREATE OR REPLACE PACKAGE BODY PASSWORD AS

 -- key must be exactly 8 bytes long
 c_encrypt_key varchar2(8) := 'key45678';

 function encrypt (i_password varchar2) return varchar2 is
   v_encrypted_val varchar2(38);
   v_data          varchar2(38);
 begin
    -- Input data must have a length divisible by eight
    v_data := RPAD(i_password,(TRUNC(LENGTH(i_password)/8)+1)*8,CHR(0));

    DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(
       input_string     => v_data,
       key_string       => c_encrypt_key,
       encrypted_string => v_encrypted_val);
    return v_encrypted_val;
 end encrypt;

 function decrypt (i_password varchar2) return varchar2 is
   v_decrypted_val varchar2(38);
 begin
    DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT(
       input_string     => i_password,
       key_string       => c_encrypt_key,
       decrypted_string => v_decrypted_val);
    return v_decrypted_val;
 end decrypt;


end PASSWORD;
/
show errors

-- Test if it is working...
select password.encrypt('PASSWORD1') from dual;
select password.decrypt(app_password.encrypt('PASSWORD1')) from dual;
select password.encrypt('PSW2') from dual;
select password.decrypt(app_password.encrypt('PSW2')) from dual;


  • بعد 7 سنة...
بتاريخ:

السلام عليكم ورحمة الله وبركاته كتر الف خيرك يا بشمهندس على الشرح الوافى

انا بس كان ليه سؤال مهم جدا انا مبتدا جديد في مجال oracle dba انا كنت عاوز اعرف لو عاوز اعمل قاعدة بيانات جديده من الاول خالص 

بس عاوز اعرف ايه حجم الذاكرة اللى محتاجها بالنسبة لعدد المستخدمين وبالنسبة لحجم قاعدة البيانات بالنسبة للويندوز او بالنسبة للينيكس

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.