Tuesday, December 26, 2017

ক্রস সাইট স্ক্রিপ্টিং

আশা করি সবাই সফল ভাবে আপনাদের পছন্দের লিনাক্স ডিস্ট্রো সেটাপ করতে সক্ষম হয়েছেন।  টিউটোরিয়ালের এই পর্ব থেকে ক্রস সাইট স্ক্রিপ্টিং এর ব্যাসিক থেকে অ্যাডভান্স পর্যন্ত আলোচনা করব। আমি খুবই সহজ ভাষা ব্যাবহার করব যাতে আপনাদের বুঝতে কোন সমস্যা না হয়। এই টিউটোরিয়াল বুঝতে আপনাকে অব্যশই HTML বুঝতে হবে, এবং আপনি যদি স্ক্রিপ্ট নিজের মত করে বানাতে চান JavaScript জানতে হবে। এই টিউটোরিয়াল কারো কোন ক্ষতি করার উদ্দেশ্যে ব্যাবহার না করার অনুরোধ করছি।


আজকের টিউটোরিয়ালে ক্রস সাইট স্ক্রিপ্টিং কি এবং কিভাবে কাজ করে আমরা এটা বোঝার চেষ্টা করব।


ক্রস সাইট স্ক্রিপ্টিং একটা কোড ইঞ্জেকশন যেটার সাহায্যে কোন ওয়েবসাইটে ক্ষতিকর কোড প্রবেশ করানো যায়। উপরে যে পিকচার টা দেখছেন এটা ক্রস সাইট স্ক্রিপ্টিং এর এক্সাম্পল। একটা ওয়েবসাইটে যত বেশী ইনপুট ফিল্ড থাকে সে ওয়েবসাইটের ভুলনার্বাল হওয়ার চান্স তত বেশী থাকে। ক্রস সাইট স্ক্রিপ্টিং এক্স এস এস নামেও পরিচিত।

এক্স এস এস দিয়ে কি কি করা যায়?

  • জাভাস্ক্রপ্ট ব্যাবহার করে সব ধরনের ক্ষতিকর কাজ করানো যায়।
  • সাইট মোডিফাই করে সাইটের ডিজাইন ও এর কাজের ধরন বদলে দেওয়া যায়।
  • ইউজারের কুকিজ চুরি করে সেই ইউজার হিসেবে ওয়েবসাইট ব্যাবহার করা যায়। কুকিজ কি আর এর কাজ কি অনেকের না জানা থাকতে পারে। আপনি যখন কোন ওয়েবসাইটে প্রবেশ করেন, সে সাইট থেকে আপনার কম্পিউটারে ডাটা পাঠায় আর সে ডাটা আপনার ব্রাউজারে একটা ফাইলে জমা থাকে। এই ফাইলটার নাম কুকিজ। কুকিজ সাইটে ইউজারের অ্যাক্টিভিটির ট্র্যাক রাখে।  আপনি অন্য কারো কুকিজ ব্যাবহার করলে আপনি ওয়েবসাইটে যার কুকিজ ব্যাবহার করেছেন তাকে ভেবে ভুল করবে।
  • আপনি কোন ইউজার কে এক্স এস এস এর মাধ্যমে অন্য কোন ওয়েবসাইটে, ম্যালওয়্যার অথবা অন্য যেকোন কিছুর ডাউনলোড লিংকে পাঠিয়ে দিতে পারবেন।


এক্স এস এস কিভাবে কাজ করে?

উপরের ছবিতে অ্যাটাকার ভুলনার্বাল ওয়েবসাইটে ক্ষতিকর স্ক্রিপ্ট ইঞ্জেক্ট করছে, সেই স্ক্রিপ্ট ডাটাবেজে সেভ হয়ে থাকছে এবং যখন সে ডাটার জন্য সার্ভারে রিকোয়েস্ট করছে তখন সে স্ক্রিপ্টের মাধ্যমে ইনফেক্ট হচ্ছে।

