The book provides over 60 Python recipes for web application testing.

বইটিতে ওয়েব অ্যাপ্লিকেশন পরীক্ষার জন্য 60টির বেশি পাইথন রেসিপি দেওয়া হয়েছে।


This book is for testers looking for quick access to powerful tools.

এই বইটি পরীক্ষকদের জন্য যারা শক্তিশালী সরঞ্জামগুলিতে দ্রুত অ্যাক্সেস খুঁজছেন।


The author is a penetration tester by trade.

লেখক পেশায় একজন অনুপ্রবেশ পরীক্ষক।


He enjoys doing stupid things, such as trying to make things fly.

তিনি বোকা জিনিস করতে পছন্দ করেন, যেমন জিনিসপত্র ওড়ানোর চেষ্টা করা।


The book covers gathering open source intelligence.

বইটিতে ওপেন সোর্স ইন্টেলিজেন্স সংগ্রহ করার বিষয়ে আলোচনা করা হয়েছে।


Shodan is a vulnerability search engine.

Shodan হল একটি দুর্বলতা অনুসন্ধান ইঞ্জিন।


You can download the example code files from your account.

আপনি আপনার অ্যাকাউন্ট থেকে উদাহরণ কোড ফাইলগুলি ডাউনলোড করতে পারেন।


The book also covers enumeration techniques.

বইটিতে গণনা কৌশলও অন্তর্ভুক্ত করা হয়েছে।


The book discusses vulnerability identification.

বইটিতে দুর্বলতা সনাক্তকরণের বিষয়ে আলোচনা করা হয়েছে।


SQL injection is a major topic in the book.

এসকিউএল ইনজেকশন বইটির একটি প্রধান বিষয়।


The book explains web header manipulation.

বইটিতে ওয়েব হেডার ম্যানিপুলেশন ব্যাখ্যা করা হয়েছে।


Image analysis and manipulation are also covered.

ছবি বিশ্লেষণ এবং ম্যানিপুলেশনও আলোচনা করা হয়েছে।


The book delves into encryption and encoding methods.

বইটিতে এনক্রিপশন এবং এনকোডিং পদ্ধতি নিয়ে আলোচনা করা হয়েছে।


Payloads and shells are also discussed in detail.

পेलोড এবং শেলগুলিও বিস্তারিতভাবে আলোচনা করা হয়েছে।


The book provides information on reporting vulnerabilities.

বইটিতে দুর্বলতা রিপোর্ট করার বিষয়ে তথ্য দেওয়া হয়েছে।


The author has performed penetration tests around the world.

লেখক বিশ্বজুড়ে অনুপ্রবেশ পরীক্ষা করেছেন।


তিনি বিবাহিত এবং লন্ডনে থাকেন।


The book is for testers looking for customizable scripts.

বইটি পরীক্ষকদের জন্য যারা কাস্টমাইজযোগ্য স্ক্রিপ্ট খুঁজছেন।


The book aims to make penetration testing more manageable.

বইটির লক্ষ্য হল অনুপ্রবেশ পরীক্ষাকে আরও সহজ করে তোলা।


This book is a valuable resource for security professionals.

এই বইটি নিরাপত্তা পেশাদারদের জন্য একটি মূল্যবান সম্পদ।


A script identifies if a site uses jQuery and checks its version.

একটি স্ক্রিপ্ট সনাক্ত করে যে একটি সাইট jQuery ব্যবহার করে কিনা এবং এর সংস্করণ পরীক্ষা করে।


The script retrieves the jQuery version number.

স্ক্রিপ্টটি jQuery সংস্করণ নম্বর পুনরুদ্ধার করে।


It then compares the version against the latest available.

তারপরে এটি উপলব্ধ সর্বশেষ সংস্করণের সাথে সংস্করণটির তুলনা করে।


This helps determine if the jQuery is up to date.

এটি jQuery আপ-টু-ডেট আছে কিনা তা নির্ধারণ করতে সহায়তা করে।


The script uses libraries like 'requests' and 'BeautifulSoup'.

স্ক্রিপ্টটি 'requests' এবং 'BeautifulSoup'-এর মতো লাইব্রেরি ব্যবহার করে।


এটি স্ক্রিপ্ট ট্যাগগুলি খুঁজে বের করার জন্য HTML পার্স করে।


The script extracts the 'src' attribute of script tags.

স্ক্রিপ্টটি স্ক্রিপ্ট ট্যাগগুলির 'src' বৈশিষ্ট্যটি বের করে।


It checks if the script URL contains 'jquery.min'.

এটি পরীক্ষা করে যে স্ক্রিপ্ট URL-এ 'jquery.min' আছে কিনা।


Regular expressions are used to find the version number.

নিয়মিত অভিব্যক্তি সংস্করণ নম্বর খুঁজে বের করতে ব্যবহৃত হয়।


The script compares the detected version with known versions.

স্ক্রিপ্টটি সনাক্ত করা সংস্করণটিকে পরিচিত সংস্করণগুলির সাথে তুলনা করে।


If the version matches, it indicates it's up to date.

যদি সংস্করণটি মিলে যায়, তবে এটি নির্দেশ করে যে এটি আপ-টু-ডেট।


Otherwise, it reports the detected version as out of date.

অন্যথায়, এটি সনাক্ত করা সংস্করণটিকে মেয়াদ উত্তীর্ণ হিসাবে রিপোর্ট করে।


The script can be extended to check other JavaScript libraries.

স্ক্রিপ্টটি অন্যান্য জাভাস্ক্রিপ্ট লাইব্রেরি পরীক্ষা করার জন্য প্রসারিত করা যেতে পারে।


It needs adjustments for different library declaration methods.

বিভিন্ন লাইব্রেরি ঘোষণার পদ্ধতির জন্য এটির সমন্বয় প্রয়োজন।


The script can be used to identify vulnerabilities.

স্ক্রিপ্টটি দুর্বলতা সনাক্ত করতে ব্যবহার করা যেতে পারে।


Header-based cross-site scripting (XSS) is a potential attack vector.

হেডার-ভিত্তিক ক্রস-সাইট স্ক্রিপ্টিং (XSS) একটি সম্ভাব্য আক্রমণের দিক।


The script submits XSS attack strings to headers.

স্ক্রিপ্টটি হেডারগুলিতে XSS আক্রমণ স্ট্রিং জমা দেয়।


It cycles through several possible XSS attacks.

এটি বেশ কয়েকটি সম্ভাব্য XSS আক্রমণের মধ্যে চক্রাকারে ঘোরে।


The script uses a HEAD request to get headers.

স্ক্রিপ্টটি হেডার পেতে একটি HEAD অনুরোধ ব্যবহার করে।


The script then posts the payloads to the identified headers.

স্ক্রিপ্টটি তারপর সনাক্ত করা হেডারগুলিতে পেলোড পোস্ট করে।


Scapy is a powerful tool that can be used to manipulate network packets.

স্কাপি একটি শক্তিশালী সরঞ্জাম যা নেটওয়ার্ক প্যাকেটগুলি ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে।


This recipe aims to show you how you can achieve this with Scapy.

এই রেসিপিটি আপনাকে দেখানোর উদ্দেশ্যে তৈরি করা হয়েছে কিভাবে আপনি স্কাপির সাথে এটি অর্জন করতে পারেন।


Scapy can be installed on the majority of Linux systems with the following command: $ sudo apt-get install python-scapy

