Giter Club home page Giter Club logo

apachetomcatscanner's Introduction


I'm a French Security Researcher and Microsoft MVP in Security. I specialize in finding vulnerabilities in various environments, including Windows, Active Directory, and web applications. With a passion for tinkering with undefined behaviors in computers, I have published 101 open-source security tools so far, and there are many more to come! 🥳

If any of my tools have been helpful to you, please consider sponsoring my work. Sponsorship will support the costs of my projects, including server expenses, mainframe restoration, and research materials. You can support me through GitHub Sponsors https://github.com/sponsors/p0dalirius or through Patreon: https://www.patreon.com/podalirius

As part of my dedication to security, I actively report vulnerabilities I discover. To date, I have reported and responsibly disclosed 10 security vulnerabilities found in the wild. I have also received 6 CVEs (CVE-2020-16147, CVE-2020-16148, CVE-2021-43008, CVE-2022-26159, CVE-2022-29710, CVE-2022-30780), with 2 more awaiting release.

One of my commit sha starts with "a". One of my commit sha starts with "ab". One of my commit sha starts with "abc". I collected 100 stars. I collected 500 stars. I collected 1000 stars. I collected 2000 stars. I collected 5000 stars. I collected 10000 stars. I am a sleepy coder. I commit in the morning. I commit in the evening. I commit at midnight. I pushed a commit with "dead" 19 times. When I delete code, I delete a lot. When I delete code, I delete a lot. I did 2 sequential fixes. I did 6 sequential fixes. I did 3 sequential fixes. I did 4 sequential fixes. I did 7 sequential fixes. I have participated in pull requests with 5 or more people I have participated in pull requests with 10 or more people I have participated in pull requests with 15 or more people I have four public keys I closed an issue that was open for 1 years I merged a PR with failing checks I found the answer to the ultimate question of life, the universe, and everything! My favorite word is "added". I am a polite coder.


Summary of my tools

Active Directory tools

  • AccountShadowTakeover: A python script to automatically add a KeyCredentialLink to newly created users, by quickly connecting to them with default credentials.
  • Coercer: A python script to automatically coerce a Windows server to authenticate on an arbitrary machine through 9 methods.
  • DomainUsersToXLSX: Extract all users from an Active Directory domain to an Excel worksheet.
  • DumpSMBShare: A script to dump files and folders remotely from a Windows SMB share.
  • ExtractBitlockerKeys: A post-exploitation python script to automatically extract the bitlocker recovery keys from a domain.
  • FindUncommonShares: A Python tool allowing to quickly find uncommon shares in vast Windows Domains.
  • GeoWordlists: GeoWordlists is a tool to generate wordlists of passwords containing cities at a defined distance around the client city.
  • ldap2json: The ldap2json script allows you to extract the whole LDAP content of a Windows domain into a JSON file.
  • ldapconsole: The ldapconsole script allows you to perform custom LDAP requests to a Windows domain.
  • LDAPmonitor: Monitor creation, deletion and changes to LDAP objects live during your pentest or system administration!
  • LDAPWordlistHarvester: A tool to generate a wordlist from the information present in LDAP, in order to crack passwords of domain accounts.
  • MSRPRN-Coerce: A python script to force authentification using MS-RPRN RemoteFindFirstPrinterChangeNotificationEx function (opnum 69).
  • pydsinternals: A Python native library containing necessary classes, functions and structures to interact with Windows Active Directory.
  • pyLAPS: Python setter/getter for property ms-Mcs-AdmPwd used by LAPS.
  • TargetAllDomainObjects: A python wrapper to run a command on against all users/computers/DCs of a Windows Domain.

Web exploitation tools

  • ApacheTomcatScanner: A python script to scan for Apache Tomcat server vulnerabilities.
  • Awesome-RCE-techniques: Awesome list of techniques to achieve Remote Code Execution on various apps!
  • crawlersuseragents: Python script to check if there is any differences in responses of an application when the request comes from a search engine's crawler.
  • CodeIgniter-session-unsign: Command line tool to fetch, decode and brute-force CodeIgniter session cookies by guessing and bruteforcing secret keys.
  • FindAzureDomainTenant: A Python script to find tenant id an region from a list of domain names.
  • http-fuzzing-scripts: A collection of http fuzzing python scripts to fuzz HTTP servers for bugs.
  • ipsourcebypass: This Python script can be used to bypass IP source restrictions using HTTP headers.
  • Joomla-1.6-1.7-2.5-Privilege-Escalation-Vulnerability: A Python script to create an administrator account on Joomla! 1.6/1.7/2.5 using a privilege escalation vulnerability.
  • LFIDump: A simple python script to dump remote files through a local file read or local file inclusion web vulnerability.
  • LootApacheServerStatus: A script to automatically dump all URLs present in /server-status to a file locally.
  • mercurial-scm-extract: A tool to extract and dump files of mercurial SCM exposed on a web server.
  • owabrute: Hydra wrapper for bruteforcing Microsoft Outlook Web Application.
  • RDWArecon: A python script to extract information from a Microsoft Remote Desktop Web Access (RDWA) application.
  • robotstester: This Python script can enumerate all URLs present in robots.txt files, and test whether they can be accessed or not.
  • robotsvalidator: The robotsvalidator script allows you to check if URLs are allowed or disallowed by a robots.txt file.
  • TimeBasedLoginUserEnum: A script to enumerate valid usernames based on the requests response times.
  • webapp-wordlists: This repository contains wordlists for each versions of common web applications and content management systems (CMS). Each version contains a wordlist of all the files directories for this version.

