বাড়ি প্রতিরোধ অপটিক্যাল সেলুন, চক্ষুবিদ্যা ক্লিনিক, যোগাযোগ সংশোধন কক্ষের জন্য সর্বজনীন সফ্টওয়্যার। অপটিক্যাল সেলুন, চক্ষু চিকিৎসা ক্লিনিক, যোগাযোগ সংশোধন কক্ষের জন্য সর্বজনীন সফ্টওয়্যার অবিরত উপলব্ধ টি

অপটিক্যাল সেলুন, চক্ষুবিদ্যা ক্লিনিক, যোগাযোগ সংশোধন কক্ষের জন্য সর্বজনীন সফ্টওয়্যার। অপটিক্যাল সেলুন, চক্ষু চিকিৎসা ক্লিনিক, যোগাযোগ সংশোধন কক্ষের জন্য সর্বজনীন সফ্টওয়্যার অবিরত উপলব্ধ টি

সর্বজনীন সফ্টওয়্যার বিশেষভাবে অপটিক্যাল সেলুন, চক্ষুবিদ্যা ক্লিনিক, QC অফিস এবং চক্ষু বিশেষজ্ঞদের জন্য ডিজাইন করা হয়েছে।
অপটিক্যাল সেলুন এবং চক্ষু বিশেষজ্ঞদের জন্য একটি গুণগতভাবে নতুন স্তরের কাজ।

কম্পিউটার প্রোগ্রাম "আরএমও প্লাস"

(চিকিৎসা হিসাব ও বাণিজ্য)

  • সমস্ত কর্মক্ষেত্র এবং শাখায় একটি ইউনিফাইড ক্লায়েন্ট ফাইল।
  • ডিসকাউন্টের নমনীয় সিস্টেম, ডিসকাউন্ট কার্ডের সাথে কাজ।
  • রক্ষণাবেক্ষণ এবং পাইকারি এবং খুচরা বিক্রয়, চশমা উত্পাদন এবং মেরামতের জন্য পরিষেবা, চিকিৎসা পরিষেবাগুলির জন্য অ্যাকাউন্টিং।
  • একটি বারকোড স্ক্যানারের মাধ্যমে নাম, কোড ব্যবহার করে দ্রুত তথ্য প্রবেশ করান এবং অনুসন্ধান করুন৷
  • টেমপ্লেট ব্যবহার করে পণ্য সরবরাহের জন্য অনুরোধের অপ্টিমাইজেশন। ন্যূনতম জায়.
  • মেডিকেল পরীক্ষার তথ্য স্বয়ংক্রিয় এন্ট্রি এবং মেডিকেল নোট তৈরি।
  • প্রেসক্রিপশন জারি করা এবং চশমা জন্য অর্ডার গঠন স্বয়ংক্রিয়. একজন ডাক্তার এবং একজন মাস্টারের পরিষেবার জন্য অ্যাকাউন্টিং।
  • একটি পরামর্শ অ্যাপয়েন্টমেন্ট বা নির্ধারিত লেন্স প্রতিস্থাপনের জন্য ক্লায়েন্টদের আমন্ত্রণ জানানোর জন্য এসএমএস বার্তা ব্যবহার করে কর্মক্ষম তথ্যের লক্ষ্যযুক্ত বিতরণ; কোম্পানির শেয়ার সম্পর্কে অবহিত করা।
  • নগদ এবং পণ্য চলাচল, গ্রাহক প্রবাহ, কর্মীদের কাজ, আর্থিক ফলাফলের সারাংশ এবং বিশদ প্রতিবেদন।
  • 1C-তে পরবর্তী ব্যবহারের জন্য ডেটা ডাউনলোড করার সম্ভাবনা: অ্যাকাউন্টিং, অনলাইন স্টোর এবং অন্যান্য প্রোগ্রাম।
  • কর্মীদের স্বতন্ত্র কার্যকলাপ পর্যবেক্ষণ করা (বিক্রয়, পরীক্ষার জন্য রেফারেল, ক্লায়েন্টদের ডিসকাউন্ট প্রদান ইত্যাদি)।
  • প্রোগ্রাম ফাংশন ব্যবহারকারী অ্যাক্সেস কনফিগার করা.
  • দূরবর্তী ওয়ার্কস্টেশন (শাখা) মধ্যে স্বয়ংক্রিয় তথ্য বিনিময়।
  • অননুমোদিত অ্যাক্সেস এবং তথ্য অনুলিপি বিরুদ্ধে উচ্চ ডিগ্রী সুরক্ষা. স্বয়ংক্রিয় ডাটাবেস সংরক্ষণাগার.