নিম্নলিখিত কমান্ডের মাধ্যমে স্কাপি বেশিরভাগ লিনাক্স সিস্টেমে ইনস্টল করা যেতে পারে: $ sudo apt-get install python-scapy


The script will set up suppression of warning messages from Scapy when it runs.

স্ক্রিপ্টটি চালানোর সময় স্কাপি থেকে আসা সতর্কবার্তা বার্তাগুলি দমন করবে।


We then compile a regular expression that will check that the IP addresses are valid.

তারপরে আমরা একটি রেগুলার এক্সপ্রেশন সংকলন করি যা যাচাই করবে যে আইপি ঠিকানাগুলি বৈধ।


Once the IP addresses have been validated, then further checks are carried out.

আইপি ঠিকানাগুলি যাচাই হয়ে গেলে, আরও পরীক্ষা করা হয়।


The script will perform a port scan on a specific target in a given port range.

স্ক্রিপ্টটি একটি নির্দিষ্ট পোর্টের পরিসরে একটি নির্দিষ্ট লক্ষ্যে পোর্ট স্ক্যান করবে।


This command will send the packet we have created and receive the first packet that is sent back.

এই কমান্ডটি আমরা তৈরি করা প্যাকেটটি পাঠাবে এবং প্রথম প্যাকেটটি গ্রহণ করবে যা ফেরত পাঠানো হয়েছে।


প্রতিটি ওয়েব অ্যাপ্লিকেশন ভিন্ন হতে পারে।


So, before you go ahead and create your username checking tool, you will want to perform a reconnaissance.

সুতরাং, আপনার ব্যবহারকারীর নাম পরীক্ষা করার সরঞ্জাম তৈরি করার আগে, আপনি একটি পুনরুদ্ধার করতে চাইবেন।


The result of find (str) does not give a simple true or false.

find (str) এর ফলাফল একটি সাধারণ সত্য বা মিথ্যা দেয় না।


Password resets may request e-mail addresses instead of usernames.

পাসওয়ার্ড রিসেট ব্যবহারকারীর নামের পরিবর্তে ই-মেল ঠিকানা চাইতে পারে।


Maybe you've got a big haul from open source intelligence gathering and you want to see which of those users use an application you are targeting.

হয়তো আপনি ওপেন সোর্স ইন্টেলিজেন্স সংগ্রহ থেকে একটি বড় সংগ্রহ পেয়েছেন এবং আপনি দেখতে চান যে সেই ব্যবহারকারীদের মধ্যে কে আপনি যে অ্যাপ্লিকেশনটি লক্ষ্য করছেন সেটি ব্যবহার করে।


This script will attempt to check usernames in a list provided to determine whether or not an account exists within the application.

এই স্ক্রিপ্টটি সরবরাহ করা একটি তালিকায় ব্যবহারকারীর নামগুলি পরীক্ষা করার চেষ্টা করবে যাতে অ্যাপ্লিকেশনটির মধ্যে কোনও অ্যাকাউন্ট বিদ্যমান আছে কিনা তা নির্ধারণ করা যায়।


This opens the file containing our list of usernames and loads it into our userlist variable.

এটি আমাদের ব্যবহারকারীর নামের তালিকা ধারণকারী ফাইলটি খোলে এবং এটিকে আমাদের userlist ভেরিয়েবলে লোড করে।


When enumerating a web application, you will want to determine what pages exist.

একটি ওয়েব অ্যাপ্লিকেশন গণনা করার সময়, আপনি কোন পৃষ্ঠাগুলি বিদ্যমান তা নির্ধারণ করতে চাইবেন।


This recipe will instead take a list of commonly found filenames of web pages and check whether they exist.

এই রেসিপিটি পরিবর্তে ওয়েব পৃষ্ঠাগুলির সাধারণত পাওয়া ফাইলের নামের একটি তালিকা নেবে এবং সেগুলি বিদ্যমান কিনা তা পরীক্ষা করবে।


Brute forcing may not be the most elegant of solutions, but it will automate what could be a potentially mundane task.

ব্রুট ফোর্স সম্ভবত সবচেয়ে মার্জিত সমাধান নাও হতে পারে, তবে এটি সেই কাজটি স্বয়ংক্রিয় করবে যা সম্ভবত একটি সাধারণ কাজ হতে পারে।


If you do not have a password list available, there are many available online.

যদি আপনার কাছে কোনও পাসওয়ার্ড তালিকা উপলব্ধ না থাকে তবে অনলাইনে অনেকগুলি উপলব্ধ রয়েছে।


By joining up the first name or first initial with the last name in different combinations with an e-mail suffix, you have a list of potential e-mail addresses.

প্রথম নাম বা প্রথম আদ্যক্ষরকে শেষ নামের সাথে বিভিন্ন সংমিশ্রণে একটি ই-মেল প্রত্যয় সহ যুক্ত করে, আপনার কাছে সম্ভাব্য ই-মেল ঠিকানাগুলির একটি তালিকা রয়েছে।


Handling when using the urlopen() method is essential.

urlopen() পদ্ধতি ব্যবহার করার সময় এটি পরিচালনা করা অপরিহার্য।


If the response from urlopen() is 404 (HTTP not found error), then the script will error and exit.

যদি urlopen() থেকে প্রতিক্রিয়া 404 হয় (HTTP পাওয়া যায়নি ত্রুটি), তাহলে স্ক্রিপ্টটিতে ত্রুটি হবে এবং এটি বন্ধ হয়ে যাবে।


If there is a valid response, the script will then store all instances of e-mail addresses in the emails variable.

যদি একটি বৈধ প্রতিক্রিয়া থাকে, তাহলে স্ক্রিপ্টটি ইমেল ভেরিয়েবলে সমস্ত ইমেল ঠিকানা সংরক্ষণ করবে।


It will then loop through the emails variable and write each item in the list to the emails.txt file and also output it to the console for confirmation.

এরপরে এটি ইমেল ভেরিয়েবলের মাধ্যমে লুপ করবে এবং তালিকার প্রতিটি আইটেম emails.txt ফাইলে লিখবে এবং নিশ্চিতকরণের জন্য এটি কনসোলে আউটপুট করবে।


The regular expression matching used in this recipe matches two common types of format used to represent e-mail addresses on the Internet.

এই রেসিপিতে ব্যবহৃত রেগুলার এক্সপ্রেশন ম্যাচিং ইন্টারনেটে ই-মেল ঠিকানাগুলি উপস্থাপন করতে ব্যবহৃত দুটি সাধারণ প্রকারের ফর্ম্যাটের সাথে মিলে যায়।


During the course of your learning and investigations, you may come across other formats that you might like to include in your matching.

আপনার শিক্ষা এবং অনুসন্ধানের সময়, আপনি অন্যান্য ফর্ম্যাটগুলির মুখোমুখি হতে পারেন যা আপনি আপনার ম্যাচিংয়ে অন্তর্ভুক্ত করতে চাইতে পারেন।


A common security issue is caused by good programming practices.

সাধারণ নিরাপত্তা সমস্যা ভাল প্রোগ্রামিং অনুশীলনের কারণে হয়।


During the development phase of web applications, developers will comment their code.

ওয়েব অ্যাপ্লিকেশনগুলির বিকাশের সময়, বিকাশকারীরা তাদের কোডে মন্তব্য করবে।


This is very useful during this phase, as it helps with understanding the code and will serve as useful reminders for various reasons.

এই পর্যায়ে এটি খুবই উপযোগী, কারণ এটি কোড বুঝতে সাহায্য করে এবং বিভিন্ন কারণে দরকারী অনুস্মারক হিসাবে কাজ করবে।


