GithubHelp home page GithubHelp logo

typo3scan's Introduction

Typo3Scan

Packaging status GitHub tag (latest SemVer) GitHub license Rawsec's CyberSecurity Inventory

Typo3Scan is an open source penetration testing tool that I wrote to automate the process of detecting the Typo3 CMS version and its installed extensions.
Useful parts of the official security advisories are stored in a database and compared with the identified versions. If vulnerabilities are known for the version in use, the corresponding advisory is displayed.

Typo3Scan does not exploit vulnerabilities! Its soley purpose was to enumerate version info and installed extensions in penetration tests ever since.

Disclaimer
Typo3Scan is intended to be used for legal security purposes only, and you should only use it to test websites you own or have permission to test. Any other use is not the responsibility of the developer(s). Be sure that you understand and are complying with the laws in your area. In other words, don't be stupid, don't be an asshole, and use this tool responsibly and legally.

A note on Extensions

While detecting a Typo3 core version is quite simple, it is not for extensions.
Reliably determining the extension version is not possible, because of the following issues:

  1. Extensions are basically just PHP files. Since it is (obviously) not possible to download a PHP file, it can't be used for version detection. Therefore you have to use other files like changelogs, setting files and so on. However, Typo3 restricts access to most of them by default.
  2. Version information is not consistent. Developers do what they want. Some use a date, some actual version numbers, some may even just add a short text and some don't track versions at all. It's a mess.
  3. Extension developers tend to not update version numbers or descriptions on each update. Even if you identified a version string, this does not mean that it is the version actually in use. Most likely it hasn't been updated for a long time.

My solution to this was: download all extensions and get a list of common files which could include version information. If such a files exists for an extension, a generic regex is used to search for version info.

This will produce false positives!
You have to check found extensions manually by downloading them from the official extension repo and check the files!



Installation

You can download the latest tarball by clicking here or latest zipball by clicking here.

Preferably, you can download Typo3Scan by cloning the repository:

git clone https://github.com/whoot/Typo3Scan.git

Typo3Scan works with Python 3 version >= 3.7 on Debian/Ubuntu and Windows platforms.

You can install all required packages with pip3:

python3 -m venv ./venv
source ./venv/bin/activate
pip3 install -r requirements.txt

Usage

To get a list of all options use:

python3 typo3scan.py -h

Example:

python3 typo3scan.py -d http://dev01.vm-typo3.loc/ --vuln

Bug Reporting / Support

Bug reports are welcome! Please report all bugs on the issue tracker.

I´m developing this in my spare time. If you like my work, please consider supporting my coffee consume:

Buy me a coffee

Links

License

Typo3Scan - Automatic Typo3 Enumeration Tool

Copyright (c) 2015-2023 Jan Rude

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

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.