Web shells

Vulnerability exploits

Windows

  • pdbdownload: A Python script to download PDB files associated with a Portable Executable (PE).
  • hivetools: A collection of python scripts to work with Windows Hives.
  • msFlagsDecoder: Decode the values of common Windows properties such as userAccountControl and sAMAccountType.
  • MSSQL-Analysis-Coerce: A technique to coerce a Windows SQL Server to authenticate on an arbitrary machine.
  • OffensiveBatchScripts: Offensive batch scripts.
  • SortPEbyVersions: A Python script to sort Portable Executable (PE) files by their version and download debug symbols if existing.
  • SortWindowsISOs: Extract the windows major and minor build numbers from an ISO file, and automatically sort the iso files.
  • win32errorcodes: A small C/C++ library to lookup Windows error codes.

Data & Researches

Other

  • Argon2Cracker: A multithreaded bruteforcer of argon2 hashes.
  • ctfd-parser: A python script to dump all the challenges locally of a CTFd-based Capture the Flag.
  • CpuCoresTemperatureGraph: A python tool to print CPU core temperatures for each cores.
  • factorizator: A script to factorize integers with sagemath and factordb.
  • GetFortinetSerialNumber: A Python script to extract the serial number of a remote Fortinet device.
  • GithubBackupAllRepos: A Python script to backup all repos (public or private) of a user.
  • Hashes-Harvester: Automatically extracts NTLM hashes from Windows memory dumps.
  • hexcat: A tool to show only printable characters of a file.
  • objectwalker: A python module to explore the object tree to extract paths to interesting objects in memory.
  • ParseFortinetSerialNumber: A Python script to parse Fortinet products serial numbers, and detect the associated model and version.
  • python_packages_paths: This repository contains paths to python modules from inside python modules.
  • pwndocapi: A python library to interact with Pwndoc instances for pentest reports generation.
  • pdsimage-downloader: A python script to filter by filename and download PDS images.
  • streamableDownloader: A simple python script to download videos hosted on streamable from their link.
  • wav2mmv: WAV to MMV converter. You can then use the MMV file in input of MSSTV to decode Slow Scan Television (SSTV) sound signals.
  • WifiListProbeRequests: Monitor 802.11 probe requests from a capture file or network sniffing!

apachetomcatscanner's People

Contributors

cosad3s avatar darkiros avatar luemmelsec avatar p0dalirius avatar s0meguy1 avatar sandr0x00 avatar tjni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apachetomcatscanner's Issues

[bug] No such file or directory: '/usr/local/lib/python3.11/dist-packages/apachetomcatscanner/data/credentials.json'

 apachetomcatscanner -tf results/subdomains.txt 
Apache Tomcat Scanner v3.6 - by @podalirius_

Traceback (most recent call last):
  File "/usr/local/bin/apachetomcatscanner", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/apachetomcatscanner/__main__.py", line 197, in main
    config = Config()
             ^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/apachetomcatscanner/Config.py", line 34, in __init__
    self.__load_default_credentials()
  File "/usr/local/lib/python3.11/dist-packages/apachetomcatscanner/Config.py", line 43, in __load_default_credentials
    f = open(path_to_creds, 'r')
        ^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.11/dist-packages/apachetomcatscanner/data/credentials.json'

[bug] setuptools CANNOT consider this value unless `scripts` is listed as `dynamic`.