However, when the web application is ready to be deployed in a production environment, it is best practice to remove all these comments as they may prove useful to an attacker.

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


This recipe will use a combination of Requests and BeautifulSoup in order to search a URL for comments, as well as searching for links on the page and searching those subsequent URLs for comments as well.

এই রেসিপিটি মন্তব্যের জন্য একটি URL অনুসন্ধান করতে, সেইসাথে পৃষ্ঠায় লিঙ্কগুলি অনুসন্ধান করতে এবং সেই পরবর্তী URLগুলিতে মন্তব্যগুলি অনুসন্ধান করতে অনুরোধ এবং বিউটিফুলসুপের সংমিশ্রণ ব্যবহার করবে।


The technique of following links from a page and analysing those URLs is known as spidering.

একটি পৃষ্ঠা থেকে লিঙ্কগুলি অনুসরণ করা এবং সেই URLগুলি বিশ্লেষণ করার কৌশলটিকে স্পাইডারিং হিসাবে পরিচিত।


The following script will scrape a URL for comments and links in the source code.

নিম্নলিখিত স্ক্রিপ্টটি সোর্স কোডে মন্তব্য এবং লিঙ্কগুলির জন্য একটি URL স্ক্র্যাপ করবে।


It will then also perform limited spidering and search linked URLs for comments.

এরপরে এটি সীমিত স্পাইডারিংও করবে এবং মন্তব্যের জন্য লিঙ্কযুক্ত URLগুলি অনুসন্ধান করবে।


After the initial import of the necessary modules and setting up of variables, the script first gets the source code of the target URL.

প্রয়োজনীয় মডিউলগুলির প্রাথমিক আমদানি এবং ভেরিয়েবল সেট আপ করার পরে, স্ক্রিপ্টটি প্রথমে টার্গেট URL-এর সোর্স কোড পায়।


You may have noticed that for Beautifulsoup, we have the following line: from bs4 import BeautifulSoup This is so that when we use BeautifulSoup, we just have to type BeautifulSoup instead of bs4. BeautifulSoup.

আপনি লক্ষ্য করেছেন যে বিউটিফুলসুপের জন্য, আমাদের নিম্নলিখিত লাইন আছে: bs4 থেকে আমদানি করুন বিউটিফুলসুপ এটি যাতে আমরা যখন বিউটিফুলসুপ ব্যবহার করি, তখন আমাদের bs4 এর পরিবর্তে কেবল বিউটিফুলসুপ টাইপ করতে হয়। বিউটিফুলসুপ।


It then searches for all instances of HTML comments and prints them out.

এরপরে এটি HTML মন্তব্যের সমস্ত উদাহরণ অনুসন্ধান করে এবং সেগুলি প্রিন্ট করে।


The script will then use Beautifulsoup in order to scrape the source code for any instances of absolute (starting with http) and relative (starting with /) links:

স্ক্রিপ্টটি তখন পরম (http দিয়ে শুরু) এবং আপেক্ষিক (/) লিঙ্কগুলির যেকোনো উদাহরণের জন্য সোর্স কোড স্ক্র্যাপ করতে বিউটিফুলসুপ ব্যবহার করবে:


Once the script has collated a list of URLs linked to from the page, it will then search each page for HTML comments.

স্ক্রিপ্টটি একবার পৃষ্ঠা থেকে লিঙ্ক করা URLগুলির একটি তালিকা তৈরি করলে, এটি প্রতিটি পৃষ্ঠায় HTML মন্তব্য অনুসন্ধান করবে।


This recipe shows a basic example of comment scraping and spidering.

এই রেসিপিটি মন্তব্য স্ক্র্যাপিং এবং স্পাইডারিংয়ের একটি মৌলিক উদাহরণ দেখায়।


To use Shodan's DNS resolver, we simply have to make a GET request to the Shodan DNS Resolver URL and pass it the domain (or domains) we are interested in.

শোদানের ডিএনএস সমাধানকারী ব্যবহার করার জন্য, আমাদের কেবল শোদানের ডিএনএস সমাধানকারীর URL-এ একটি GET অনুরোধ করতে হবে এবং আমরা যে ডোমেন (বা ডোমেনগুলি) নিয়ে আগ্রহী তা পাস করতে হবে।


The returned JSON data will be a dictionary of domains to IP addresses; as we only have one target in our case, we can simply pull out the IP address of our host using the target string as the key for the dictionary.

প্রত্যাবর্তিত JSON ডেটা ডোমেন থেকে আইপি ঠিকানাগুলির একটি অভিধান হবে; যেহেতু আমাদের ক্ষেত্রে শুধুমাত্র একটি লক্ষ্য আছে, আমরা কেবল অভিধানের কী হিসাবে লক্ষ্য স্ট্রিং ব্যবহার করে আমাদের হোস্টের আইপি ঠিকানাটি বের করতে পারি।


Now, we have the host's IP address, we can use the Shodan libraries host function to obtain information on our host.

এখন, আমাদের হোস্টের আইপি ঠিকানা আছে, আমরা আমাদের হোস্ট সম্পর্কে তথ্য পেতে শোদানের লাইব্রেরি হোস্ট ফাংশন ব্যবহার করতে পারি।


The returned JSON data contains a wealth of information about the host, though in our case we will just pull out the IP address, organization, and if possible the operating system that is running.

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


Then we will loop over all of the ports that were found to be open and their respective banners.

তারপরে আমরা খোলা পাওয়া সমস্ত পোর্ট এবং তাদের নিজ নিজ ব্যানারগুলির উপর লুপ করব।


The returned data may also contain potential Common Vulnerabilities and Exposures (CVE) numbers for vulnerabilities that Shodan thinks the server may be susceptible to.

প্রত্যাবর্তিত ডেটাতে সম্ভাব্য সাধারণ দুর্বলতা এবং এক্সপোজার (CVE) নম্বরও থাকতে পারে যা শোদানের মতে সার্ভারটির সংবেদনশীলতা থাকতে পারে।


This could be really beneficial to us, so we will iterate over the list of these (if there are any) and use another function from the Shodan library to get information on the exploit.

এটি আমাদের জন্য সত্যিই উপকারী হতে পারে, তাই আমরা এগুলির তালিকা (যদি থাকে) পুনরাবৃত্তি করব এবং শোদান লাইব্রেরি থেকে অন্য একটি ফাংশন ব্যবহার করে শোষণের তথ্য পাব।


That's it for our script. Try running it against your own server.

আমাদের স্ক্রিপ্টের জন্য এটুকুই। আপনার নিজের সার্ভারের বিরুদ্ধে এটি চালানোর চেষ্টা করুন।


Social media is a great way to gather information on a target company or person.

সোশ্যাল মিডিয়া একটি লক্ষ্য কোম্পানি বা ব্যক্তি সম্পর্কে তথ্য সংগ্রহের একটি দুর্দান্ত উপায়।


Here, we will be showing you how to script a Google+ API search to find contact information for a company within the Google+ social sites.

এখানে, আমরা আপনাকে দেখাব কিভাবে Google+ সামাজিক সাইটগুলির মধ্যে একটি কোম্পানির জন্য যোগাযোগের তথ্য খুঁজে বের করতে Google+ API অনুসন্ধান স্ক্রিপ্ট করতে হয়।


Getting ready Some Google APIs require authorization to access them, but if you have a Google account, getting the API key is easy.

