- Discussion
- Useful Resources
- Quick Guide
- XSS Web Attack
- SQLi Web Attack
- DoS & DDoS attack
- Client-side Validation
- Application Layer
- Pentesting of Wireless Network
- ARP Spoofing
- Network Packet Sniffing
- Python Network Scanner
- The Socket and its Methods
- Primer on Network Communication
- Assessment Methodology
- Introduction
- Python Penetration Testing - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Apppcation Layer
网络应用和网络服务器对我们在线存在至关重要,所观察到的针对它们的袭击事件占因特网攻击总数的70%以上。 这些袭击企图将可信赖的网站变成恶意网站。 由于这一原因,网络服务器和网络应用笔试发挥着重要作用。
Foot printing of a web server
为什么我们需要考虑网络服务器的安全? 这是因为随着电子商务产业的迅速增长,攻击者的首要目标是网络服务器。 对于网络服务器停用,我们必须了解网络服务器、其托管软件和邮局;运行系统及其应用。 收集关于网络服务器的这种信息被称为网络服务器的足迹。
在随后的章节中,我们将讨论网络服务器足迹的不同方法。
Methods for footprinting of a web server
万维网服务器是服务器软件或硬件,专门用于处理申请和为答复服务。 这是一个关键领域,供主在网络服务器的渗透测试时注意。
让我们现在讨论在沙尔实施的几种方法,这些方法可以用网络服务器的足迹来加以执行。
Testing availabipty of HTTP methods
渗透检测器的一个非常好的做法就是首先列出各种现有的吉大港山区办法。 下面是一份“灰色”文字,我们可以通过该文字与目标网络服务器连接,并列举现有的“吉大港”方法。
首先,我们需要进口请求图书馆——
import requests
在进口请求书库后,我们将采用多种吉大港山区办法。 我们将使用某些标准方法,如GET、POST、PUT、DELETE、OPTIONS和一种非标准方法“TEST”来检查网络服务器如何处理意外投入。
method_pst = [ GET , POST , PUT , DELETE , OPTIONS , TRACE , TEST ]
下面的编码线是该文本的主要格式,它将向网络服务器发送吉大港定居许可证包,并印刷该方法和地位代码。
for method in method_pst: req = requests.request(method, Enter the URL’) print (method, req.status_code, req.reason)
下行将通过发送TRACE方法,检验交叉点追踪的可能性。
if method == TRACE and TRACE / HTTP/1.1 in req.text: print ( Cross Site Tracing(XST) is possible )
在为某个网站服务器操作上述文字后,我们将收到200份科索沃对网络服务器接受的一种特定方法的答复。 如果网络服务器明确否认这一方法,我们将得到403个受禁反应。 一旦我们向交叉点追踪(XST)发送了TRACE方法,我们将获得405 不允许。 否则,我们将从网站服务器获得“``````````````````````````````''')。
Foot printing by checking HTTP headers
网络服务器的要求和答复都发现了吉大港山区头目。 他们还拥有关于服务器的重要信息。 因此,渗透检测员总是希望通过吉大港山区的头目来使信息趋于一致。 下面是获取有关网络服务器头盔的信息的灰色文字:
首先,让我们进口请求图书馆——
import requests
我们需要向网络服务器发出GET申请。 下面的法典通过请求书图书馆提出简单的全球教育要求。
request = requests.get( enter the URL )
其次,我们将编制一份各位需要这些资料的负责人名单。
header_pst = [ Server , Date , Via , X-Powered-By , X-Country-Code , ‘Connection’, ‘Content-Length’]
接下来是尝试,只有部分。
for header in header_pst: try: result = request.header_pst[header] print ( %s: %s % (header, result)) except Exception as err: print ( %s: No Details Found % header)
在为某个网站服务器操作上述文字后,我们将获得有关头盔的信息。 如果某位负责人没有信息,则会发出“无详细信息”的信息。 也可以从链接中更多地了解吉大港定居地:
Testing insecure web server configurations
我们可以利用吉大港山区卫星头盔信息测试无保障的网络服务器配置。 在以下的“灰色”文字中,我们将使用试射/试射机,以测试在文本档案中保存的“URL”号数的无保障网络服务器头目。
import requests urls = open("websites.txt", "r") for url in urls: url = url.strip() req = requests.get(url) print (url, report: ) try: protection_xss = req.headers[ X-XSS-Protection ] if protection_xss != 1; mode = block : print ( X-XSS-Protection not set properly, it may be possible: , protection_xss) except: print ( X-XSS-Protection not set, it may be possible ) try: options_content_type = req.headers[ X-Content-Type-Options ] if options_content_type != nosniff : print ( X-Content-Type-Options not set properly: , options_content_type) except: print ( X-Content-Type-Options not set ) try: transport_security = req.headers[ Strict-Transport-Security ] except: print ( HSTS header not set properly, Man in the middle attacks is possible ) try: content_security = req.headers[ Content-Security-Popcy ] print ( Content-Security-Popcy set: , content_security) except: print ( Content-Security-Popcy missing )
Footprinting of a Web Apppcation
我们在前一节讨论了网络服务器的足迹。 同样,从渗透检测器的角度来看,网络应用的足迹也十分重要。
在随后的章节中,我们将了解网络应用的不同方法。
Methods for Footprinting of a Web Apppcation
网络应用是一个客户服务方案,由客户在一个网络服务器中管理。 这是主人在对网络应用进行渗透测试时关注的另一个关键领域。
我们现在讨论可在沙尔实施的各种不同方法,这些方法可用于网络应用的足迹——
Gathering information using parser BeautifulSoup
我们希望从一个网页上收集所有超级链接;我们可以使用一个叫做“美丽”的古典。 该馆是一座用于将数据从超文本和XML档案中删除的Adhury图书馆。 可使用urpb。 因为它需要一种投入(文件或ur),来制造一个 object子,而且它本身无法浏览网页。
首先,让我们进口必要的一揽子计划。 我们将进口微粒和BeautifulSoup。 在进口美新产品之前,我们需要安装。
import urlpb from bs4 import BeautifulSoup
下面介绍的“灰色”文字将收集网页和超链接的名称。
现在,我们需要一个可以储存网站URL的变量。 在此,我们将使用一个称为“url”的变量。 我们还将使用page.read()功能,储存网页,并将网页上贴到html_page。
url = raw_input("Enter the URL ") page = urlpb.urlopen(url) html_page = page.read()
<html>_page将指定为制造 object物体的投入。
soup_object = BeautifulSoup(html_page)
下面两行将分别与标签和没有标签的标签打印名称。
print soup_object.title print soup_object.title.text
下文所示的编码线将节省所有超文本链接。
for pnk in soup_object.find_all( a ): print(pnk.get( href ))
Banner grabbing
Banner与载有服务器和彩票信息的正文信息一样,就是通过旗帜本身提供这一信息。 现在,我们需要知道这一旗帜是如何产生的。 它由寄送的包装箱头部生成。 虽然客户试图与港口连接,但服务器的反应是,服务器载有服务器的信息。
下面的“灰色”文字有助于用袖珍方案粉碎旗帜——
import socket s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket. htons(0x0800)) targethost = str(raw_input("Enter the host name: ")) targetport = int(raw_input("Enter Port: ")) s.connect((targethost,targetport)) def garb(s:) try: s.send( GET HTTP/1.1 ) ret = sock.recv(1024) print ( [+] + str(ret)) return except Exception as error: print ( [-] Not information grabbed: + str(error)) return
在管理上述文字后,我们将获得关于头盔的类似信息,因为我们从前一节里的吉大港山区长者的足迹中拿走。
Advertisements