"আরএমও প্লাস" একটি সিস্টেম যা বিতরণ করা ডাটাবেস প্রযুক্তি ব্যবহার করে

অটোমেশনের জন্য ডিজাইন করা হয়েছে:

পাইকারি ও খুচরা বিক্রয় পরিচালনা;

কর্মক্ষেত্রে পণ্য সরবরাহ, পণ্য চলাচল নিয়ন্ত্রণ এবং অবশিষ্ট পণ্যের জন্য আবেদন;

চক্ষু সংক্রান্ত পরীক্ষা, পরামর্শমূলক পরীক্ষার ডায়েরি, প্রেসক্রিপশন এবং চশমার জন্য অর্ডার জারি করা থেকে ডেটা সহ একটি ইলেকট্রনিক ক্লায়েন্ট ফাইল বজায় রাখা;

মেডিকেল পরীক্ষার তথ্য গঠন এবং মুদ্রণ;

নগদ এবং পণ্য চলাচল, গ্রাহক প্রবাহ এবং তাদের সমীক্ষার ফলাফলের উপর প্রতিবেদন তৈরি করা।

নির্ভরযোগ্য এবং নিরাপদ অপারেশন সংগঠিত করার জন্য, প্রোগ্রামটি ভূমিকাগুলির মধ্যে একটি বিভাজন প্রদান করে যা ব্যবহারকারীর অধিকার এবং তথ্যে তাদের অ্যাক্সেস নির্ধারণ করে। প্রযুক্তি বিতরণ করা ডাটাবেসআপনাকে পরিচালনা করার অনুমতি দিন অপটিক্যাল স্টোর এবং চক্ষুবিদ্যা অফিসের একটি নেটওয়ার্ক পরিচালনা.

ডিরেক্টরি এবং নথি

ডেটা সংরক্ষণ এবং পদ্ধতিগত করার জন্য, দ্রুত নথি, রিপোর্ট, রোগীর ফাইল ইত্যাদি পূরণ করুন। প্রদান করা হয় রেফারেন্স বই. ডিরেক্টরিগুলির একটি ব্যবহারকারী-বান্ধব ইন্টারফেস রয়েছে এবং তাদের সাথে কাজ করা স্বজ্ঞাত সাহায্যে নথিপত্রব্যবসা এবং আর্থিক লেনদেন সম্পর্কে তথ্য প্রবেশ করানো হয়, পণ্যের জন্য অনুরোধ করা হয়, ব্যালেন্স প্রবেশ করানো হয় ডিরেক্টরি এবং নথিতে অ্যাক্সেস প্রোগ্রাম প্রশাসক দ্বারা নির্ধারিত হয়,ব্যবহারকারীদের নির্দিষ্ট "অধিকার" বরাদ্দ করা

বিভিন্ন অপারেশন একযোগে কার্যকর করার সম্ভাবনা

ক্লায়েন্ট ফাইল

ARMO প্লাসে একটি বিশেষ ভূমিকা বজায় রাখা হয়ইলেকট্রনিক ক্লায়েন্ট ফাইল. একটি ইউনিফাইড ক্লায়েন্ট ফাইলে প্রাথমিক ডেটা, অ্যানামেসিস, রোগ নির্ণয়, পরিদর্শন, পরীক্ষার একটি ডায়েরি এবং চক্ষু সংক্রান্ত পরীক্ষা, প্রেসক্রিপশন, চশমার অর্ডার, ক্রয় সংক্রান্ত ডেটা, অ্যাপ্লিকেশন এবং ক্লায়েন্টের অগ্রগতি সম্পর্কে তথ্য রয়েছে। প্রোগ্রাম বিক্রয়, আদেশ এবং ক্লায়েন্টদের কাছ থেকে অনুরোধ, এবং চক্ষু সংক্রান্ত পরীক্ষা থেকে নির্যাস রিপোর্ট তৈরি করে। ক্লায়েন্টদের জন্য একটি নমনীয় ডিসকাউন্ট স্কিম সেট আপ করা হয়েছে। এসএমএস এবং ই-মেইল বার্তার মাধ্যমে একটি বিজ্ঞপ্তি ব্যবস্থা রয়েছে।


