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.

फिर यह संस्करण की तुलना नवीनतम उपलब्ध संस्करण से करता है।


The script determines if jQuery is up to date.

यह स्क्रिप्ट निर्धारित करती है कि jQuery अद्यतित है या नहीं।


This script helps in identifying web vulnerabilities.

यह स्क्रिप्ट वेब कमजोरियों की पहचान करने में मदद करती है।


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

यह स्क्रिप्ट 'requests' और 'BeautifulSoup' जैसी लाइब्रेरी का उपयोग करती है।


यह स्क्रिप्ट टैग खोजने के लिए HTML को पार्स करती है।


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

यह स्क्रिप्ट टैग के 'src' एट्रीब्यूट को निकालती है।


It checks for 'jquery.min' in the script URLs.

यह स्क्रिप्ट यूआरएल में 'jquery.min' की जाँच करती है।


Regular expressions are used to find the version number.

नियमित अभिव्यक्तियों का उपयोग संस्करण संख्या खोजने के लिए किया जाता है।


The script compares the detected version with known versions.

यह स्क्रिप्ट पता लगाए गए संस्करण की तुलना ज्ञात संस्करणों से करती है।


If the version is outdated, it prints an 'Out of Date' message.

यदि संस्करण पुराना है, तो यह 'आउट ऑफ़ डेट' संदेश प्रिंट करता है।


The script can be extended to check other JavaScript libraries.

इस स्क्रिप्ट को अन्य जावास्क्रिप्ट लाइब्रेरी की जांच करने के लिए बढ़ाया जा सकता है।


It can be adapted to identify vulnerabilities in Django or Flask.

इसे Django या Flask में कमजोरियों की पहचान करने के लिए अनुकूलित किया जा सकता है।


The script analyzes headers for potential XSS attacks.

यह स्क्रिप्ट संभावित XSS हमलों के लिए हेडर का विश्लेषण करती है।


It submits XSS attack strings to various headers.

यह विभिन्न हेडर में XSS अटैक स्ट्रिंग सबमिट करता है।


यह स्क्रिप्ट XSS पेलोड की एक सूची का उपयोग करती है।


It makes a HEAD request to get the headers.

यह हेडर प्राप्त करने के लिए एक HEAD अनुरोध करता है।


The script then posts the payloads to the headers.

फिर स्क्रिप्ट पेलोड को हेडर पर पोस्ट करती है।


This approach helps in identifying header-based vulnerabilities.

यह दृष्टिकोण हेडर-आधारित कमजोरियों की पहचान करने में मदद करता है।


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

यह पुस्तक वेब एप्लिकेशन परीक्षण के लिए 60 से अधिक पायथन व्यंजनों को प्रदान करती है।


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

यह पुस्तक उन परीक्षकों के लिए है जो शक्तिशाली उपकरणों तक त्वरित पहुंच चाहते हैं।


Shodan is a search engine for internet-connected devices.

शोडान इंटरनेट से जुड़े उपकरणों के लिए एक खोज इंजन है।


You will need a laptop and an internet connection for most recipes.

आपको अधिकांश व्यंजनों के लिए एक लैपटॉप और इंटरनेट कनेक्शन की आवश्यकता होगी।


Open Source Intelligence (OSINT) is the process of gathering information from open sources.

ओपन सोर्स इंटेलिजेंस (OSINT) ओपन स्रोतों से जानकारी एकत्र करने की प्रक्रिया है।


Learning to use APIs and scripting these tasks can make the gathering phase a lot easier.

एपीआई का उपयोग करना और इन कार्यों को स्क्रिप्ट करना संग्रह चरण को बहुत आसान बना सकता है।


Shodan constantly scans the Internet and saves the results into a public database.

शोडान लगातार इंटरनेट को स्कैन करता है और परिणामों को एक सार्वजनिक डेटाबेस में सहेजता है।


The script retrieves the target's domain and resolves it to an IP address.

यह स्क्रिप्ट लक्ष्य के डोमेन को पुनः प्राप्त करती है और इसे एक आईपी पते पर हल करती है।


The book covers recipes for identifying potential vulnerabilities on websites.

यह पुस्तक वेबसाइटों पर संभावित कमजोरियों की पहचान करने के लिए व्यंजनों को शामिल करती है।


This chapter focuses on gathering information using the Shodan API.

यह अध्याय शोडन एपीआई का उपयोग करके जानकारी एकत्र करने पर केंद्रित है।


Penetration testing is a massive field, and the realms of Python are even bigger.

पेनेट्रेशन टेस्टिंग एक विशाल क्षेत्र है, और पायथन का क्षेत्र और भी बड़ा है।


The book provides scripts to make the reporting of vulnerabilities easier.