প্রস্তুত হন কিছু Google API-এর অ্যাক্সেসের জন্য অনুমোদনের প্রয়োজন, কিন্তু আপনার যদি একটি Google অ্যাকাউন্ট থাকে, তাহলে API কী পাওয়া সহজ।


Just go to https://console.developers.google.com and create a new project.

শুধু https://console.developers.google.com-এ যান এবং একটি নতুন প্রকল্প তৈরি করুন।


Click on API & auth | Credentials. Click on Create new key and Server key.

API ও প্রমাণীকরণ-এ ক্লিক করুন | প্রমাণপত্রাদি। নতুন কী তৈরি করুন এবং সার্ভার কী-তে ক্লিক করুন।


Your API key will be displayed and ready to copy and paste into the following recipe.

আপনার API কী প্রদর্শিত হবে এবং নিম্নলিখিত রেসিপিতে কপি ও পেস্ট করার জন্য প্রস্তুত হবে।


Here's a simple script to query the Google+ API:

Google+ API অনুসন্ধান করার জন্য এখানে একটি সাধারণ স্ক্রিপ্ট:


The preceding code makes a request to the Google+ search API (authenticated with your API key) and searches for accounts matching the target; packtpub.com.

পূর্ববর্তী কোডটি Google+ অনুসন্ধান API-তে একটি অনুরোধ করে (আপনার API কী দিয়ে প্রমাণীকৃত) এবং লক্ষ্যটির সাথে মিলে যাওয়া অ্যাকাউন্টগুলির জন্য অনুসন্ধান করে; packtpub.com।


Similarly to the preceding Shodan script, we set up our static strings including the API key and target:

পূর্ববর্তী শোদান স্ক্রিপ্টের মতোই, আমরা আমাদের স্ট্যাটিক স্ট্রিংগুলি সেট আপ করি যার মধ্যে API কী এবং লক্ষ্য অন্তর্ভুক্ত রয়েছে:


The next step does two things: first, it sends the HTTP GET request to the API server, then it reads in the response and stores the output into an api_response variable:

পরবর্তী ধাপে দুটি জিনিস করা হয়: প্রথমত, এটি API সার্ভারে HTTP GET অনুরোধ পাঠায়, তারপর এটি প্রতিক্রিয়াটি পড়ে এবং আউটপুটটিকে একটি api_response ভেরিয়েবলে সংরক্ষণ করে:


This request returns a JSON formatted response; an example snippet of the results is shown here:

এই অনুরোধটি একটি JSON ফর্ম্যাট করা প্রতিক্রিয়া প্রদান করে; ফলাফলের একটি উদাহরণ এখানে দেখানো হয়েছে:


In our script, we convert the response into a list so it's easier to parse:

আমাদের স্ক্রিপ্টে, আমরা প্রতিক্রিয়াটিকে একটি তালিকায় রূপান্তর করি যাতে এটি পার্স করা সহজ হয়:


The script checks for the X-FRAME-OPTIONS header to prevent clickjacking.

স্ক্রিপ্টটি ক্লিকজ্যাকিং প্রতিরোধ করতে X-FRAME-OPTIONS হেডার পরীক্ষা করে।


Clickjacking tricks users into performing actions on a website without their knowledge.

ক্লিকজ্যাকিং ব্যবহারকারীদের অজান্তে একটি ওয়েবসাইটে কাজ করতে প্ররোচিত করে।


Websites can prevent clickjacking by setting the X-FRAME-OPTIONS header.

ওয়েবসাইটগুলি X-FRAME-OPTIONS হেডার সেট করে ক্লিকজ্যাকিং প্রতিরোধ করতে পারে।


The script creates an iframe to test if the target site can be loaded.

স্ক্রিপ্টটি লক্ষ্য সাইটটি লোড করা যায় কিনা তা পরীক্ষা করার জন্য একটি আইফ্রেম তৈরি করে।


If the site is vulnerable, it can be rendered inside a hidden iframe.

যদি সাইটটি দুর্বল হয়, তবে এটি একটি লুকানো আইফ্রেমের ভিতরে রেন্ডার করা যেতে পারে।


The script checks for framebusting techniques to detect clickjacking attempts.

ক্লিকজ্যাকিং প্রচেষ্টা সনাক্ত করতে স্ক্রিপ্টটি ফ্রেমবস্টিং কৌশলগুলি পরীক্ষা করে।


User agent spoofing can reveal different content based on the browser.

ব্যবহারকারী এজেন্ট স্পুফিং ব্রাউজারের উপর ভিত্তি করে বিভিন্ন বিষয়বস্তু প্রকাশ করতে পারে।


The script spoofs user agents to uncover alternative content on a website.

একটি ওয়েবসাইটে বিকল্প বিষয়বস্তু উন্মোচন করতে স্ক্রিপ্টটি ব্যবহারকারী এজেন্টদের স্পুফ করে।


Different user agents can lead to different content being displayed.

বিভিন্ন ব্যবহারকারী এজেন্ট বিভিন্ন বিষয়বস্তু প্রদর্শনের দিকে নিয়ে যেতে পারে।


The script compares the content retrieved with different user agents.

স্ক্রিপ্টটি বিভিন্ন ব্যবহারকারী এজেন্টদের সাথে পুনরুদ্ধার করা বিষয়বস্তু তুলনা করে।


Insecure cookie flags can pose security risks.

নিরাপদ নয় এমন কুকি ফ্ল্যাগ নিরাপত্তা ঝুঁকি তৈরি করতে পারে।


The script checks for secure and HTTPOnly flags in cookies.

স্ক্রিপ্ট কুকিগুলিতে সুরক্ষিত এবং HTTPOnly ফ্ল্যাগগুলির জন্য পরীক্ষা করে।


The Secure flag ensures cookies are only sent over HTTPS.

সিকিউর ফ্ল্যাগ নিশ্চিত করে যে কুকিগুলি শুধুমাত্র HTTPS এর মাধ্যমে পাঠানো হয়।


The HTTPOnly flag prevents JavaScript from accessing the cookie.

HTTPOnly ফ্ল্যাগ জাভাস্ক্রিপ্টকে কুকি অ্যাক্সেস করা থেকে বাধা দেয়।


Session fixation exploits the reuse of a session ID.

সেশন ফিক্সেশন একটি সেশন আইডি পুনরায় ব্যবহারের সুযোগ নেয়।


The attacker forces the victim to use a specific session ID.

আক্রমণকারী ভিকটিমকে একটি নির্দিষ্ট সেশন আইডি ব্যবহার করতে বাধ্য করে।


The script tests for session fixation through cookie injection.

স্ক্রিপ্ট কুকি ইনজেকশনের মাধ্যমে সেশন ফিক্সেশন পরীক্ষা করে।


Steganography is the art of hiding data in plain sight.

স্টেগানোগ্রাফি হল চোখের সামনে ডেটা লুকানোর শিল্প।


LSB steganography hides data by modifying the least significant bit.

LSB স্টেগানোগ্রাফি সবচেয়ে কম গুরুত্বপূর্ণ বিট পরিবর্তন করে ডেটা লুকায়।


The script hides an image within another image using LSB.

স্ক্রিপ্টটি LSB ব্যবহার করে অন্য একটি চিত্রের মধ্যে একটি চিত্র লুকায়।


The script is as follows: import requests times = [] print “Kicking off the attempt”

স্ক্রিপ্টটি নিম্নরূপ: ইম্পোর্ট অনুরোধের সময় = [] প্রিন্ট “চেষ্টা শুরু হচ্ছে”


We set our payload up in a dictionary along with a submit button.