ARMO প্লাসে মৌলিক প্রতিবেদন

  • আয়, ব্যয়, ব্যালেন্স, টার্নওভারের সারাংশ এবং বিস্তারিত প্রতিবেদন
  • রাজস্ব প্রতিবেদন
  • নথি এবং ফাইল অগ্রিম রিপোর্ট
  • ভোগ্য মূল্য নিয়ন্ত্রণের উপর রিপোর্ট
  • চশমা জন্য অ্যাপ্লিকেশন এবং আদেশ রিপোর্ট
  • শেলফ লাইফ রিপোর্ট
  • নথি প্রতিবেদন
  • ক্লায়েন্টদের রিপোর্ট, প্রত্যাশিত পরিদর্শন, ক্লায়েন্ট উত্স
  • গ্রাহক ডিসকাউন্ট রিপোর্ট
  • কর্মীদের উপর সারসংক্ষেপ এবং বিস্তারিত প্রতিবেদন

অ্যাকাউন্টিং এবং বিশ্লেষণ ফাংশন ছাড়াও, প্রতিবেদনগুলি কর্মীদের কাজ, বিক্রয় এবং গ্রাহক প্রবাহ নিরীক্ষণ করতে ব্যবহৃত হয়।

বিতরণ করা ডাটাবেস এবং ডেটা বিনিময়

ডিস্ট্রিবিউটেড ডাটাবেস প্রযুক্তি ভৌগলিকভাবে দূরবর্তী চোখের ডাক্তার, চক্ষুবিদ্যা অফিস এবং শাখাগুলির কাজ করতে দেয়। ইলেকট্রনিক এক্সচেঞ্জ প্যাকেটের মাধ্যমে তথ্য একে অপরের কাছে প্রেরণ করা হয়। এই কারণে, দূরবর্তী ওয়ার্কস্টেশনগুলিতে ডেটা সিঙ্ক্রোনাইজেশন অর্জন করা হয়। এভাবেই এটি গঠিত হয় ইউনিফাইড রোগীর ফাইলএবং রেফারেন্স এবং ডকুমেন্টারি তথ্যের একটি ডাটাবেস ARMO Plus এর সাথে কাজ করা সংস্থাগুলি একে অপরের সাথে বৈদ্যুতিনভাবে ডেটা বিনিময় করতে পারে।


ডাটাবেস প্রশাসন সেবা

এর মাধ্যমে অপারেশনের নির্ভরযোগ্যতা নিশ্চিত করা হয় সংরক্ষণতথ্যশালা সংরক্ষিত ডেটা সবসময় হতে পারে পুনরুদ্ধার ডাটাবেস সংকুচিত করতে, ডেটা আনলোড এবং পরিষ্কার করা হয়। আরএমও প্লাস ক্যান 1C এ ডেটা আপলোড করুন: এন্টারপ্রাইজ প্রোগ্রাম, এক্সেল, অনলাইন স্টোর।

জুমলায়, সফল রেজিস্ট্রেশনের পর, ব্যবহারকারীদের ডিফল্টরূপে a এ পুনঃনির্দেশিত করা হয় লগইন পৃষ্ঠায়(যদি অ্যাকাউন্ট সক্রিয় করার প্রয়োজন না হয়)। সেখান থেকে (লগ ইন করার পরে) ব্যবহারকারীদের একটিতে পুনঃনির্দেশিত করা হয় ব্যবহারকারী প্রোফাইলপৃষ্ঠা আপনার লগইন পুনঃনির্দেশ অন্য কিছুতে সেট করা থাকলেও এটি ঘটে লগইন ফর্ম মডিউল.