यह पुस्तक कमजोरियों की रिपोर्टिंग को आसान बनाने के लिए स्क्रिप्ट प्रदान करती है।


The Heartbleed bug allows remote attackers to obtain sensitive information.

हार्टब्लिड बग दूरस्थ हमलावरों को संवेदनशील जानकारी प्राप्त करने की अनुमति देता है।


The script uses the Shodan API to search for information about a target website.

यह स्क्रिप्ट एक लक्ष्य वेबसाइट के बारे में जानकारी खोजने के लिए शोडन एपीआई का उपयोग करती है।


The book aims to help you make these enormous fields a little more manageable.

पुस्तक का लक्ष्य आपको इन विशाल क्षेत्रों को थोड़ा और प्रबंधनीय बनाने में मदद करना है।


If you're a Python guru, you can look for ideas to apply your craft to penetration testing.

यदि आप एक पायथन गुरु हैं, तो आप अपनी कला को प्रवेश परीक्षण पर लागू करने के विचार खोज सकते हैं।


The book covers scripts that focus specifically on the collection, control, and alteration of headers on web applications.

यह पुस्तक उन स्क्रिप्ट को शामिल करती है जो विशेष रूप से वेब अनुप्रयोगों पर शीर्षकों के संग्रह, नियंत्रण और परिवर्तन पर केंद्रित हैं।


This book is for testers looking for quick access to powerful, modern tools and customizable scripts.

यह पुस्तक उन परीक्षकों के लिए है जो शक्तिशाली, आधुनिक उपकरणों और अनुकूलन योग्य स्क्रिप्ट तक त्वरित पहुंच चाहते हैं।


The instructions in this book are provided for usage in the context of formal penetration tests.

इस पुस्तक में दिए गए निर्देश औपचारिक प्रवेश परीक्षणों के संदर्भ में उपयोग के लिए प्रदान किए गए हैं।


The book also covers scripts that focus to make the reporting of vulnerabilities easier and a less painful process.

यह पुस्तक उन स्क्रिप्ट को भी शामिल करती है जो कमजोरियों की रिपोर्टिंग को आसान और कम दर्दनाक प्रक्रिया बनाने पर केंद्रित हैं।


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 then print out the list.

फिर स्क्रिप्ट सूची को प्रिंट करेगी।


Scapy is a powerful tool that can be used to determine which TCP ports are open on a target.

स्कैपी एक शक्तिशाली उपकरण है जिसका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि किसी लक्ष्य पर कौन से टीसीपी पोर्ट खुले हैं।


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

यह कमांड हमारे द्वारा बनाए गए पैकेट को भेजेगा और पहला पैकेट प्राप्त करेगा जो वापस भेजा गया है।


The script also checks to see whether the start and end of the port range are the same.

स्क्रिप्ट यह भी जांचती है कि पोर्ट रेंज की शुरुआत और अंत समान हैं या नहीं।


प्रत्येक वेब एप्लिकेशन अलग हो सकता है।


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.

खोज (str) का परिणाम एक सरल सत्य या असत्य नहीं देता है।


This recipe can be adapted to other situations.

इस नुस्खा को अन्य स्थितियों के लिए अनुकूलित किया जा सकता है।


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 command strips out whitespace, including newline characters, which can sometimes change the result of the encoding before being submitted.

यह कमांड व्हाइटस्पेस को हटा देता है, जिसमें न्यूलाइन कैरेक्टर भी शामिल हैं, जो कभी-कभी सबमिट करने से पहले एन्कोडिंग के परिणाम को बदल सकते हैं।


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

एक वेब एप्लिकेशन की गणना करते समय, आप यह निर्धारित करना चाहेंगे कि कौन से पृष्ठ मौजूद हैं।


This allows for the use of an extension that does or doesn't have the preceding . included, for example .php or php.

यह एक ऐसे एक्सटेंशन के उपयोग की अनुमति देता है जिसमें पूर्ववर्ती . शामिल है या नहीं, उदाहरण के लिए .php या php।


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

ब्रूट फोर्सिंग सबसे सुरुचिपूर्ण समाधान नहीं हो सकता है, लेकिन यह उस काम को स्वचालित कर देगा जो संभावित रूप से एक सांसारिक कार्य हो सकता है।


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 not found error) है, तो स्क्रिप्ट त्रुटि देगी और बाहर निकल जाएगी।


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 खोज करने के लिए अनुरोध और BeautifulSoup के संयोजन का उपयोग करेगा, साथ ही पृष्ठ पर लिंक खोजेगा और उन बाद के URL को भी टिप्पणियों के लिए खोजेगा।


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

एक पृष्ठ से लिंक का पालन करने और उन URL का विश्लेषण करने की तकनीक को स्पाइडरिंग के रूप में जाना जाता है।


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.