* Installing packages in isolated environment... (wheel)
* Building wheel...
/tmp/build-env-06_0j8il/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `scripts` defined outside of `pyproject.toml` would be ignored.
!!

        ********************************************************************************
        ##########################################################################
        # configuration would be ignored/result in error due to `pyproject.toml` #
        ##########################################################################

        The following seems to be defined outside of `pyproject.toml`:

        `scripts = ['apachetomcatscanner=apachetomcatscanner.__main__:main']`

        According to the spec (see the link below), however, setuptools CANNOT
        consider this value unless `scripts` is listed as `dynamic`.

        https://packaging.python.org/en/latest/specifications/declaring-project-metadata/

        For the time being, `setuptools` will still consider the given value (as a
        **transitional** measure), but please note that future releases of setuptools will
        follow strictly the standard.

        To prevent this warning, you can list `scripts` under `dynamic` or alternatively
        remove the `[project]` table from your file and rely entirely on other means of
        configuration.

        By 2023-Oct-30, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.
        ********************************************************************************

!!

How to update the vulnerabilities database

Hi, How can the vulnerability database be updated? I see that some of 2022 are missing, but I don't know where I can get the json with the same format.

Thanks in advance

Whta I'm doing wrong?

Hi, This script seems to do just what I need, scan for known vulnerabilities in a tomcat. But I'm not getting it to work.

I have installed the script and several versions of tomcat, on my pc to test it, but it always returns me that there are no vulnerabilities.

image

Could you help me?

[enhancement] Add the entire CVE "blob" to the JSON-export

In theory, it might be useful to add the entire CVE "blob" to the JSON-export and leave further filtering to the user which uses it later, but I leave you to decide that. If you think that's a good idea, then I'll rework it towards that.

Downside to that: the 3 exports would differ in that way.

Originally posted by @Sandr0x00 in #34 (comment)

I think you are right, this is a good idea.

[bug] apachetomcatscanner cant load target

root@xxx:/root#  apachetomcatscanner -v -tt localhost -tp 80
Apache Tomcat Scanner v3.5 - by @podalirius_

[!] Cannot start scan: no targets loaded.

root@xxx:/root# head /opt/freeware/bin/apachetomcatscanner
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from apachetomcatscanner.__main__ import main
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

root@xxx:/root# /usr/bin/python3 --version
Python 3.7.15

Whats going wrong?

error when try to bruteforce password

python3 ApacheTomcatScanner.py \
    -tf ./v  \
    --tomcat-usernames-file ../../wordlist/tomcat-default-username.txt \
    --tomcat-passwords-file ../../wordlist/tomcat-default-password.txt \
    -C  \
    --no-colors \
    --export-json ./aaaa.json \
    --debug

getting error like

[debug] Error in get_version_from_malformed_http_request('https://campusm.gold.ac.uk/manager/html'): string indices must be integers

from sectools.windows.ldap import get_computers_from_domain, get_servers_from_domain

HI p0dalirius,

Thanks for releasing such a nice tool, :) kudos to you, but unfortunately i am facing the above error i tried to troubleshoot, as the function/class is already defined in the source but somehow i am not able to import, Please find below stats.

python3 -m pip install -r requirements.txt 
Requirement already satisfied: sectools in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 1)) (1.3.4)
Requirement already satisfied: xlsxwriter in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 2)) (3.0.3)
Requirement already satisfied: requests in /home/AMBERJACK/28wjk436e4/.local/lib/python3.8/site-packages (from -r requirements.txt (line 3)) (2.25.1)
Requirement already satisfied: ldap3 in /usr/local/lib/python3.8/dist-packages (from sectools->-r requirements.txt (line 1)) (2.9.1)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/AMBERJACK/28wjk436e4/.local/lib/python3.8/site-packages (from requests->-r requirements.txt (line 3)) (1.26.5)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests->-r requirements.txt (line 3)) (2019.11.28)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3/dist-packages (from requests->-r requirements.txt (line 3)) (2.8)
Requirement already satisfied: chardet<5,>=3.0.2 in /usr/lib/python3/dist-packages (from requests->-r requirements.txt (line 3)) (3.0.4)
Requirement already satisfied: pyasn1>=0.4.6 in /usr/local/lib/python3.8/dist-packages (from ldap3->sectools->-r requirements.txt (line 1)) (0.4.8)

Error which is throwing,

apachetomcatscanner
Traceback (most recent call last):
  File "/usr/local/bin/apachetomcatscanner", line 5, in <module>
    from apachetomcatscanner.__main__ import main
  File "/usr/local/lib/python3.8/dist-packages/apachetomcatscanner/__main__.py", line 15, in <module>
    from sectools.windows.ldap import get_computers_from_domain, get_servers_from_domain
ImportError: cannot import name 'get_servers_from_domain' from 'sectools.windows.ldap' (/usr/local/lib/python3.8/dist-packages/sectools/windows/ldap.py)

Class/function which is already present.