এই আচরণ পরিবর্তন করতে আপনি আপনার ওয়েবসাইটের অন্য কোনো পৃষ্ঠায় নিবন্ধনের পরে ব্যবহারকারীদের পুনঃনির্দেশ করতে পারেন।
এটি করার জন্য আপনাকে একটি মূল জুমলা ফাইল সম্পাদনা করতে হবে। আপনার পরিবর্তন একটি জুমলা আপডেট দ্বারা ওভাররাইট হতে পারে সচেতন থাকুন. সর্বদা আপনার মূল জুমলা ফাইলগুলিতে করা পরিবর্তনগুলি নথিভুক্ত করুন যাতে প্রয়োজনে আপনি দ্রুত সেগুলি পুনরায় করতে পারেন।

খোলা ফাইল:
components/com_users/controllers/registration.php

খুব নীচে স্ক্রোল করুন. শুরুর লাইন 162 বা আপনার কাছে প্রবাহিত কোড থাকবে:

if ($return === "adminactivate" ) ( $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _(, false ) ); ) অন্যথায় যদি ($return == = "useractivate" ) ( $this -> setMessage (JText::_() ); $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=registration&layout=complete", মিথ্যা )); ) else ( $this -> setMessage (JText::_() ); $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=login", মিথ্যা )); )

এই বিভাগে আপনি index.php শুরু 3 লিঙ্ক আছে?

  • প্রথমটি () ব্যবহারকারী নিবন্ধনের পরে কার্যকর করা হয় যদি অ্যাকাউন্টটি অ্যাডমিনিস্ট্রেটর দ্বারা সক্রিয় করতে হয়
  • দ্বিতীয়( index.php?option=com_users&view=registration&layout=complete), যদি অ্যাকাউন্টটি ব্যবহারকারীর দ্বারা সক্রিয় করতে হয়
  • তৃতীয় ( index.php?option=com_users&view=login), যদি অ্যাকাউন্ট সক্রিয়করণের প্রয়োজন না হয়।

আপনার পুনঃনির্দেশ পৃষ্ঠার সম্পূর্ণ URL দিয়ে আপনি যে ধরনের নিবন্ধন ব্যবহার করেন তার উপর নির্ভর করে লিঙ্কগুলি প্রতিস্থাপন করুন এবং আপনার কাজ শেষ।
উদাহরণস্বরূপ, যদি আমার ওয়েবসাইটে ব্যবহারকারী সক্রিয়করণের প্রয়োজন না হয় এবং আমি নিবন্ধনের পরে ব্যবহারকারীদের পুনঃনির্দেশ করতে চাই http://www.mywebsite.com/welcome-regআপডেট করা কোড হবে:

// প্রোফাইল স্ক্রিনে পুনঃনির্দেশ করুন।যদি ($রিটার্ন === "প্রশাসন" ) ( $this -> সেট মেসেজ (JText::_( "COM_USERS_REGISTRATION_COMPLETE_VERIFY")); $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", মিথ্যা )); ) else if ($return === "useractivate" ) ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_COMPLETE_ACTIVATE")); $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", মিথ্যা )); ) else ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_SAVE_SUCCESS")); $this -> setRedirect(JRoute::_( "http://www.mywebsite.com/welcome-reg" , মিথ্যা )); )

আপনার ওয়েবসাইটের কোন পৃষ্ঠায় আপনি পুনঃনির্দেশিত করুন, সিস্টেম বার্তা " নিবন্ধন করার জন্য আপনাকে ধন্যবাদ..." এখনও প্রদর্শিত হবে৷ আপনি যদি এই বার্তাটি না চান, তাহলে আপনার পুনঃনির্দেশ URL এর উপরে সম্পূর্ণ লাইন সরান৷ যেমন $this->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));