आपने देखा होगा कि Beautifulsoup के लिए, हमारे पास निम्नलिखित पंक्ति है: bs4 से आयात BeautifulSoup यह इसलिए है कि जब हम BeautifulSoup का उपयोग करते हैं, तो हमें bs4 के बजाय केवल BeautifulSoup टाइप करना होगा। BeautifulSoup।


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 से शुरू होने वाले) और सापेक्ष (/) से शुरू होने वाले) लिंक के किसी भी उदाहरण के लिए स्रोत कोड को स्क्रैप करने के लिए BeautifulSoup का उपयोग करेगी:


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.

यह नुस्खा टिप्पणी स्क्रैपिंग और स्पाइडरिंग का एक बुनियादी उदाहरण दिखाता है।


It is possible to add more intelligence to this recipe to suit your needs.

आपकी आवश्यकताओं के अनुरूप इस नुस्खा में अधिक बुद्धिमत्ता जोड़ना संभव है।


For instance, you may want to account for relative links that use start with . or .. to denote the current and parent directories.

उदाहरण के लिए, आप सापेक्ष लिंक के लिए हिसाब देना चाह सकते हैं जो वर्तमान और मूल निर्देशिकाओं को दर्शाने के लिए . या .. से शुरू होते हैं।


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.

शोडान के DNS रिज़ॉल्वर का उपयोग करने के लिए, हमें बस शोडान DNS रिज़ॉल्वर 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 डेटा डोमेन से IP पतों की एक डिक्शनरी होगा; चूंकि हमारे मामले में केवल एक लक्ष्य है, इसलिए हम डिक्शनरी के लिए कुंजी के रूप में लक्ष्य स्ट्रिंग का उपयोग करके अपने होस्ट का IP पता आसानी से निकाल सकते हैं।


If you were searching on multiple domains, you would probably want to iterate over this list to obtain all the IP addresses.

यदि आप कई डोमेन पर खोज कर रहे थे, तो आप शायद सभी IP पते प्राप्त करने के लिए इस सूची पर पुनरावृति करना चाहेंगे।


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

अब, हमारे पास होस्ट का IP पता है, हम अपने होस्ट पर जानकारी प्राप्त करने के लिए शोडान लाइब्रेरी के होस्ट फ़ंक्शन का उपयोग कर सकते हैं।


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 डेटा होस्ट के बारे में जानकारी का खजाना है, हालाँकि हमारे मामले में हम केवल IP पता, संगठन और यदि संभव हो तो, चल रहे ऑपरेटिंग सिस्टम को ही निकालेंगे।


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.

हमारे स्क्रिप्ट के लिए बस इतना ही। इसे अपने सर्वर के विरुद्ध चलाने का प्रयास करें।


We've only really scratched the surface of the Shodan Python library with our script.

हमने अपनी स्क्रिप्ट के साथ शोडान पायथन लाइब्रेरी की सतह को ही वास्तव में खरोंचा है।


It is well worth reading through the Shodan API reference documentation and playing around with the other search options.

शोडान API संदर्भ दस्तावेज़ को पढ़ना और अन्य खोज विकल्पों के साथ खेलना बहुत सार्थक है।


You can filter results based on "facets" to narrow down your searches.

आप अपनी खोजों को सीमित करने के लिए "फेसट्स" के आधार पर परिणामों को फ़िल्टर कर सकते हैं।


You can even use searches that other users have saved using the "tags" search.

आप उन खोजों का भी उपयोग कर सकते हैं जिन्हें अन्य उपयोगकर्ताओं ने "टैग" खोज का उपयोग करके सहेजा है।


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 खोज को कैसे स्क्रिप्ट करें।


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 पर जाएं और एक नई परियोजना बनाएं।


API और auth | क्रेडेंशियल पर क्लिक करें।


नई कुंजी बनाएं और सर्वर कुंजी पर क्लिक करें।


Optionally enter your IP or just click on Create.

वैकल्पिक रूप से अपना IP दर्ज करें या बस बनाएं पर क्लिक करें।


The script checks for the X-FRAME-OPTIONS header.

यह स्क्रिप्ट X-FRAME-OPTIONS हेडर की जाँच करती है।


Clickjacking is a technique used to trick users.

क्लिकजैकिंग एक ऐसी तकनीक है जिसका उपयोग उपयोगकर्ताओं को धोखा देने के लिए किया जाता है।


This attack can trick victims into transferring funds.

यह हमला पीड़ितों को धन हस्तांतरित करने के लिए धोखा दे सकता है।


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

वेबसाइटें X-FRAME-OPTIONS हेडर सेट करके क्लिकजैकिंग को रोक सकती हैं।