আমরা একটি সাবমিট বোতামের সাথে একটি অভিধানে আমাদের পেলোড সেট আপ করি।


The attack string is simple enough to understand with some explanation.

কিছু ব্যাখ্যা সহ আক্রমণ স্ট্রিংটি বোঝা যথেষ্ট সহজ।


We then tell the server to sleep for one second for every character in the first row in the password column.

তারপরে আমরা সার্ভারকে পাসওয়ার্ড কলামের প্রথম সারির প্রতিটি অক্ষরের জন্য এক সেকেন্ডের জন্য ঘুমোতে বলি।


We make a similar payload as before, but this time we are saying sleep for the ascii value of X character of the password in the password column, row one.

আমরা আগের মতোই একটি পেলোড তৈরি করি, তবে এইবার আমরা বলছি পাসওয়ার্ড কলামের পাসওয়ার্ডের X অক্ষরের ASCII মানের জন্য ঘুমোতে, সারি এক।


We submit our data each time for each character place in the string:

আমরা স্ট্রিংয়ের প্রতিটি অক্ষরের স্থানের জন্য প্রতিবার আমাদের ডেটা জমা দিই:


We take the response time from each request to record how long the server sleeps and then convert that time back from an ascii value into a letter:

আমরা সার্ভার কতক্ষণ ঘুমায় তা রেকর্ড করতে প্রতিটি অনুরোধ থেকে প্রতিক্রিয়ার সময় নিই এবং তারপরে সেই সময়টিকে একটি ASCII মান থেকে একটি অক্ষরে রূপান্তর করি:


For each iteration, we print out the password as it is currently known and then eventually print out the full password:

প্রতিটি পুনরাবৃত্তির জন্য, আমরা পাসওয়ার্ডটি মুদ্রণ করি যেমনটি বর্তমানে পরিচিত এবং তারপরে অবশেষে সম্পূর্ণ পাসওয়ার্ডটি মুদ্রণ করি:


This script provides a framework that can be adapted to many different scenarios.

এই স্ক্রিপ্টটি একটি কাঠামো সরবরাহ করে যা বিভিন্ন পরিস্থিতিতে মানিয়ে নেওয়া যেতে পারে।


Wechall, the web app challenge website, sets a time-limited, Blind SQLi challenge that has to be completed in a very short time period.

ওয়েব অ্যাপ চ্যালেঞ্জ ওয়েবসাইট Wechall একটি সময়-সীমিত, ব্লাইন্ড SQLi চ্যালেঞ্জ সেট করে যা খুব অল্প সময়ের মধ্যে সম্পন্ন করতে হবে।


Encoding payloads One method of halting SQL Injection is filtering through either server side text manipulation or Web App Firewalls (WAFs).

পেলোড এনকোড করা SQL ইনজেকশন বন্ধ করার একটি পদ্ধতি হল সার্ভার সাইড টেক্সট ম্যানিপুলেশন বা ওয়েব অ্যাপ ফায়ারওয়াল (WAFs) এর মাধ্যমে ফিল্টার করা।


These systems target specific phrases commonly associated with attacks such as SELECT, AND, OR, and spaces.

এই সিস্টেমগুলি নির্দিষ্ট শব্দগুচ্ছকে লক্ষ্য করে যা সাধারণত SELECT, AND, OR এবং স্পেসের মতো আক্রমণের সাথে যুক্ত।


We will create a script that takes attack strings, looks for potentially escaped strings, and provides alternative attack strings.

আমরা এমন একটি স্ক্রিপ্ট তৈরি করব যা আক্রমণ স্ট্রিং নেয়, সম্ভাব্য পালানো স্ট্রিংগুলি অনুসন্ধান করে এবং বিকল্প আক্রমণ স্ট্রিং সরবরাহ করে।


This script requires no libraries! How shocking!

এই স্ক্রিপ্টের জন্য কোন লাইব্রেরির প্রয়োজন নেই! কি আশ্চর্যের!


We create an empty list for the values that we are about to create and dictionary of the substitute values that we intend to add.

আমরা যে মানগুলি তৈরি করতে যাচ্ছি তার জন্য একটি খালি তালিকা এবং আমরা যে প্রতিস্থাপন মানগুলি যোগ করতে চাই তার অভিধান তৈরি করি।


I've put five example values in. Spaces and %20 are commonly escaped by WAFs as URLs tend to not include spaces unless something inappropriate is being requested.

আমি পাঁচটি উদাহরণ মান রেখেছি। স্পেস এবং %20 সাধারণত WAFs দ্বারা এড়িয়ে যাওয়া হয় কারণ URL-এ স্পেস অন্তর্ভুক্ত করার প্রবণতা থাকে না যদি না কিছু অনুপযুক্ত অনুরোধ করা হয়।


More specifically, tuned systems may escape SQL specific words such as SELECT, AND, and OR.

আরও নির্দিষ্টভাবে, টিউন করা সিস্টেমগুলি SELECT, AND, এবং OR-এর মতো SQL নির্দিষ্ট শব্দগুলি এড়িয়ে যেতে পারে।


I've hardcoded the original string as an example, so we can see how it works.

আমি উদাহরণস্বরূপ মূল স্ট্রিংটি হার্ডকোড করেছি, যাতে আমরা দেখতে পারি এটি কীভাবে কাজ করে।


We create a second version of the original string, so that we can create a cumulative result and a standalone result for each substitution:

আমরা মূল স্ট্রিংটির দ্বিতীয় সংস্করণ তৈরি করি, যাতে আমরা প্রতিটি প্রতিস্থাপনের জন্য একটি ক্রমবর্ধমান ফলাফল এবং একটি স্বতন্ত্র ফলাফল তৈরি করতে পারি:


In this chapter, we will cover the following topics: fTesting HTTP methods fFingerprinting servers through HTTP headers

এই অধ্যায়ে, আমরা নিম্নলিখিত বিষয়গুলি কভার করব: fপরীক্ষা HTTP পদ্ধতি fHTTP শিরোনামের মাধ্যমে সার্ভারগুলির ফিঙ্গারপ্রিন্টিং


The MD5 hash is commonly used in web applications.

MD5 হ্যাশ ওয়েব অ্যাপ্লিকেশনগুলিতে সাধারণত ব্যবহৃত হয়।


Generating an MD5 hash within Python is extremely simple.

পাইথনের মধ্যে একটি MD5 হ্যাশ তৈরি করা অত্যন্ত সহজ।


We need to define the module to import and then decide which string we want to hash.

আমাদের আমদানি করার জন্য মডিউলটি সংজ্ঞায়িত করতে হবে এবং তারপরে সিদ্ধান্ত নিতে হবে যে আমরা কোন স্ট্রিংটি হ্যাশ করতে চাই।


Instead, we use the raw_input feature in Python to ask the user for a string.

পরিবর্তে, আমরা ব্যবহারকারীকে একটি স্ট্রিং জিজ্ঞাসা করার জন্য পাইথনে raw_input বৈশিষ্ট্যটি ব্যবহার করি।


The hashlib module does the bulk of the work for us behind the scenes.

hashlib মডিউলটি আমাদের জন্য পর্দার আড়ালে বেশিরভাগ কাজ করে।


Hashlib is a giant library that enables users to hash MD5, SHA1, SHA256, and SHA512.

Hashlib একটি বিশাল লাইব্রেরি যা ব্যবহারকারীদের MD5, SHA1, SHA256, এবং SHA512 হ্যাশ করতে সক্ষম করে।