যদি আপনার অ্যাকাউন্ট সক্রিয়করণের প্রয়োজন না হয় (নতুন ব্যবহারকারী অ্যাকাউন্ট সক্রিয়করণ সেট করা হয়েছে কোনোটিই নয়) ব্যবহারকারীর প্রোফাইল পৃষ্ঠাটি এড়াতে আপনার এটিই দরকার। যাইহোক, যদি ব্যবহারকারীকে ইমেলের মাধ্যমে অ্যাকাউন্ট সক্রিয় করতে হয় (অ্যাকাউন্ট অ্যাক্টিভেশন সেট করা হয়েছে স্ব) এটি যথেষ্ট নাও হতে পারে। নিবন্ধনের পর অবিলম্বে ব্যবহারকারীকে একটি ওয়েব পৃষ্ঠায় পুনঃনির্দেশিত করা হবে যা আপনাকে প্রত্যাশিত কোডে দেওয়া হয়েছে। যাইহোক, যখন ব্যবহারকারী অ্যাক্টিভেশন ইমেলের একটি লিঙ্কে ক্লিক করেন, তখন তাদের পূর্বে উল্লেখিত লগইন ফর্মে নিয়ে যাওয়া হবে এবং তারা লগইন করার জন্য এটি ব্যবহার করলে, তারা ব্যবহারকারীর প্রোফাইল পৃষ্ঠায় যাবে। এটি প্রতিরোধ করার জন্য আপনি ব্যবহারকারীর প্রোফাইল পৃষ্ঠা সম্পূর্ণরূপে নিষ্ক্রিয় করতে পারেন এবং পরিবর্তে ব্যবহারকারীদের আপনার পছন্দের যেকোনো পৃষ্ঠায় পুনঃনির্দেশ করতে পারেন। কিভাবে খুঁজে বের করতে এই নিবন্ধটি পড়ুন.

জুমলা 1.6
জুমলা 1.7
জুমলা 2.5

আজকে আমরা জনপ্রিয় সিএমএস জুমলায় 1-দিনের একটি গুরুত্বপূর্ণ দুর্বলতার শোষণের দিকে নজর দেব, যা অক্টোবরের শেষে ইন্টারনেটে বিস্ফোরিত হয়েছিল। আমরা সংখ্যার সাথে দুর্বলতা সম্পর্কে কথা বলব CVE-2016-8869, CVE-2016-8870এবং CVE-2016-9081. তিনটিই কোডের এক টুকরো থেকে এসেছে যা দীর্ঘ পাঁচ বছর ধরে ফ্রেমওয়ার্কের গভীরে পড়ে আছে, ডানা মেলে অপেক্ষা করছে, কেবল তখনই মুক্ত হবে এবং এর সাথে বিশৃঙ্খলা, হ্যাক করা সাইট এবং এই জুমলার নিরীহ ব্যবহারকারীদের কান্না নিয়ে আসবে। কেবলমাত্র সবচেয়ে সাহসী এবং সাহসী বিকাশকারীরা, যাদের চোখ মনিটরের আলো থেকে লাল, এবং যাদের কীবোর্ডগুলি রুটির টুকরো দিয়ে আবর্জনাযুক্ত, তারা রাগী দুষ্ট আত্মাদের চ্যালেঞ্জ করতে এবং সংশোধনের বেদীতে তাদের মাথা রাখতে সক্ষম হয়েছিল।

সতর্কতা

সমস্ত তথ্য শুধুমাত্র তথ্যগত উদ্দেশ্যে প্রদান করা হয়. এই নিবন্ধের উপকরণগুলির দ্বারা সৃষ্ট সম্ভাব্য ক্ষতির জন্য সম্পাদক বা লেখক উভয়ই দায়ী নন।

যেখানে সব শুরু হয়েছিল

6 অক্টোবর, 2016-এ, ডেমিস পালমা স্ট্যাক এক্সচেঞ্জে একটি বিষয় তৈরি করেছিলেন যেখানে তিনি জিজ্ঞাসা করেছিলেন: কেন, প্রকৃতপক্ষে, জুমলা সংস্করণ 3.6-এ একই নামের রেজিস্টার() সহ ব্যবহারকারীদের নিবন্ধনের জন্য দুটি পদ্ধতি রয়েছে? প্রথমটি UsersControllerRegistration কন্ট্রোলারে এবং দ্বিতীয়টি UsersControllerUser কন্ট্রোলারে। ড্যামিস জানতে চেয়েছিলেন UsersControllerUser::register() পদ্ধতিটি কোথাও ব্যবহার করা হয়েছে কিনা, অথবা এটি পুরানো যুক্তি থেকে অবশিষ্ট একটি বিবর্তনীয় নৈরাজ্য ছিল কিনা। তাঁর উদ্বেগ ছিল যে এই পদ্ধতিটি যদি কোনও দৃষ্টিভঙ্গি দ্বারা ব্যবহার না করা হয় তবে এটি একটি তৈরি করা প্রশ্ন দ্বারা বলা যেতে পারে। যার জন্য আমি ইটোক্টোপাস ডাকনামের অধীনে একজন বিকাশকারীর কাছ থেকে একটি প্রতিক্রিয়া পেয়েছি, যিনি নিশ্চিত করেছেন: সমস্যাটি সত্যিই বিদ্যমান। এবং জুমলা ডেভেলপারদের কাছে একটি প্রতিবেদন পাঠিয়েছে।