यह स्क्रिप्ट एक स्थानीय HTML फ़ाइल बनाती है।


यह HTML कोड एक iframe बनाता है।


अगला भाग भूत लॉगिंग सेट करता है।


We can detect this by executing JavaScript.

हम जावास्क्रिप्ट को निष्पादित करके इसका पता लगा सकते हैं।


कोड का अंतिम भाग सफाई के लिए है।


Some websites restrict access based on the browser.

कुछ वेबसाइटें ब्राउज़र के आधार पर पहुंच को प्रतिबंधित करती हैं।


We will show you how to spoof your user agent.

हम आपको दिखाएंगे कि अपने उपयोगकर्ता एजेंट को कैसे स्पूफ करें।


यहां चार उपयोगकर्ता एजेंट हैं।


The next part loops through each of the user agents.

अगला भाग प्रत्येक उपयोगकर्ता एजेंट के माध्यम से लूप करता है।


यह ब्राउज़रों की एक विस्तृत श्रृंखला देता है।


Cookies provide a way to store persistent data.

कुकीज़ लगातार डेटा संग्रहीत करने का एक तरीका प्रदान करती हैं।


This recipe will look at ways to audit the cookies.

यह नुस्खा कुकीज़ का ऑडिट करने के तरीकों पर गौर करेगा।


We enumerate each cookie sent from the web server.

हम वेब सर्वर से भेजे गए प्रत्येक कुकी की गणना करते हैं।


We then check for the secure flag on the cookie.

फिर हम कुकी पर सुरक्षित फ़्लैग की जाँच करते हैं।


The Secure flag means it is only sent over HTTPS.

सुरक्षित फ़्लैग का मतलब है कि इसे केवल HTTPS पर भेजा जाता है।


Session fixation is a vulnerability that relies on re-use of a session ID.

सत्र निर्धारण एक भेद्यता है जो सत्र आईडी के पुन: उपयोग पर निर्भर करती है।


The script starts by importing necessary libraries.

यह स्क्रिप्ट आवश्यक लाइब्रेरीज़ को इम्पोर्ट करके शुरू होती है।


Cookies are included using the request library for this type of attack.

इस प्रकार के हमले के लिए अनुरोध लाइब्रेरी का उपयोग करके कुकीज़ शामिल की जाती हैं।


The attack string is designed to break the SQL command and allow for custom SQL commands.

हमला स्ट्रिंग को SQL कमांड को तोड़ने और कस्टम SQL कमांड की अनुमति देने के लिए डिज़ाइन किया गया है।


We will use this to understand how many characters we need to brute-force.

हम इसका उपयोग यह समझने के लिए करेंगे कि हमें कितने अक्षरों को ब्रूट-फ़ोर्स करने की आवश्यकता है।


The script adapts to different scenarios, including time-limited challenges.

यह स्क्रिप्ट विभिन्न परिदृश्यों के अनुकूल है, जिसमें समय-सीमित चुनौतियाँ भी शामिल हैं।


One method of halting SQL Injection is filtering through server-side text manipulation.

SQL इंजेक्शन को रोकने का एक तरीका सर्वर-साइड टेक्स्ट मैनिपुलेशन के माध्यम से फ़िल्टर करना है।


The script creates a dictionary of substitute values.

यह स्क्रिप्ट प्रतिस्थापन मानों की एक डिक्शनरी बनाती है।


Spaces and %20 are commonly escaped by WAFs as URLs tend to not include spaces.

WAFs द्वारा रिक्त स्थान और %20 को आमतौर पर एस्केप किया जाता है क्योंकि URL में रिक्त स्थान शामिल नहीं होते हैं।


The script can be made into an internal function rather than being used as a standalone script.

इस स्क्रिप्ट को एक स्टैंडअलोन स्क्रिप्ट के रूप में उपयोग करने के बजाय एक आंतरिक फ़ंक्शन बनाया जा सकता है।


We will cover testing HTTP methods in this chapter.

इस अध्याय में, हम HTTP विधियों के परीक्षण को कवर करेंगे।


The HTTP method indicates the type of action the client expects.

HTTP विधि क्लाइंट द्वारा अपेक्षित कार्रवाई के प्रकार को इंगित करती है।


TRACE is a loop-back test and echoes the request back to the user.

TRACE एक लूप-बैक परीक्षण है और उपयोगकर्ता को अनुरोध वापस भेजता है।


Modern browsers block TRACE requests made through JavaScript.

आधुनिक ब्राउज़र जावास्क्रिप्ट के माध्यम से किए गए TRACE अनुरोधों को ब्लॉक करते हैं।


The script enumerates the various HTTP methods available.

