@@ -937,7 +937,7 @@ <H2><A NAME="s5">5.</A> <A HREF="#toc5">Usage</A></H2>
937937 These options can be used to tweak testing of specific SQL injection
938938 techniques.
939939
940- --technique=TECH SQL injection techniques to test for (default all )
940+ --technique=TECH SQL injection techniques to test for (default BEUST )
941941 --time-sec=TIMESEC Seconds to delay the DBMS response (default 5)
942942 --union-cols=UCOLS Range of columns to test for UNION query SQL injection
943943 --union-char=UCHAR Character to use for bruteforcing number of columns
@@ -1844,14 +1844,31 @@ <H3>Number of columns in UNION query SQL injection</H3>
18441844
18451845< P > Switch: < CODE > -</ CODE > < CODE > -union-cols</ CODE > </ P >
18461846
1847- < P > TODO</ P >
1847+ < P > By default sqlmap tests for UNION query SQL injection technique using 1 to
1848+ 10 columns. However, this range can be increased up to 50 columns by
1849+ providing an higher < CODE > -</ CODE > -< CODE > level</ CODE > value. See the relevant
1850+ paragraph for details.</ P >
1851+
1852+ < P > You can manually tell sqlmap to test for this type of SQL injection with a
1853+ specific range of columns by providing the tool with the
1854+ < CODE > -</ CODE > < CODE > -union-cols</ CODE > switch followed by a range of integers. For
1855+ instance, < CODE > 12-16</ CODE > means tests for UNION query SQL injection by
1856+ using 12 up to 16 columns.</ P >
18481857
18491858
18501859< H3 > Character to use to test for UNION query SQL injection</ H3 >
18511860
18521861< P > Switch: < CODE > -</ CODE > < CODE > -union-char</ CODE > </ P >
18531862
1854- < P > TODO</ P >
1863+ < P > By default sqlmap tests for UNION query SQL injection technique using
1864+ < CODE > NULL</ CODE > character. However, by providing an higher
1865+ < CODE > -</ CODE > -< CODE > level</ CODE > value sqlmap will performs tests also with a
1866+ random number because there are some corner cases where UNION query tests
1867+ with < CODE > NULL</ CODE > fail whereas with a random integer they succeed.</ P >
1868+
1869+ < P > You can manually tell sqlmap to test for this type of SQL injection with a
1870+ specific character by providing the tool with the
1871+ < CODE > -</ CODE > < CODE > -union-char</ CODE > switch followed by a string.</ P >
18551872
18561873
18571874< H2 > < A NAME ="ss5.8 "> 5.8</ A > < A HREF ="#toc5.8 "> Fingerprint</ A >
@@ -2279,14 +2296,60 @@ <H3>Brute force tables names</H3>
22792296
22802297< P > Switches: < CODE > -</ CODE > < CODE > -common-tables</ CODE > </ P >
22812298
2282- < P > TODO</ P >
2299+ < P > There are cases where < CODE > -</ CODE > -< CODE > tables</ CODE > switch can not be used to
2300+ retrieve the databases' table names. These cases usually fit into one
2301+ of the following categories:</ P >
2302+ < P >
2303+ < UL >
2304+ < LI > The database management system is MySQL < B > < 5.0</ B > where
2305+ < CODE > information_schema</ CODE > is not available.</ LI >
2306+ < LI > The database management system is Microsoft Access where there TODO.</ LI >
2307+ < LI > The session user does not have read privileges against the system
2308+ table storing the scheme of the databases.</ LI >
2309+ </ UL >
2310+ </ P >
2311+
2312+ < P > If any of the first two cases apply and you provided the
2313+ < CODE > -</ CODE > -< CODE > tables</ CODE > switch, sqlmap will prompt you with a question
2314+ to fall back to this technique.
2315+ Either of these cases apply to your situation, sqlmap can possibly still
2316+ identify some existing tables if you provide it with the
2317+ < CODE > -</ CODE > < CODE > -common-tables</ CODE > switch. sqlmap will perform a
2318+ brute-force attack in order to detect the existence of common tables
2319+ across the DBMS.</ P >
2320+
2321+ < P > The list of common table names is < CODE > txt/common-tables.txt</ CODE > and you
2322+ can edit it as you wish.</ P >
22832323
22842324
22852325< H3 > Brute force columns names</ H3 >
22862326
22872327< P > Switches: < CODE > -</ CODE > < CODE > -common-columns</ CODE > </ P >
22882328
2289- < P > TODO</ P >
2329+ < P > As per tables, there are cases where < CODE > -</ CODE > -< CODE > columns</ CODE > switch
2330+ can not be used to retrieve the databases' tables' column names. These
2331+ cases usually fit into one of the following categories:</ P >
2332+ < P >
2333+ < UL >
2334+ < LI > The database management system is MySQL < B > < 5.0</ B > where
2335+ < CODE > information_schema</ CODE > is not available.</ LI >
2336+ < LI > The database management system is Microsoft Access where there TODO.</ LI >
2337+ < LI > The session user does not have read privileges against the system
2338+ table storing the scheme of the databases.</ LI >
2339+ </ UL >
2340+ </ P >
2341+
2342+ < P > If any of the first two cases apply and you provided the
2343+ < CODE > -</ CODE > -< CODE > columns</ CODE > switch, sqlmap will prompt you with a question
2344+ to fall back to this technique.
2345+ Either of these cases apply to your situation, sqlmap can possibly still
2346+ identify some existing tables if you provide it with the
2347+ < CODE > -</ CODE > < CODE > -common-columns</ CODE > switch. sqlmap will perform a
2348+ brute-force attack in order to detect the existence of common columns
2349+ across the DBMS.</ P >
2350+
2351+ < P > The list of common table names is < CODE > txt/common-columns.txt</ CODE > and you
2352+ can edit it as you wish.</ P >
22902353
22912354
22922355< H2 > < A NAME ="ss5.11 "> 5.11</ A > < A HREF ="#toc5.11 "> User-defined function injection</ A >
0 commit comments