তারপর ঘটনা সবচেয়ে দ্রুত বিকশিত হয়. 18 অক্টোবর, জুমলা ডেভেলপাররা ড্যামিসের কাছ থেকে প্রতিবেদনটি গ্রহণ করে, যারা ততক্ষণে একটি PoC খসড়া তৈরি করেছিল যা ব্যবহারকারীর নিবন্ধনের অনুমতি দেবে। তিনি তার ওয়েবসাইটে একটি নোট প্রকাশ করেছেন, যেখানে তিনি যে সমস্যাটি পেয়েছেন এবং এই বিষয়ে তার চিন্তাভাবনা সম্পর্কে সাধারণ ভাষায় কথা বলেছেন। একই দিনে, জুমলা 3.6.3-এর একটি নতুন সংস্করণ প্রকাশিত হয়, যেটিতে এখনও দুর্বল কোড রয়েছে।

এর পরে, ডেভিড ট্যাম্পেলিনি বাগটিকে একটি সাধারণ ব্যবহারকারী নয়, একজন প্রশাসক নিবন্ধন করার বিন্দুতে ঘুরিয়ে দেয়। এবং 21 অক্টোবর, জুমলা নিরাপত্তা দলের কাছে একটি নতুন মামলা আসে। এটি ইতিমধ্যে সুবিধা বৃদ্ধির কথা বলে। একই দিনে, জুমলা ওয়েবসাইটে একটি ঘোষণা প্রদর্শিত হয় যে মঙ্গলবার, 25 অক্টোবর, সিরিয়াল নম্বর 3.6.3 সহ পরবর্তী সংস্করণ প্রকাশ করা হবে, যা সিস্টেম কার্নেলের একটি গুরুতর দুর্বলতা সংশোধন করে।

25 অক্টোবর জুমলা সিকিউরিটি স্ট্রাইক টিম ডেমিসের আবিষ্কৃত কোডের টুকরো দ্বারা সৃষ্ট সর্বশেষ সমস্যাটি খুঁজে পায়। তারপর 21 অক্টোবর তারিখের একটি প্রতিশ্রুতি অস্পষ্ট নাম প্রস্তুত করুন 3.6.4 স্ট্যাবল রিলিজ অফিসিয়াল জুমলা রিপোজিটরির প্রধান শাখায় ঠেলে দেওয়া হয়, যা দুর্ভাগ্যজনক বাগ সংশোধন করে।

এটি বেরিয়ে আসার পরে, অসংখ্য আগ্রহী ব্যক্তি বিকাশকারী সম্প্রদায়ের সাথে যোগ দেয় - তারা দুর্বলতা প্রচার করতে এবং শোষণ প্রস্তুত করতে শুরু করে।

27 অক্টোবর, গবেষক হ্যারি রবার্টস Xiphos রিসার্চ রিপোজিটরিতে একটি রেডিমেড শোষণ আপলোড করেছেন যা একটি দুর্বল CMS সহ একটি সার্ভারে একটি PHP ফাইল আপলোড করতে পারে৷

বিস্তারিত

ঠিক আছে, পটভূমি শেষ হয়ে গেছে, আসুন সবচেয়ে আকর্ষণীয় অংশে যাওয়া যাক - দুর্বলতার বিশ্লেষণ। আমি জুমলা 3.6.3 একটি পরীক্ষামূলক সংস্করণ হিসাবে ইনস্টল করেছি, তাই সমস্ত লাইন নম্বর এই সংস্করণের জন্য প্রাসঙ্গিক হবে। এবং ফাইলগুলির সমস্ত পাথ যা আপনি নীচে দেখতে পাবেন ইনস্টল করা সিএমএসের রুটের সাথে সম্পর্কিত নির্দেশিত হবে।