यह स्क्रिप्ट उपलब्ध विभिन्न HTTP विधियों की गणना करती है।


The script checks the server response when sending a TRACE call.

यह स्क्रिप्ट TRACE कॉल भेजते समय सर्वर की प्रतिक्रिया की जाँच करती है।


The script prints out the method and the response status code and reason.

यह स्क्रिप्ट विधि और प्रतिक्रिया स्थिति कोड और कारण को प्रिंट करती है।


The script could be extended to include various other valid and invalid data values.

इस स्क्रिप्ट को विभिन्न अन्य मान्य और अमान्य डेटा मानों को शामिल करने के लिए बढ़ाया जा सकता है।


HTTP headers carry extra information between the client and server.

HTTP हेडर क्लाइंट और सर्वर के बीच अतिरिक्त जानकारी ले जाते हैं।


The script parses the response headers to identify the web server technology.

यह स्क्रिप्ट वेब सर्वर तकनीक की पहचान करने के लिए प्रतिक्रिया शीर्षकों को पार्स करती है।


Be wary of parsing data directly from remote servers.

दूरस्थ सर्वर से सीधे डेटा पार्स करने से सावधान रहें।


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.

हमें आयात करने के लिए मॉड्यूल को परिभाषित करने और फिर यह तय करने की आवश्यकता है कि हम किस स्ट्रिंग को हैश करना चाहते हैं।


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

हैशलिब मॉड्यूल हमारे लिए पर्दे के पीछे अधिकांश काम करता है।


SHA hashes are also extremely commonly used, alongside MD5 hashes.

SHA हैश का उपयोग MD5 हैश के साथ-साथ भी बहुत आम है।


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

आयातित मॉड्यूल का उपयोग करके पाइथन के भीतर SHA हैश उत्पन्न करना भी बेहद आसान है।


We can utilize the features within the module.

हम मॉड्यूल के भीतर सुविधाओं का उपयोग कर सकते हैं।


We need to replace * with either 1, 128, or 256.

हमें * को 1, 128, या 256 से बदलना होगा।


Implementing SHA and MD5 hashes together.

SHA और MD5 हैश को एक साथ लागू करना।


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.

हमें उपयोगकर्ता इनपुट प्राप्त करने की आवश्यकता है जिसे हम एक एन्कोडेड स्ट्रिंग में बदलना चाहते हैं।


Implementing SHA in a real-world scenario.

वास्तविक दुनिया के परिदृश्य में SHA को लागू करना।


For this real-world example, we will be implementing an SHA256 encoding scheme.

इस वास्तविक दुनिया के उदाहरण के लिए, हम एक SHA256 एन्कोडिंग योजना लागू करेंगे।


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

हम uuid लाइब्रेरी का उपयोग करके एक नमक बनाकर शुरुआत करते हैं।


Bcrypt hashes were designed to be slow when encrypting and decrypting hashes.

Bcrypt हैश को हैश को एन्क्रिप्ट और डिक्रिप्ट करते समय धीमा होने के लिए डिज़ाइन किया गया था।


Generating Bcrypt hashes within Python is similar to generating other hashes such as SHA and MD5.

पाइथन के भीतर Bcrypt हैश उत्पन्न करना SHA और MD5 जैसे अन्य हैश उत्पन्न करने के समान है।


The hashing in Bcrypt is more complex due to the use of randomly generated salts.

Bcrypt में हैशिंग यादृच्छिक रूप से उत्पन्न नमक के उपयोग के कारण अधिक जटिल है।


MD5 हैश को क्रैक करना।


This is achieved most commonly by a "dictionary" attack.

यह सबसे अधिक बार


The script extracts data from the target server using HTTP requests.

यह स्क्रिप्ट HTTP अनुरोधों का उपयोग करके लक्ष्य सर्वर से डेटा निकालती है।


Python payloads are ideal for post-exploitation on Linux and Mac systems.

लिनक्स और मैक सिस्टम पर शोषण के बाद पायथन पेलोड आदर्श हैं।


The attacker's web server receives the HTTP requests from the target.

आक्रमणकारी का वेब सर्वर लक्ष्य से HTTP अनुरोध प्राप्त करता है।


Use the script to extract information like the hostname and username.

होस्टनाम और उपयोगकर्ता नाम जैसी जानकारी निकालने के लिए स्क्रिप्ट का उपयोग करें।


The script uses a simple HTTP server to receive data.

यह स्क्रिप्ट डेटा प्राप्त करने के लिए एक सरल HTTP सर्वर का उपयोग करती है।


The command 'whoami' reveals the current user's identity.

'whoami' कमांड वर्तमान उपयोगकर्ता की पहचान को उजागर करता है।


The script uses the 'uname' command to get system information.

