Skip to main content

Library for website analysis and requests.

Project description

About WebPT

WebPT is a library for analyzing and crawling websites, the library is designed to be used by Pentesters and developers to make their code easier.

Installation

git clone https://github.com/saharavitan/webpt.git
python -m pip install webpt

Recommended Python Version:

WebPT currently supports Python 3

  • The recommended version for Python 3 is >=3.6.x

Dependencies:

WebPT depends on the re, requests, bs4, urllib, threading and time python modules.

These dependencies can be installed using the requirements file:

  • Installation on Windows:
c:\python38\python.exe -m pip install -r requirements.txt
  • Installation on Linux
sudo pip install -r requirements.txt

Make Request Attributes

Attributes Description
request Create a request

Find Functions

Functions Description
tag Exports all found objects, some tag must be written in the function
attr Exports the value of the attribute from the tag
mails Get mails from source

Request Analysis Attributes

Attributes Description
method Type of method
protocol Type of protocol (GET, POST...)
url Get url
data Returns the data from the request within a dictionary
cookies Returns the data from the cookies within a dictionary
headers Returns the data from the headers within a dictionary
params Returns the data from the params within a dictionary
path The path of the url
status_code The status code of the response
response The content of the response
redirect To which address the server will redirect

Spider Attributes

  • The spider is a tool that is used to automatically discover new resources (URLs) on a particular Site.
Attributes Description
links Exports all links found to the list
gui Graphic display of the site

Examples

Using WebPT as a module in your python scripts

MakeRequest Example

import webpt 
request = webpt.make_request(url, method='POST', data="param1=val1&param2=val2").request
import webpt 
request = webpt.make_request(url).request

Spider Example

import webpt 
get_links = webpt.spider("https://example.com").links
import webpt 
print(webpt.spider("https://example.com").gui)

Response Analysis Example

import webpt 

tags = find(source).tag("a")
for tag in tags:
    res = tag.attr("href")
import webpt 

mails = find(source).mails()

PortScanner Example

import webpt 
ports = webpt.scanport(url/ip)

Request Analysis Example

import webpt 

request = """POST /api/scope.php HTTP/1.1
Host: example.com
Connection: close
Content-Length: 69
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: https://example.com
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://example.com/
Accept-Encoding: gzip, deflate
Accept-Language: he-IL,he;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: __cfduid=d77a6a7e8c8303932379a959c941da11a1604046519; PHPSESSID=fpehjl7lamt1akovf990bd2gfl

csrf=3dff02bd9e7f4d014ff7218d2f3a80dc&target=https%3A%2F%2Fexample.co.il"""

req = webpt.request_analysis(request)

method = req.method
protocol = req.protocol
url = req.url
data = req.data
headers = req.headers
params = req.params
path = req.path
status_code = req.status_code
response = req.response
redirect = req.redirect

Author

Version

Current version is 1.2.7

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Webpt-1.2.7.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

Webpt-1.2.7-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file Webpt-1.2.7.tar.gz.

File metadata

  • Download URL: Webpt-1.2.7.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for Webpt-1.2.7.tar.gz
Algorithm Hash digest
SHA256 66d7c7eacdb96d324e95684d20b7cdd96a025f2c0f0f19922e3839d66d7d6caf
MD5 91c326fc97ee462164e74a5babaa106a
BLAKE2b-256 793171b3c954e526d24c738b96ff0fc3844e78ac6f4956d5f5f4644912726b0e

See more details on using hashes here.

File details

Details for the file Webpt-1.2.7-py3-none-any.whl.

File metadata

  • Download URL: Webpt-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for Webpt-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f298d2e0d135f4bb1d8754c24b16d7531c18f8f12292fcae158b60e4975072f5
MD5 e3d2e17367858b37b702f9a192bc2309
BLAKE2b-256 962e472351092352d153297aa1f1781ad1af327917144431561d494eed8e32e8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page