প্রথমেই বোঝার চেষ্টা করি HTML কিভাবে কাজ করে। এটা একটা ট্যাগ বেজড ল্যাংগুয়েজ।
HTML এ বিগিনিং ট্যাগ এবং একটা এন্ডিং ট্যাগ থাকে। যেমন HTML এ <p> ট্যাগ ব্যাবহার করে প্যারাগ্রাফ ডিফাইন করা হয়। এই ট্যাগ ব্যাবহারের পর যতক্ষন এন্ডিং ট্যাগ </p>  না পাবে সব টেক্সট প্যারাগ্রাফের আন্ডারে আসবে। কি হবে যদি আমরা এমন কিছু কোন ওয়েবসাইটে করি?

এই টিউটোরিয়াল বেশ কিছু ভাগে বিভক্ত থাকবে। আমরা যে বিষয় গুলো নিয়ে আলোচনা করব ঃ
  1. DOM Based XSS
  2. Persistent Scripts
  3. Non Persistent Scripts
  4. ফিল্টার বাইপাস
নেক্সট টিউটোরিয়াল থাকবে DOM Based XSS এর উপর। যারা এখন পর্যন্ত HTML জানেন না তারা শেখা শুরু করুন আর যারা HTML জানেন তারা জাভাস্ক্রিপ্ট শেখা শুরু করুন।

Monday, December 25, 2017

এথিকাল হ্যাকিং ৩

আজকে এনভায়রনমেন্ট সেটাপ নিয়ে কথা বলব। সিকিউরিটি রিসার্চের জন্য যেসব টুলস প্রয়োজন হয় সবই উইন্ডোজে ব্যাবহার করা যায়। তবুও আমি লিনাক্স ডিস্ট্রো প্রেফার করব।

লিনাক্স টা আসলে কি?



লিনাক্স ওপেন সোর্স এবং ও এসের কার্নেল। মনে কি প্রশ্ন জেগেছে কার্নেল কি? আমরা যে হার্ডওয়্যার গুলো আমাদের কম্পিউটারে ব্যাবহার করি, যেমন হার্ড ডিস্ক, মাউস, র‍্যাম, প্রসেসর। এই হার্ডওয়্যার গুলো একটা সিস্টেমের মাধ্যমে আমরা ব্যাবহার করতে পারি। এই সিস্টেমটাই কার্নেল। কার্নেলে প্রায় ১৩ মিলিয়ন লাইনের কোড আছে।

আর ওপেন সোর্স মানে আপনি আপনার ইচ্ছা মত এটিতে পরিবর্তন আনতে পারবেন। ইউনিক্সের নাম হয়ত শুনেছেন, এটি ইউনিক্সের ক্লোন। লিনাক্স সব থেকে বেশী ব্যাবহার করা হয় সার্ভারে। ইন্টারনেটের প্রায় ৯০ % লিনাক্স সার্ভারে চলে। কারণ, লিনাক্স সিকিউর, ফাস্ট এবং ফ্রি।

 সিকিউরিটি রিসার্চের জন্য যেসব টুলস প্রয়োজন হয় অনেক লিনাক্স ডিস্ট্রোতে সেগুলো প্রি সেটাপ দেওয়া থাকে, এজন্য নতুন করে কিছু সেটাপ দেওয়ার প্রয়োজন হয় না । অনেক ডিস্ট্রো আছে, এগুলোর মাঝে কালি লিন্যাক্স, প্যারট ও এস, ব্লাক আর্ক লিনাক্স, ব্যাক বক্স অন্যতম।

যদি উইন্ডোজ থেকে অন্য কোন ও এসে মুভ করতে না চান, ভার্চুয়াল বক্সে লিনাক্স ব্যাবহার করতে পারেন। ইউটিউবে অনেক টিউটোরিয়াল পাবেন কিভাবে ভার্চুয়াল বক্সে ভার্চুয়াল মেশিন সেটাপ করতে হয়। ভার্চুয়াল বক্সে লিনাক্স ব্যাবহার করতে সর্বনিম্ন চার জিবি র‍্যাম থাকা ভাল। লিনাক্স ডুয়াল বুটে উইন্ডোজের পাশাপাশি ব্যাবহার করতে পারেন যদি আপনার হার্ড ডিস্ক পার্টিশন সম্পর্কে জানা থাকে। টিউটোরিয়াল দেখে সেটাপ দিতে চাইলে সব স্টেপ খুবই কেয়ারফুলি ফলো করার পরামর্শ  রইল। 