यह स्क्रिप्ट सिस्टम की जानकारी प्राप्त करने के लिए 'uname' कमांड का उपयोग करती है।


The output of the commands is sent via HTTP.

कमांड का आउटपुट HTTP के माध्यम से भेजा जाता है।


The script uses URL encoding to format the data.

यह स्क्रिप्ट डेटा को प्रारूपित करने के लिए URL एन्कोडिंग का उपयोग करती है।


The GET request sends the data to the attacker's server.

GET अनुरोध डेटा को हमलावर के सर्वर पर भेजता है।


The script disguises command and control activities as HTTP traffic.

यह स्क्रिप्ट कमांड और नियंत्रण गतिविधियों को HTTP ट्रैफ़िक के रूप में प्रच्छन्न करती है।


Commands are taken from comments on a web page.

कमांड एक वेब पेज पर टिप्पणियों से लिए जाते हैं।


The output is returned into a guestbook.

आउटपुट को एक गेस्टबुक में लौटाया जाता है।


The PHP script takes an incoming value and places it in a database.

PHP स्क्रिप्ट एक आने वाले मान को लेती है और उसे डेटाबेस में रखती है।


The script has a built-in self-deletion method.

स्क्रिप्ट में एक अंतर्निहित स्व-विलोपन विधि है।


An empty comment tells the script to delete itself.

एक खाली टिप्पणी स्क्रिप्ट को खुद को हटाने के लिए कहती है।


स्क्रिप्ट टिप्पणियों को खोजने के लिए रेगुलर एक्सप्रेशन का उपयोग करती है।


The script attempts to pass the comment to the system.

स्क्रिप्ट टिप्पणी को सिस्टम में पास करने का प्रयास करती है।


The output is base64 encoded to handle special characters.

विशेष वर्णों को संभालने के लिए आउटपुट को बेस64 एन्कोड किया गया है।


The script connects to an FTP server and steals files.

यह स्क्रिप्ट एक FTP सर्वर से जुड़ती है और फ़ाइलों को चुराती है।


We create our for loops to iterate over the pixels of the carrier.

हम अपने लूप बनाते हैं ताकि वाहक के पिक्सेल पर दोहराया जा सके।


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.

यदि हम 1 के मास्क का उपयोग करके लाल मान के साथ बिटवाइज़ AND का उपयोग करते हैं, तो हमें 0 वापस मिलेगा यदि LSB 0 था, और 1 वापस मिलेगा यदि यह 1 था।


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

चूंकि हम एक ग्रेस्केल छवि बना रहे हैं, इसलिए पिक्सेल मान 0 से 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.

अब हमें बस अपनी नई छवियों के पुटडाटा विधि का उपयोग करके सरणी से छवि बनाना है और फिर सहेजना है।


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.

यह सब ठीक है, लेकिन इस अध्याय का हमारा मुख्य उद्देश्य पाठ को पास करना है जिसका उपयोग हम कमांड और नियंत्रण शैली के प्रारूप में कर सकते हैं।


In this recipe, we are going to work with this mode, as it will allow us to store 8 bits in the LSBs of each value across two pixels.

इस नुस्खा में, हम इस मोड के साथ काम करने जा रहे हैं, क्योंकि यह हमें दो पिक्सेल में प्रत्येक मान के LSB में 8 बिट संग्रहीत करने की अनुमति देगा।


This means that we can hide a single char value across two pixels, so we will need an image that has a pixel count of at least twice the number of characters we are trying to hide.

इसका मतलब है कि हम दो पिक्सेल में एक ही वर्ण मान छिपा सकते हैं, इसलिए हमें एक ऐसी छवि की आवश्यकता होगी जिसमें कम से कम उन वर्णों की संख्या से दोगुना पिक्सेल हो जिन्हें हम छिपाने की कोशिश कर रहे हैं।


We start by converting the character to an int.

हम वर्ण को एक पूर्णांक में बदलकर शुरू करते हैं।


We then convert that int to a binary string, we zfill the string to ensure that it's 8 character long.

फिर हम उस पूर्णांक को एक बाइनरी स्ट्रिंग में बदलते हैं, हम यह सुनिश्चित करने के लिए स्ट्रिंग को zfill करते हैं कि यह 8 वर्ण लंबा है।


इससे बाद में आसानी होगी।


Next, we create two pixel variables and populate them.

इसके बाद, हम दो पिक्सेल चर बनाते हैं और उन्हें भरते हैं।


We use the current messages character index *2 for the first of the pixels and the (current messages character index *2) and 1 for the second.

हम पहले पिक्सेल के लिए वर्तमान संदेशों के वर्ण सूचकांक *2 का उपयोग करते हैं और दूसरे के लिए (वर्तमान संदेशों के वर्ण सूचकांक *2) और 1 का उपयोग करते हैं।