cat /usr/local/lib/python3.8/dist-packages/sectools/windows/ldap.py | rg get
def __init_ldap_connection(target, tls_version, dc_ip, domain, username, password, lmhash, nthash, use_ldaps=False, auth_key=None):
    ldap_server = ldap3.Server(target, get_info=ldap3.ALL, port=port, use_ssl=use_ssl, tls=tls)
    target_dc = (auth_dc_ip if auth_dc_ip is not None else auth_domain)
                target=target_dc,
                target=target_dc,
            target=target_dc,
def get_computers_from_domain(auth_domain, auth_dc_ip, auth_username, auth_password, auth_hashes):
    target_dn = ldap_server.info.other["defaultNamingContext"]
    results = list(ldap_session.extend.standard.paged_search(target_dn, "(objectCategory=computer)", attributes=["dNSHostName"]))
``
I think get_servers_from_domain function is missing from the latest release.

import sectools

from sectools.windows.ldap import get_computers_from_domain, get_servers_from_domain
Traceback (most recent call last):
File "", line 1, in
ImportError: cannot import name 'get_servers_from_domain' from 'sectools.windows.ldap' (/usr/local/lib/python3.8/dist-packages/sectools/windows/ldap.py)


Please let me know if i am doing anything wrong or its a real bug, /Issue.

Once again thanks a lot for releasing such a nice tool.
$3curityb3ast

[bug] Issue with expand_port_range

After installing with setup.py and getting everything in requirements.txt with pip3, I still cannot run the scanner because of this import error:

Traceback (most recent call last):
File "/root/tools/ApacheTomcatScanner-2.0/ApacheTomcatScanner.py", line 8, in
from apachetomcatscanner.main import main
File "/root/tools/ApacheTomcatScanner-2.0/apachetomcatscanner/main.py", line 16, in
from sectools.network.ip import is_ipv4_cidr, is_ipv4_addr, is_ipv6_addr, expand_cidr, expand_port_range
ImportError: cannot import name 'expand_port_range' from 'sectools.network.ip' (/root/tools/ApacheTomcatScanner-2.0/venv/lib/python3.9/site-packages/sectools-1.2-py3.9.egg/sectools/network/ip.py)

[bug] https target is not working

HI p0dalirius,

Once again I am here to bother you, I am trying to assess the tomcat which is https://xxx.xxx.xx.xx/ when I scan it says the below.

apachetomcatscanner -tt xxx.xx.xx.xx -tp 443 -v
Apache Tomcat Scanner v2.3.1 - by @podalirius_

[debug] Loading targets from --target options
[+] Targeting 1 ports on 1 targets
[+] Searching for Apache Tomcats servers on specified targets ...
[+] All done!

while if you see in the backend

curl -iks https://165.197.218.124 | head -n 20
HTTP/1.1 200 
Date: Wed, 03 Aug 2022 09:45:11 GMT
Server: Apache
Content-Type: text/html;charset=UTF-8
Vary: Accept-Encoding
Connection: close
Transfer-Encoding: chunked

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/8.5.13</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />

To dig more into it i started the burp proxy and it gives me the reason why tool failed to detect.

Burp shows me that the request is starting with http & not https hence its failing.
2022-08-03-094936_47x55_scrot

Is there anything which i am missing here or its going to be a new improvement? ;)
$3curityb3ast

[bug] The option '--subnets' is ignored

Hi! :)

The default value for the option --subnets is False, but it seems to be ignored when deciding whether the list of subnets should be retrieved from the Active Directory when creating a list of targets.

$ ./ApacheTomcatScanner.py -C --show-cves-descriptions --tomcat-usernames-file '***' --tomcat-passwords-file '***' -ad '***' -ai '***' -au '***' -ap '***' --debug
Apache Tomcat Scanner v3.5 - by @podalirius_

[debug] Loading CVEs from JSON database ...
[debug] Loaded 170 CVEs!
[debug] Loading targets from computers in the domain '***'
[>] Extracting all computers ...
[+] Found 1725 computers in the domain.
[debug] Loading targets from servers in the domain '***'
[>] Extracting all subnets ...
[+] Found 33 subnets in the domain.
[debug] Target '***' was not added.
[debug] Target '***' was not added.
[+] Targeting 7 ports on 665786 hosts.
[+] Searching for Apache Tomcats servers on specified targets ...
...

In the following code snippet, the script calls get_subnets() as long as domain credentials are provided, regardless of the value of --subnets.