We then need the string that we wish to MD5 encode.

এরপরে আমাদের সেই স্ট্রিংটির প্রয়োজন যা আমরা MD5 এনকোড করতে চাই।


Generating SHA hashes within Python is also extremely simple by using the imported module.

আমদানি করা মডিউলটি ব্যবহার করে পাইথনের মধ্যে SHA হ্যাশ তৈরি করাও অত্যন্ত সহজ।


With simple tweaks, we can change whether we would like to generate an SHA1, SHA128, or SHA256 hash.

সাধারণ পরিবর্তনের মাধ্যমে, আমরা SHA1, SHA128, বা SHA256 হ্যাশ তৈরি করতে চাই কিনা তা পরিবর্তন করতে পারি।


We can utilize the features within the module.

আমরা মডিউলের বৈশিষ্ট্যগুলি ব্যবহার করতে পারি।


We start by importing the module by using: import hashlib

আমরা এই ব্যবহার করে মডিউলটি আমদানি করে শুরু করি: import hashlib


We then need to prompt for the string to encode using SHA.

এরপরে আমাদের SHA ব্যবহার করে এনকোড করার জন্য স্ট্রিংটির জন্য অনুরোধ করতে হবে।


We ask the user for input rather than using hard-coding, so that the script can be used over and over again.

আমরা হার্ড-কোডিং ব্যবহার করার পরিবর্তে ব্যবহারকারীর কাছ থেকে ইনপুট চাই, যাতে স্ক্রিপ্টটি বারবার ব্যবহার করা যায়।


We are going to tie everything previously done together to form one big script.

আমরা পূর্বে করা সবকিছু একসাথে বেঁধে একটি বড় স্ক্রিপ্ট তৈরি করতে যাচ্ছি।


This will output three versions of SHA hashes and also an MD5 hash.

এটি SHA হ্যাশের তিনটি সংস্করণ এবং একটি MD5 হ্যাশ আউটপুট করবে।


We need to receive the user input that we wish to turn into an encoded string.

আমাদের ব্যবহারকারীর ইনপুট গ্রহণ করতে হবে যা আমরা একটি এনকোডেড স্ট্রিংয়ে পরিণত করতে চাই।


From here, we can start sending the string through all of the different encoding methods.

এখান থেকে, আমরা স্ট্রিংটিকে বিভিন্ন এনকোডিং পদ্ধতির মাধ্যমে পাঠানো শুরু করতে পারি।


We will be implementing an SHA256 encoding scheme and generating a salt to make it even more secure.

আমরা একটি SHA256 এনকোডিং স্কিম প্রয়োগ করব এবং এটিকে আরও সুরক্ষিত করতে একটি সল্ট তৈরি করব।


We start by creating a salt, using the uuid library.

আমরা uuid লাইব্রেরি ব্যবহার করে একটি সল্ট তৈরি করে শুরু করি।


This is what is going to confirm our original password is the same as the second one.

এটি আমাদের মূল পাসওয়ার্ডটি দ্বিতীয়টির মতো একই কিনা তা নিশ্চিত করতে যাচ্ছে।


To extract the LSB from the Red value of a pixel, we use a bitwise mask.

একটি পিক্সেলের লাল মান থেকে LSB বের করার জন্য, আমরা একটি বিটওয়াইজ মাস্ক ব্যবহার করি।


If we use a bitwise AND with the Red value using a mask of 1, we will get a 0 returned if the LSB was 0, and 1 returned if it was 1.

যদি আমরা ১ এর মাস্ক ব্যবহার করে লাল মানের সাথে বিটওয়াইজ AND ব্যবহার করি, তাহলে LSB ০ হলে ০ এবং ১ হলে ১ ফেরত পাব।


So, we can put that into an if statement to create the values for our new array.

সুতরাং, আমরা আমাদের নতুন অ্যারের জন্য মান তৈরি করতে একটি if স্টেটমেন্টে এটি রাখতে পারি।


As we are creating a grayscale image, the pixel values range from 0 to 255.

যেহেতু আমরা একটি গ্রেস্কেল ছবি তৈরি করছি, তাই পিক্সেল মানগুলি ০ থেকে ২৫৫ পর্যন্ত বিস্তৃত।


ব্যাপারটা আসলে এমনই।


All that's left to do is to use our new images putdata method to create the image from the array and then save.

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


So far, we've looked at hiding one image within another, but there are many other ways of hiding different data within other carriers.

এখন পর্যন্ত, আমরা একটি ছবির ভিতরে অন্য একটি ছবি লুকানো দেখেছি, তবে অন্যান্য ক্যারিয়ারের মধ্যে বিভিন্ন ডেটা লুকানোর আরও অনেক উপায় রয়েছে।


The next recipe will focus on hiding actual text within an image.

পরের রেসিপিটি একটি ছবির মধ্যে আসল টেক্সট লুকানোর উপর দৃষ্টি নিবদ্ধ করবে।


This is all well and good, but our main aim of this chapter is to pass text that we can use in a command and control style format.

এসব ভালো, তবে এই অধ্যায়ের মূল লক্ষ্য হল এমন টেক্সট পাস করা যা আমরা কমান্ড এবং কন্ট্রোল স্টাইলে ব্যবহার করতে পারি।


The aim of this recipe is to hide some text within an image.

এই রেসিপির লক্ষ্য হল একটি ছবির মধ্যে কিছু টেক্সট লুকানো।


In PNGs, we can access another value, the A value.

PNG-তে, আমরা অন্য একটি মান অ্যাক্সেস করতে পারি, A মান।


The A value of RGBA is the transparency level of that pixel.

RGBA-এর A মান হল সেই পিক্সেলের স্বচ্ছতা স্তর।


This means that we can hide a single char value across two pixels.

এর মানে হল আমরা দুটি পিক্সেলের মধ্যে একটি একক অক্ষর মান লুকাতে পারি।


আসুন স্ক্রিপ্টটি দেখি:


We are using a bitmask to set the LSB-based on whether the binary value we pass in is either a 1 or 0.

আমরা একটি বিটমাস্ক ব্যবহার করছি LSB সেট করতে, আমরা যে বাইনারি মানটি পাস করি তা ১ বা ০ কিনা তার উপর ভিত্তি করে।


If it's a 0, we use the bitwise AND with a mask of 254 (11111110), and if it's a 1, we bitwise OR with a mask of 1 (00000001).

যদি এটি ০ হয়, তবে আমরা ২৫৪ (১১১১১১১০) এর মাস্কের সাথে বিটওয়াইজ AND ব্যবহার করি এবং যদি এটি ১ হয়, তবে আমরা ১ (০০০০০০০১) এর মাস্কের সাথে বিটওয়াইজ OR করি।


The resulting value is returned from our function.

ফলাফলস্বরূপ মানটি আমাদের ফাংশন থেকে ফিরে আসে।


Next up, we create our main Hide_message method that takes three parameters: the filename for our carrier image, a string for the message we want to hide, and finally, the filename of the image we will create for the output:

এর পরে, আমরা আমাদের প্রধান Hide_message পদ্ধতি তৈরি করি যা তিনটি প্যারামিটার নেয়: আমাদের ক্যারিয়ার ইমেজের ফাইলের নাম, আমরা যে বার্তাটি লুকাতে চাই তার জন্য একটি স্ট্রিং এবং অবশেষে, আমরা আউটপুটের জন্য যে ইমেজ তৈরি করব তার ফাইলের নাম:


The next line of code adds the value of 0x00 to the end of our string.

