sqlsus is an open source MySQL injection and takeover tool, written in perl. Via a command line interface, you can retrieve the database(s) structure, inject your own SQL queries (even complex ones), download files from the web server, crawl the website for writable directories, upload and control a backdoor, clone the database(s), and much more…Whenever relevant, sqlsus will mimic a MySQL console output.
sqlsus focuses on speed and efficiency, optimising the available injection space, making the best use (I can think of) of MySQL functions. It uses stacked subqueries and an powerful blind injection algorithm to maximise the data gathered per web server hit. Using multithreading on top of that, sqlsus is an extremely fast database dumper, be it for inband or blind injection.If the privileges are high enough, sqlsus will be a great help for uploading a backdoor through the injection point, and takeover the web server.
It uses SQLite as a backend, for an easier use of what has been dumped, and integrates a lot of usual features (see below) such as cookie support, socks/http proxying, https..
Starting with version 0.7, sqlsus now supports time-based blind injection and automatically detects web server / suhosin / etc.. length restrictions.
- Added time-based blind injection support (added option “blind_sleep”, and renamed “string_to_match” to “blind_string”).
- It is now possible to force sqlsus to exit when it’s hanging (i.e.: retrieving data), by hitting Ctrl-C more than twice.
- Rewrite of “autoconf max_sendable”, so that sqlsus will properly detect which length restriction applies (WEB server / layer above). (removed option “max_sendable”, added options “max_url_length” and “max_inj_length”)
- Uploading a file now sends it into chunks under the length restriction.
- sqlsus now saves variables after each command, so that forcing it to quit (or killing it) will not discard the changes that were made.
- Added a progress bar to inband mode, sqlsus now determines the number of rows to be returned prior to fetching them.
- get db (tables/columns) in inband mode now uses multithreading (like everything else).
- clone now uses count(*) if available (set by “get count” / “get db”), instead of using fetch-ahead.
- In blind mode, “start” will now test if things work the way they should, by injecting 2 queries : one true and one false.
- sqlsus now prints what configuration options are overridden (when a saved value differs from the configuration file).
You can download sqlsus 0.7.1 here:
Or read more here.