# Loading targets from subnetworks of the domain
if options.auth_dc_ip is not None and options.auth_user is not None and (options.auth_password is not None or options.auth_hashes is not None):
if options.debug:
print("[debug] Loading targets from servers in the domain '%s'" % options.auth_domain)
targets += get_subnets(
auth_domain=options.auth_domain,
auth_dc_ip=options.auth_dc_ip,
auth_username=options.auth_user,
auth_password=options.auth_password,
auth_hashes=options.auth_hashes,
use_ldaps=options.ldaps,
__print=True
)

[bug] Problem using ApacheTomcatScanner on python3.9 and python3.10

python 3.10 execution:

┌──(root㉿d3m0n)-[/home/d3m0n/ApacheTomcatScanner]
└─# python3 ApacheTomcatScanner.py
Traceback (most recent call last):
  File "/home/d3m0n/ApacheTomcatScanner/ApacheTomcatScanner.py", line 8, in <module>
    from apachetomcatscanner.__main__ import main
  File "/home/d3m0n/ApacheTomcatScanner/apachetomcatscanner/__main__.py", line 14, in <module>
    from apachetomcatscanner.utils.scan import scan_worker
  File "/home/d3m0n/ApacheTomcatScanner/apachetomcatscanner/utils/scan.py", line 9, in <module>
    import requests
  File "/usr/local/lib/python3.10/dist-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/usr/local/lib/python3.10/dist-packages/urllib3/__init__.py", line 8, in <module>
    from .connectionpool import (
  File "/usr/local/lib/python3.10/dist-packages/urllib3/connectionpool.py", line 29, in <module>
    from .connection import (
  File "/usr/local/lib/python3.10/dist-packages/urllib3/connection.py", line 39, in <module>
    from .util.ssl_ import (
  File "/usr/local/lib/python3.10/dist-packages/urllib3/util/__init__.py", line 3, in <module>
    from .connection import is_connection_dropped
  File "/usr/local/lib/python3.10/dist-packages/urllib3/util/connection.py", line 3, in <module>
    from .wait import wait_for_read
  File "/usr/local/lib/python3.10/dist-packages/urllib3/util/wait.py", line 1, in <module>
    from .selectors import (
  File "/usr/local/lib/python3.10/dist-packages/urllib3/util/selectors.py", line 14, in <module>
    from collections import namedtuple, Mapping
ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

python 3.9 execution:

┌──(root㉿d3m0n)-[/home/d3m0n/ApacheTomcatScanner]
└─# python3.9 ApacheTomcatScanner.py
Traceback (most recent call last):
  File "/home/d3m0n/ApacheTomcatScanner/ApacheTomcatScanner.py", line 8, in <module>
    from apachetomcatscanner.__main__ import main
  File "/home/d3m0n/ApacheTomcatScanner/apachetomcatscanner/__main__.py", line 11, in <module>
    from apachetomcatscanner.Reporter import Reporter
  File "/home/d3m0n/ApacheTomcatScanner/apachetomcatscanner/Reporter.py", line 10, in <module>
    import xlsxwriter
ModuleNotFoundError: No module named 'xlsxwriter'

[bug] get_servers_from_domain() missing 1 required positional argument: 'auth_key'

Hello!

I get the following stack trace when trying to enumerate servers from the Active Directory.

$ ./ApacheTomcatScanner.py -ad '***' -ai '***' -au '***' -ap '***' --list-cves --show-cves-descriptions --servers-only
Apache Tomcat Scanner v3.7 - by @podalirius_

Traceback (most recent call last):
  File "/***/ApacheTomcatScanner/./ApacheTomcatScanner.py", line 11, in <module>
    main()
  File "/***/ApacheTomcatScanner/apachetomcatscanner/__main__.py", line 228, in main
    targets = load_targets(options, config)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/***/ApacheTomcatScanner/apachetomcatscanner/__main__.py", line 48, in load_targets
    targets += get_servers_from_domain(
               ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: get_servers_from_domain() missing 1 required positional argument: 'auth_key'

It looks like you updated your sectools library, but this change was not reflected in ApacheTomcatScanner.

https://github.com/p0dalirius/sectools/blob/bb4c46eef1061f819b2a21b8ae5090accf489320/sectools/windows/ldap.py#L247

def get_servers_from_domain(auth_domain, auth_dc_ip, auth_username, auth_password, auth_hashes, auth_key, use_kerberos=False, kdcHost=None, use_ldaps=False, __print=False):

targets += get_servers_from_domain(
auth_domain=options.auth_domain,
auth_dc_ip=options.auth_dc_ip,
auth_username=options.auth_user,
auth_password=options.auth_password,
auth_hashes=options.auth_hashes,
use_ldaps=options.ldaps,
__print=True
)

I don't know if there are other similar discrepancies though.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.