ড্যামিস পালমার আবিষ্কারের জন্য ধন্যবাদ, আমরা জানি যে দুটি পদ্ধতি রয়েছে যা সিস্টেমে ব্যবহারকারীর নিবন্ধন সম্পাদন করে। প্রথমটি CMS দ্বারা ব্যবহৃত হয় এবং ফাইলটি /components/com_users/controllers/registration.php:108-এ অবস্থিত। দ্বিতীয়টি (যাকে আমাদের কল করতে হবে) /components/com_users/controllers/user.php:293-এ থাকে। এর এটা ঘনিষ্ঠভাবে কটাক্ষপাত করা যাক.

286: /** 287: * ব্যবহারকারী নিবন্ধন করার পদ্ধতি। 288: * 289: * @return বুলিয়ান 290: * 291: * @ since 1.6 292: */ 293: পাবলিক ফাংশন রেজিস্টার() 294: ( 295: JSession::checkToken("post") or jexit(JText::_ ("JINVALID_TOKEN"));... 300: // ফর্ম ডেটা পান। 301: $data = $this->input->post->get("user", array(), "array"); . .. 315: $return = $model->validate($form, $data); 316: 317: // ত্রুটি পরীক্ষা করুন। 318: if ($return === false) 319: ( ... 345: / / রেজিস্ট্রেশন শেষ করুন 346: $return = $model->register($data);

এখানে আমি শুধুমাত্র আকর্ষণীয় লাইন রেখেছি। দুর্বল পদ্ধতির সম্পূর্ণ সংস্করণ জুমলা সংগ্রহস্থলে দেখা যেতে পারে।

সাধারণ ব্যবহারকারী নিবন্ধনের সময় কী ঘটে তা বের করা যাক: কী ডেটা পাঠানো হয় এবং কীভাবে এটি প্রক্রিয়া করা হয়। সেটিংসে ব্যবহারকারীর নিবন্ধন সক্ষম করা থাকলে, ফর্মটি http://joomla.local/index.php/component/users/?view=registration-এ পাওয়া যাবে।


একটি বৈধ ব্যবহারকারী নিবন্ধন অনুরোধ নিম্নলিখিত স্ক্রিনশট মত দেখায়.


com_users উপাদান ব্যবহারকারীদের সাথে কাজ করার জন্য দায়ী। অনুরোধে টাস্ক প্যারামিটারে মনোযোগ দিন। এটির বিন্যাস $controller.$method রয়েছে। আসুন ফাইলের কাঠামো দেখি।

ফোল্ডারে স্ক্রিপ্টের নাম কন্ট্রোলারবলা কন্ট্রোলারদের নামের সাথে মিলে যায়। যেহেতু আমাদের অনুরোধে এখন $controller = "রেজিস্ট্রেশন" আছে, তাই ফাইলটিকে কল করা হবে registration.phpএবং এর রেজিস্টার() পদ্ধতি।

মনোযোগ, প্রশ্ন: কোডের একটি দুর্বল জায়গায় নিবন্ধন প্রক্রিয়াকরণ কীভাবে স্থানান্তর করবেন? আপনি সম্ভবত ইতিমধ্যে এটি অনুমান. দুর্বল এবং বাস্তব পদ্ধতির নাম একই (রেজিস্টার), তাই আমাদের শুধু নামক কন্ট্রোলারের নাম পরিবর্তন করতে হবে। আমাদের দুর্বল নিয়ামক কোথায় অবস্থিত? এটা ঠিক, ফাইলে user.php. দেখা যাচ্ছে $controller = "user"। সবকিছু একসাথে রাখলে আমরা পাবো task = user.register। এখন নিবন্ধন অনুরোধ আমাদের প্রয়োজন পদ্ধতি দ্বারা প্রক্রিয়া করা হয়.


আমাদের দ্বিতীয় জিনিসটি সঠিক বিন্যাসে ডেটা পাঠাতে হবে। এখানে সবকিছু সহজ. বৈধ রেজিস্টার() আমাদের কাছ থেকে jform নামক একটি অ্যারে আশা করে, যেখানে আমরা নিবন্ধন ডেটা পাস করি - নাম, লগইন, পাসওয়ার্ড, ইমেল (অনুরোধের সাথে স্ক্রিনশট দেখুন)।

  • /components/com_users/controllers/registration.php: 124: // ব্যবহারকারীর ডেটা পান। 125: $requestData = $this->input->post->get("jform", array(), "array");

আমাদের ক্লায়েন্ট ব্যবহারকারী নামক একটি অ্যারে থেকে এই ডেটা পায়।

  • /components/com_users/controllers/user.php: 301: // ফর্ম ডেটা পান। 302: $data = $this->input->post->get("user", array(), "array");

অতএব, আমরা jfrom থেকে user এ অনুরোধের সমস্ত প্যারামিটারের নাম পরিবর্তন করি।

আমাদের তৃতীয় ধাপ হল একটি বৈধ CSRF টোকেন খুঁজে বের করা, যেহেতু এটি ছাড়া কোনো নিবন্ধন হবে না।

  • /components/com_users/controllers/user.php: 296: JSession::checkToken("post") or jexit(JText::_("JINVALID_TOKEN"));

এটি দেখতে একটি MD5 হ্যাশের মতো, এবং আপনি এটি নিতে পারেন, উদাহরণস্বরূপ, /index.php/component/users/?view=login সাইটে অনুমোদন ফর্ম থেকে।


এখন আপনি পছন্দসই পদ্ধতি ব্যবহার করে ব্যবহারকারী তৈরি করতে পারেন। যদি সবকিছু কার্যকর হয়, তবে অভিনন্দন - আপনি কেবল একটি দুর্বলতাকে কাজে লাগিয়েছেন CVE-2016-8870"নতুন ব্যবহারকারীদের নিবন্ধনের জন্য অনুপস্থিত অনুমতি চেক।"

UsersControllerRegistration কন্ট্রোলার থেকে "কাজ করা" রেজিস্টার() পদ্ধতিতে এটি দেখতে কেমন:

  • /components/com_users/controllers/registration.php: 113: // নিবন্ধন নিষ্ক্রিয় থাকলে - লগইন পৃষ্ঠায় পুনঃনির্দেশ করুন। 114: যদি (JComponentHelper::getParams("com_users")->get("allowUserRegistration") == 0) 115: ( 116: $this->setRedirect(JRoute::_("index.php?option=com_users&view=) লগইন", মিথ্যা)); 117: 118: মিথ্যা ফেরত; 119:)

এবং তাই ঝুঁকিপূর্ণ:

  • /components/com_users/controllers/user.php:

হ্যাঁ, উপায় নেই।

দ্বিতীয়, আরও গুরুতর সমস্যাটি বোঝার জন্য, আসুন আমাদের তৈরি করা অনুরোধটি প্রেরণ করি এবং কোডের বিভিন্ন অংশে এটি কীভাবে কার্যকর করা হয় তা দেখুন। এখানে সেই অংশটি রয়েছে যা কর্মী পদ্ধতিতে ব্যবহারকারীর জমা দেওয়া ডেটা যাচাই করার জন্য দায়ী:

ধারাবাহিকতা শুধুমাত্র সদস্যদের জন্য উপলব্ধ

বিকল্প 1. সাইটের সমস্ত উপকরণ পড়তে "সাইট" সম্প্রদায়ে যোগ দিন

নির্দিষ্ট সময়ের মধ্যে সম্প্রদায়ের সদস্যপদ আপনাকে হ্যাকারের সমস্ত সামগ্রীতে অ্যাক্সেস দেবে, আপনার ব্যক্তিগত ক্রমবর্ধমান ডিসকাউন্ট বৃদ্ধি করবে এবং আপনাকে একটি পেশাদার Xakep স্কোর রেটিং সংগ্রহ করার অনুমতি দেবে!



সাইটে নতুন

>

সবচেয়ে জনপ্রিয়