কোডের পরবর্তী লাইনটি আমাদের স্ট্রিংয়ের শেষে 0x00 এর মান যোগ করে।


This will be important in the extraction function as it will let us know that we've reached the end of the hidden text.

এটি নিষ্কাশন ফাংশনে গুরুত্বপূর্ণ হবে কারণ এটি আমাদের জানতে দেবে যে আমরা লুকানো টেক্সটের শেষে পৌঁছেছি।


The script uses the industry standard XOR python.

এই স্ক্রিপ্টটি শিল্প মান XOR পাইথন ব্যবহার করে।


We open a file with the XORed values in them and split it by lines.

আমরা XOR করা মানগুলির সাথে একটি ফাইল খুলি এবং এটিকে লাইন দ্বারা বিভক্ত করি।


This function equates two strings to the same length and XOR them together.

এই ফাংশনটি দুটি স্ট্রিংকে একই দৈর্ঘ্যের সাথে সমান করে এবং সেগুলিকে XOR করে।


We then run through all ascii values three times to get all the combinations from aaa to zzz.

তারপরে আমরা aaa থেকে zzz পর্যন্ত সমস্ত সংমিশ্রণ পেতে সমস্ত ASCII মান তিনবার চালাই।


We assign the value of the ascii loops to the key each time.

আমরা প্রতিবার কী-তে ASCII লুপগুলির মান নির্ধারণ করি।


We then encrypt the line with the generated key and print it out.

তারপরে আমরা উৎপন্ন কী দিয়ে লাইনটি এনক্রিপ্ট করি এবং এটি প্রিন্ট করি।


We can pipe this a file with ease, as we've shown throughout the book already.

আমরা সহজেই এটি একটি ফাইলে পাইপ করতে পারি, যেমনটি আমরা ইতিমধ্যে বইটিতে দেখিয়েছি।


LCGs are used in web applications to create quick and easy pseudo-random numbers.

ওয়েব অ্যাপ্লিকেশনগুলিতে দ্রুত এবং সহজে সিউডো-র্যান্ডম নম্বর তৈরি করতে LCG ব্যবহার করা হয়।


They are by nature broken and can be easily made to be predictable with enough data.

এগুলি প্রকৃতিগতভাবে ভাঙা এবং পর্যাপ্ত ডেটা দিয়ে সহজেই অনুমানযোগ্য করা যেতে পারে।


The algorithm for an LCG is: () 1nn XaXcmodm + =+

একটি LCG-এর অ্যালগরিদম হল: () 1nn XaXcmodm + =+


If any data is leaked, such as the multiplier, modulus, and increment in this example, it is possible to calculate the seed and thus the next values.

যদি কোনো ডেটা ফাঁস হয়, যেমন এই উদাহরণে গুণক, মডুলাস এবং বৃদ্ধি, তাহলে বীজ এবং সেইজন্য পরবর্তী মানগুলি গণনা করা সম্ভব।


The situation here is where an application is generating random 2-digit numbers and returning them to you.

এখানে পরিস্থিতি হল যেখানে একটি অ্যাপ্লিকেশন এলোমেলো ২-সংখ্যার সংখ্যা তৈরি করছে এবং সেগুলি আপনাকে ফেরত পাঠাচ্ছে।


You have the multiplier, modulus, and increment.

আপনার কাছে গুণক, মডুলাস এবং বৃদ্ধি আছে।


We set our three values, the increment, the multiplier, and the modulo as C, A, and M respectively.

আমরা আমাদের তিনটি মান, বৃদ্ধি, গুণক এবং মডুলাসকে যথাক্রমে C, A এবং M হিসাবে সেট করি।


We then declare the range for the possible size of the seed, which in this case would be between one and eight digits long.

তারপরে আমরা বীজের সম্ভাব্য আকারের জন্য পরিসীমা ঘোষণা করি, যা এই ক্ষেত্রে এক থেকে আট অঙ্কের মধ্যে হবে।


We then perform our first LCG transformation and generate possible values with the first value taken from the web page marked highlighted in the following example:

তারপরে আমরা আমাদের প্রথম LCG রূপান্তর করি এবং নিম্নলিখিত উদাহরণে চিহ্নিত ওয়েব পৃষ্ঠা থেকে নেওয়া প্রথম মান সহ সম্ভাব্য মান তৈরি করি:


We take the second value generated by the web page and check the outcome of this transform against that:

আমরা ওয়েব পৃষ্ঠা দ্বারা উত্পন্ন দ্বিতীয় মানটি নিই এবং এটির বিরুদ্ধে এই রূপান্তরের ফলাফল পরীক্ষা করি:


If it works, we then perform the next transform with the numbers that matched the first transform:

যদি এটি কাজ করে, তাহলে আমরা প্রথম রূপান্তরের সাথে মিলে যাওয়া সংখ্যাগুলির সাথে পরবর্তী রূপান্তর করি:


We repeat this process 10 times here, but it can be reproduced as many times as necessary until we find an output that has matched all the numbers so far.

আমরা এখানে এই প্রক্রিয়াটি ১০ বার পুনরাবৃত্তি করি, তবে যতক্ষণ না আমরা এমন একটি আউটপুট খুঁজে পাই যা এখন পর্যন্ত সমস্ত সংখ্যার সাথে মিলেছে ততক্ষণ এটি প্রয়োজনীয় সংখ্যক বার পুনরুৎপাদন করা যেতে পারে।


আমরা সেই নম্বর সহ একটি সতর্কতা প্রিন্ট করি।


The book covers topics like scripting (XSS) and data extraction through HTTP requests.

বইটিতে স্ক্রিপ্টিং (XSS) এবং HTTP অনুরোধের মাধ্যমে ডেটা নিষ্কাশনের মতো বিষয়গুলি অন্তর্ভুক্ত করা হয়েছে।


It also discusses Direct Object Reference (DOR) and e-mail address generation.

এটি ডাইরেক্ট অবজেক্ট রেফারেন্স (DOR) এবং ই-মেইল ঠিকানা তৈরি নিয়েও আলোচনা করে।


The book explains how to extract e-mails to Maltego and enumerate files.

বইটিতে কিভাবে ম্যালটেগোতে ই-মেইল বের করতে হয় এবং ফাইল গণনা করতে হয় তা ব্যাখ্যা করা হয়েছে।


Creating an FTP C2 and using the Google+ API for profile picture downloads are also covered.

একটি FTP C2 তৈরি করা এবং প্রোফাইল ছবি ডাউনলোডের জন্য Google+ API ব্যবহার করাও আলোচনা করা হয়েছে।


The book delves into Google+ API search scripting and graph generation using plot.ly.

বইটিতে Google+ API অনুসন্ধান স্ক্রিপ্টিং এবং plot.ly ব্যবহার করে গ্রাফ তৈরি করার বিষয়ে বিস্তারিত আলোচনা করা হয়েছে।


Identifying hashes and testing for insecure cookie flags are important.

হ্যাশ সনাক্তকরণ এবং অনিরাপদ কুকি ফ্ল্যাগগুলির পরীক্ষা করা গুরুত্বপূর্ণ।


The book also covers header-based cross-site scripting and HTTP C2 creation.

বইটিতে হেডার-ভিত্তিক ক্রস-সাইট স্ক্রিপ্টিং এবং HTTP C2 তৈরি করার বিষয়েও আলোচনা করা হয়েছে।


Testing HTTP methods and fingerprinting servers through HTTP headers are key.