Now that everything is set up, we can start to change the values of the pixel data we iterate 4 times (for the RGBA values) and call our helper method to set the LSB.

अब जब सब कुछ सेट हो गया है, तो हम पिक्सेल डेटा के मानों को बदलना शुरू कर सकते हैं जिसे हम 4 बार दोहराते हैं (RGBA मानों के लिए) और LSB सेट करने के लिए अपनी सहायक विधि को कॉल करते हैं।


Once we have our new values, we will convert them to tuples and append them to the new_array.

एक बार जब हमारे पास हमारे नए मान होंगे, तो हम उन्हें टुपल्स में बदल देंगे और उन्हें new_array में जोड़ देंगे।


All that's left to do is extend the new_array method with the remaining pixels from our carrier image and then save it using the filename parameter that was passed in to our Hide_ message function.

अब हमें बस अपनी वाहक छवि से शेष पिक्सेल के साथ new_array विधि का विस्तार करना है और फिर इसे फ़ाइलनाम पैरामीटर का उपयोग करके सहेजना है जो हमारे Hide_ संदेश फ़ंक्शन में पारित किया गया था।


As stated at the start of this recipe, we need to make sure that the carrier images pixel count is twice the size of our message that we want to hide.

जैसा कि इस नुस्खा की शुरुआत में कहा गया है, हमें यह सुनिश्चित करने की आवश्यकता है कि वाहक छवियों की पिक्सेल गणना हमारे संदेश के आकार से दोगुनी है जिसे हम छिपाना चाहते हैं।


We could add in a check for this, like so: if len(message) * 2 < len(list(image.getdata())): #Throw an error and advise the user

हम इसके लिए एक जांच जोड़ सकते हैं, जैसे: यदि len(message) * 2 < len(list(image.getdata())): #एक त्रुटि फेंकें और उपयोगकर्ता को सलाह दें


Cross-site scripting (XSS) is a common web security vulnerability.

क्रॉस-साइट स्क्रिप्टिंग (XSS) एक आम वेब सुरक्षा भेद्यता है।


The book discusses data extraction through HTTP requests.

यह पुस्तक HTTP अनुरोधों के माध्यम से डेटा निष्कर्षण पर चर्चा करती है।


Generating email addresses from names is a useful technique.

नामों से ईमेल पते उत्पन्न करना एक उपयोगी तकनीक है।


Extracting emails to Maltego is a part of the process.

माल्टेगो में ईमेल निकालना प्रक्रिया का एक हिस्सा है।


The book covers file enumeration techniques.

पुस्तक फ़ाइल गणना तकनीकों को शामिल करती है।


Creating an FTP C2 is a method for command and control.

एक FTP C2 बनाना कमांड और नियंत्रण का एक तरीका है।


The Google+ API can be used for various tasks.

Google+ API का उपयोग विभिन्न कार्यों के लिए किया जा सकता है।


Harvesting additional results from Google+ API using pagination is discussed.

पेजिनेशन का उपयोग करके Google+ API से अतिरिक्त परिणाम प्राप्त करने पर चर्चा की गई है।


The book explains how to generate graphs using plot.ly.

पुस्तक में बताया गया है कि plot.ly का उपयोग करके ग्राफ कैसे उत्पन्न करें।


Identifying hashes is an important part of security analysis.

हैश की पहचान करना सुरक्षा विश्लेषण का एक महत्वपूर्ण हिस्सा है।


Header-based cross-site scripting is a type of attack.

हेडर-आधारित क्रॉस-साइट स्क्रिप्टिंग एक प्रकार का हमला है।


The book covers HTTP header fingerprinting.

पुस्तक HTTP हेडर फिंगरप्रिंटिंग को कवर करती है।


Testing HTTP methods is a part of penetration testing.

HTTP विधियों का परीक्षण भेदन परीक्षण का एक हिस्सा है।


Extracting data through HTTP requests is a common technique.

HTTP अनुरोधों के माध्यम से डेटा निकालना एक सामान्य तकनीक है।


The book mentions the use of the Shodan API.

पुस्तक में शोडन API के उपयोग का उल्लेख है।


Testing for insecure cookie flags is crucial.

असुरक्षित कुकी फ़्लैग के लिए परीक्षण करना महत्वपूर्ण है।


The book discusses the use of LSB steganography.

पुस्तक LSB स्टैग्नोग्राफी के उपयोग पर चर्चा करती है।


Cracking MD5 hashes is a challenging task.

MD5 हैश को क्रैक करना एक चुनौतीपूर्ण कार्य है।


The book covers the implementation of SHA hashes.

पुस्तक SHA हैश के कार्यान्वयन को कवर करती है।