যারা একদমি নুতুন তাদের জন্য কমান্ডলাইনে কাজ করা ইকটু কঠিন। যারা ব্যাবহার করতে চান তারা অফিসিয়াল সাইট থেকে পছন্দ অনুযায়ী লিনাক্স ডিস্ট্রো নামিয়ে নিন। লিনাক্স সেটাপ দেওয়া নতুনদের জন্য ঝামেলার, তাই সেটাপের সময় টিউটোরিয়াল ফলো করবেন।



আমাদের ম্যাক্সিমাম কাজ হবে টার্মিনালে। টার্মিনালে ব্যাবহার করা ব্যাসিক কিছু কমান্ড ব্যাখ্যা করার চেষ্টা করছি ঃ


 

  • ls 
এই কমান্ড ব্যাবহার করা হয় আপনি যে ডিরেক্টরিতে আছেন, সে ডিরেক্টরিতে যে ফাইল গুলো আছে সেগুলো দেখার জন্য। মনে করেন আপনি আপনার পিসিতে সি ড্রাইভে এম্পি থ্রি ফোল্ডারে আছেন এবং সেখানে অনেক এম্পিথ্রি ফাইলস আছে। এই কমান্ড ব্যাবহার করে আপনি ফাইল গুলো দেখতে পারবেন। 
  • cd
এই কমান্ড ব্যাবহার করা হয় ডিরেক্টরি চেঞ্জ করার জন্য। আপনি যদি এখন হোম ডিরেক্টরি তে থাকেন আর হোম থেকে এম্পিথ্রি ডিরেক্টরিতে যেতে চান তাহলে cd mp3 ব্যাবহার করতে হবে।
  • mkdir and rmdir
mkdir ব্যাবহার করা হয় একটি ডিরেক্টরিতে আরেকটি ফোল্ডার অথবা ডিরেক্টরি ক্রিয়েট করার জন্য, আর অপর কমান্ডটি ডিরেক্টরি রিমুভের জন্য, কিন্তু এটি শুধু মাত্র ফাকা ডিরেক্টরি ডিলেটের জন্য ব্যাবহার করা হয়।
  • rm
ফোল্ডার  ডিলেটের জন্য এই কমান্ড ব্যাবহার করা হয়। আর ডিরেক্টরি ডিলেটের জন্য rm -r ব্যাবহার করা হয়।
  • sudo
sudo অনেক বেশী ব্যাবহৃত একটি কমান্ড, এটি ব্যাবহার করা হয় সুপার ইউসার প্রিভিলেজের জন্য।
  • zip, unzip
ফাইল জিপ আনজিপের জন্য এই কমান্ড ব্যাবহার করা হয়।
  • apt-get
কোন প্যাকেজ ইন্সটলের জন্য এই কমান্ড ব্যাবহার করা হয়। এজন্য সুপার ইউজার প্রিভিলেজের প্রয়োজন হয়। আমি যদি টর ইন্সটল করতে চাই তাহলে কমান্ড হবে ঃ sudo apt-get install tor
  • ping
এই কমান্ড দিয়ে সার্ভারের সাথে কানেকশন চেক করা হয়।



টার্মিনালে আগে ব্যাবহার করা কমান্ড আবার ব্যাবহার করতে চাইলে কি বোর্ডের আপ অ্যারো প্রেস করলে কমান্ড পুনরায় কমান্ডলাইনে চলে আসে। টার্মিনাল ক্লিন করতে চাইলে clear কমান্ড ব্যাবহার করতে হয়। আর এক্সিটের জন্য exit কমান্ড। টার্মিনালে কোন কমান্ড বন্ধ করতে চাইলে ctrl + C চাপতে হয়। টার্মিনাল থেকে sudo halt ব্যাবহার করে পিসি শাট ডাউন করা যায়।