HTTP পদ্ধতি পরীক্ষা করা এবং HTTP হেডারগুলির মাধ্যমে সার্ভারগুলির ফিঙ্গারপ্রিন্টিং করা গুরুত্বপূর্ণ।


The book explains how to obtain information using the Shodan API.

বইটিতে Shodan API ব্যবহার করে কিভাবে তথ্য সংগ্রহ করতে হয় তা ব্যাখ্যা করা হয়েছে।


It also discusses insecure header testing and the use of ICMP packets.

বইটিতে অনিরাপদ হেডার পরীক্ষা এবং ICMP প্যাকেটগুলির ব্যবহার নিয়েও আলোচনা করা হয়েছে।


The book covers topics like jitter checking and the use of jQuery.

বইটিতে জিটার পরীক্ষা এবং jQuery ব্যবহার করার মতো বিষয়গুলি অন্তর্ভুক্ত করা হয়েছে।


Predicting linear congruential generators and extracting links from URLs to Maltego are also discussed.

লিনিয়ার কংগ্রুয়েনশিয়াল জেনারেটরগুলির পূর্বাভাস দেওয়া এবং URL থেকে ম্যালটেগোতে লিঙ্কগুলি বের করার বিষয়েও আলোচনা করা হয়েছে।


The book explains LSB steganography for hiding messages.

বইটিতে বার্তা লুকানোর জন্য LSB স্টীগানোগ্রাফি ব্যাখ্যা করা হয়েছে।


It also covers Maltego for extracting e-mails and links.

এটি ই-মেইল এবং লিঙ্কগুলি বের করার জন্য ম্যালটেগো ব্যবহারের বিষয়েও আলোচনা করে।


The book discusses MD5 hash cracking and generating.

বইটিতে MD5 হ্যাশ ক্র্যাকিং এবং তৈরি করার বিষয়ে আলোচনা করা হয়েছে।


It also covers SHA hash generation and implementing SHA in real-world scenarios.

এটি SHA হ্যাশ তৈরি এবং বাস্তব-বিশ্বের পরিস্থিতিতে SHA প্রয়োগ করার বিষয়েও আলোচনা করে।


The book explains one-time pad reuse attacks.

বইটিতে ওয়ান-টাইম প্যাড পুনরায় ব্যবহারের আক্রমণ সম্পর্কে ব্যাখ্যা করা হয়েছে।


It also covers payloads encoding and the use of WAFs.

এটি পেলোড এনকোডিং এবং WAFs ব্যবহারের বিষয়েও আলোচনা করে।


The book discusses websites spidering and obtaining website screenshots.

বইটিতে ওয়েবসাইট স্পাইডারিং এবং ওয়েবসাইটের স্ক্রিনশট পাওয়ার বিষয়ে আলোচনা করা হয়েছে।


The book provides information on various penetration testing techniques.

বইটিতে বিভিন্ন অনুপ্রবেশ পরীক্ষার কৌশল সম্পর্কে তথ্য দেওয়া হয়েছে।


The script connects to Twitter and reads tweets.

স্ক্রিপ্টটি টুইটারের সাথে সংযোগ স্থাপন করে এবং টুইটগুলি পাঠ করে।


We will create a script that connects to Twitter, reads tweets, performs commands based on those tweets, encrypts the response data, and posts it to Twitter.

আমরা এমন একটি স্ক্রিপ্ট তৈরি করব যা টুইটারের সাথে সংযোগ স্থাপন করবে, টুইটগুলি পড়বে, সেই টুইটগুলির উপর ভিত্তি করে কমান্ডগুলি সম্পাদন করবে, প্রতিক্রিয়া ডেটা এনক্রিপ্ট করবে এবং এটি টুইটারে পোস্ট করবে।


Getting Started For this, you will need a Twitter account with an API key.

শুরু করার জন্য, আপনার একটি API কী সহ একটি Twitter অ্যাকাউন্ট প্রয়োজন হবে।


আমরা যথারীতি আমাদের লাইব্রেরিগুলি আমদানি করি।


We assign them to variables and set up our connection to the Twitter API.

আমরা সেগুলিকে ভেরিয়েবলে নির্ধারণ করি এবং টুইটার API-এর সাথে আমাদের সংযোগ স্থাপন করি।


আমরা একটি অসীম লুপ সেট আপ করি।


We call the user timeline of the account that has been set up.

আমরা সেট আপ করা অ্যাকাউন্টের ব্যবহারকারীর টাইমলাইনকে কল করি।


It's important that this App has both read and write privileges for the Twitter account.

এটা গুরুত্বপূর্ণ যে এই অ্যাপটির টুইটার অ্যাকাউন্টের জন্য পড়া এবং লেখার উভয় সুবিধা রয়েছে।


We then take the last text of the most recent tweet.

তারপরে আমরা সবচেয়ে সাম্প্রতিক টুইটের শেষ টেক্সটটি নিই।


We need to encode it as UTF-8 as there are often characters that the normal encoding won't be able to handle.

আমাদের এটিকে UTF-8 হিসাবে এনকোড করতে হবে কারণ প্রায়শই এমন অক্ষর থাকে যা স্বাভাবিক এনকোডিং পরিচালনা করতে পারবে না।


We then take the oxt-last tweet to use as the key for our encryption.

তারপরে আমরা আমাদের এনক্রিপশনের জন্য কী হিসাবে ব্যবহার করার জন্য oxt-শেষ টুইটটি নিই।


We encode it as hex to avoid there being things like spaces matching with spaces.

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


We carry out the action by using the subprocess function.

আমরা সাবপ্রসেস ফাংশন ব্যবহার করে কাজটি করি।


We encrypt the output with preset up XORing encryption and encode it as base64.

আমরা প্রিসেট আপ XORing এনক্রিপশন দিয়ে আউটপুট এনক্রিপ্ট করি এবং এটিকে base64 হিসাবে এনকোড করি।


We split the encrypted and encoded response into 140 character chunks, to allow for the Twitter character cap.

টুইটার অক্ষর ক্যাপের জন্য অনুমতি দেওয়ার জন্য আমরা এনক্রিপ্ট করা এবং এনকোড করা প্রতিক্রিয়াটিকে 140 অক্ষরের অংশে বিভক্ত করি।


For each chunk, we create a Twitter status.

প্রতিটি অংশের জন্য, আমরা একটি টুইটার স্ট্যাটাস তৈরি করি।


Because each step requires two tweets, I've left an hour gap between each command check, but it's easy to change this for yourself.

যেহেতু প্রতিটি পদক্ষেপের জন্য দুটি টুইট প্রয়োজন, তাই আমি প্রতিটি কমান্ড পরীক্ষা করার মধ্যে এক ঘন্টার ব্যবধান রেখেছি, তবে এটি নিজের জন্য পরিবর্তন করা সহজ।


For the decoding, import the RC4 library, set your key tweet as the key, and put your reassembled base64 as the response.

ডিকোডিংয়ের জন্য, RC4 লাইব্রেরি আমদানি করুন, আপনার কী টুইটটিকে কী হিসাবে সেট করুন এবং আপনার পুনরায় একত্রিত base64-কে প্রতিক্রিয়া হিসাবে রাখুন।


Set up a new RC4 code with the key, decode the data from base64, and decrypt it with the key.

কী সহ একটি নতুন RC4 কোড সেট আপ করুন, base64 থেকে ডেটা ডিকোড করুন এবং কী দিয়ে এটি ডিক্রিপ্ট করুন।


একটি সাধারণ নেটক্যাট শেল তৈরি করা হচ্ছে