Web app firewalls are used to protect against attacks.

वेब ऐप फ़ायरवॉल का उपयोग हमलों से बचाने के लिए किया जाता है।


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.

हम एक स्क्रिप्ट बनाएंगे जो ट्विटर से जुड़ती है, ट्वीट्स पढ़ती है, उन ट्वीट्स के आधार पर कमांड निष्पादित करती है, प्रतिक्रिया डेटा को एन्क्रिप्ट करती है, और इसे ट्विटर पर पोस्ट करती है।


Fortunately, social media helps out in this regard and allows us to hide data in plain sight.

सौभाग्य से, सोशल मीडिया इस संबंध में मदद करता है और हमें सादे दृष्टि में डेटा छिपाने की अनुमति देता है।


हम हमेशा की तरह अपनी लाइब्रेरी आयात करते हैं।


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 carry out the action by using the subprocess function.

हम सबप्रोसेस फ़ंक्शन का उपयोग करके कार्रवाई करते हैं।


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

हम एन्क्रिप्टेड और एन्कोडेड प्रतिक्रिया को 140 वर्णों के टुकड़ों में विभाजित करते हैं, ताकि ट्विटर वर्ण कैप की अनुमति मिल सके।


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 लाइब्रेरी आयात करें, अपने कुंजी ट्वीट को कुंजी के रूप में सेट करें, और अपनी पुन: एकत्रित बेस64 को प्रतिक्रिया के रूप में रखें।


एक साधारण नेटकैट शेल बनाना।


The general idea of this shell is to create a connection between the compromised machine and your own machine through a Netcat (or other program) session and send commands to the machine this way.

इस शेल का सामान्य विचार समझौता किए गए मशीन और आपकी अपनी मशीन के बीच एक नेटकैट (या अन्य प्रोग्राम) सत्र के माध्यम से एक कनेक्शन बनाना और इस तरह मशीन को कमांड भेजना है।


The beauty of this Python script is the undetectable nature of it, as it appears as a completely legitimate script.

इस पायथन स्क्रिप्ट की सुंदरता इसकी अघोषित प्रकृति है, क्योंकि यह पूरी तरह से वैध स्क्रिप्ट के रूप में दिखाई देती है।


To start the script as normal, we need to import our modules that will be used throughout the script.

स्क्रिप्ट को सामान्य रूप से शुरू करने के लिए, हमें उन मॉड्यूल को आयात करने की आवश्यकता है जिनका उपयोग पूरी स्क्रिप्ट में किया जाएगा।


We then need to define our variables: these values are the IP and port of the attacking machine to establish a connection with.

फिर हमें अपने चर को परिभाषित करने की आवश्यकता है: ये मान हमला करने वाली मशीन का आईपी और पोर्ट हैं जिसके साथ कनेक्शन स्थापित करना है।


We then move on to defining the original connection; we can then assign a value to our established value and refer to this later on to read the input and send the standard output.

फिर हम मूल कनेक्शन को परिभाषित करने के लिए आगे बढ़ते हैं; फिर हम अपने स्थापित मान को एक मान निर्दिष्ट कर सकते हैं और बाद में इनपुट पढ़ने और मानक आउटपुट भेजने के लिए इसका उल्लेख कर सकते हैं।


We give the name data to the values that are passed to the compromised machine through the Netcat session.

हम उन मानों को डेटा नाम देते हैं जो नेटकैट सत्र के माध्यम से समझौता किए गए मशीन को पास किए जाते हैं।


A value is added to the script to exit the session when the user is done; we've chosen exit for this, which means entering exit into our Netcat session will terminate the established connection.

जब उपयोगकर्ता का काम हो जाता है तो सत्र से बाहर निकलने के लिए स्क्रिप्ट में एक मान जोड़ा जाता है; हमने इसके लिए बाहर निकलें चुना है, जिसका अर्थ है कि हमारे नेटकैट सत्र में बाहर निकलें दर्ज करने से स्थापित कनेक्शन समाप्त हो जाएगा।


We then get down to the nitty gritty parts in which the data is opened (read) and piped into the shell for us.

फिर हम उन बारीक हिस्सों में उतरते हैं जिनमें डेटा खोला जाता है (पढ़ा जाता है) और हमारे लिए शेल में पाइप किया जाता है।


Sometimes it’s really nice to have a visual representation of your data.

कभी-कभी आपके डेटा का दृश्य प्रतिनिधित्व होना वास्तव में अच्छा होता है।


If you don’t already have one, you’ll need to sign up for an account at https://plot.ly.

यदि आपके पास पहले से नहीं है, तो आपको https://plot.ly पर एक खाते के लिए साइन अप करने की आवश्यकता होगी।