From 8f973ce574ec23ff440526eee43841cf75de5e7c Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Sun, 18 Jan 2009 22:36:48 +0000 Subject: [PATCH] Minor layout adjustments --- doc/README.html | 28 ++++++++++++++++++---------- doc/README.pdf | Bin 333480 -> 333737 bytes doc/README.sgml | 28 ++++++++++++++++++---------- lib/parse/cmdline.py | 2 +- sqlmap.conf | 2 +- 5 files changed, 38 insertions(+), 22 deletions(-) diff --git a/doc/README.html b/doc/README.html index 0440a5959..182685701 100644 --- a/doc/README.html +++ b/doc/README.html @@ -236,6 +236,11 @@ and Microsoft SQL Server back-end database management systems. Besides these four database management systems software. sqlmap can also identify Microsoft Access, DB2, Informix, Sybase and Interbase. +
  • Full support for three SQL injection techniques: inferential +blind SQL injection, UNION query (inband) SQL injection and +stacked queries (multiple statements) support. sqlmap can also +test for time based blind SQL injection. +
  • Extensive back-end database management system fingerprint based upon inband error messages, @@ -247,11 +252,6 @@ database management system name if you already know it. sqlmap is also able to fingerprint the web server operating system, the web application technology and, in some circumstances, the back-end DBMS operating system.
  • -
  • Full support for three SQL injection techniques: inferential -blind SQL injection, UNION query (inband) SQL injection and -stacked queries (multiple statements) support. sqlmap can also -test for time based blind SQL injection. -
  • Options to retrieve on all four back-end database management system banner, current user, current database, enumerate users, users password hashes, users @@ -313,6 +313,8 @@ randomly selected from a text file. there exist six levels. The default level is 1 in which information, warnings, errors and tracebacks, if they occur, will be shown.
  • +
  • Granularity in the user's options. +
  • Estimated time of arrival support for each query, updated in real time while fetching the information to give to the user an overview on how long it will take to retrieve the output. @@ -329,6 +331,10 @@ save command line options on a configuration INI file. Metasploit and w3af.
  • +
  • File system read and write access and operating +system command execution by providing own queries, depending on the +session user privileges and back-end DBMS. +
  • PHP setting magic_quotes_gpc bypass by encoding every query string, between single quotes, with CHAR, or similar, database management system function.
  • @@ -400,7 +406,7 @@ and $ python sqlmap.py -h sqlmap/0.6.4 coded by Bernardo Damele A. G. <bernardo.damele@gmail.com> - and Daniele Bellucci <daniele.bellucci@gmail.com> + and Daniele Bellucci <daniele.bellucci@gmail.com> Usage: sqlmap.py [options] @@ -433,7 +439,7 @@ Options: --proxy=PROXY Use a HTTP proxy to connect to the target url --threads=THREADS Maximum number of concurrent HTTP requests (default 1) --delay=DELAY Delay in seconds between each HTTP request - --timeout=TIMEOUT Seconds to wait before timeout connection (default 10) + --timeout=TIMEOUT Seconds to wait before timeout connection (default 30) Injection: These options can be used to specify which parameters to test for, @@ -456,8 +462,9 @@ Options: using the default blind SQL injection technique. --stacked-test Test for stacked queries (multiple statements) support - --time-test Test for Time based blind SQL injection + --time-test Test for time based blind SQL injection --union-test Test for UNION query (inband) SQL injection + --union-tech=UTECH Technique to test for UNION query SQL injection --union-use Use the UNION query (inband) SQL injection to retrieve the queries output. No need to go blind @@ -472,6 +479,7 @@ Options: -b, --banner Retrieve DBMS banner --current-user Retrieve DBMS current user --current-db Retrieve DBMS current database + --is-dba Detect if the DBMS current user is DBA --users Enumerate DBMS users --passwords Enumerate DBMS users password hashes (opt: -U) --privileges Enumerate DBMS users privileges (opt: -U) @@ -1878,7 +1886,7 @@ stacked queries support: 'name=luther'; WAITFOR DELAY '0:0:5';-- AND 'wRcBC'=

    -

    Test for Time based blind SQL injection

    +

    Test for time based blind SQL injection

    Option: --time-test

    @@ -1954,7 +1962,7 @@ time based blind sql injection payload: 'name=luther'; WAITFOR DELAY '0:0:5';

    Test for UNION query SQL injection

    -

    Option: --union-test

    +

    Options: --union-test and --union-tech

    It is possible to test if the target URL is affected by an inband SQL injection vulnerability. diff --git a/doc/README.pdf b/doc/README.pdf index 341d696858a5b6466ea21b9d00344356a8921505..bb3d386df11d9845b481adb6802d94bd3383ad57 100644 GIT binary patch delta 37461 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%0De8wxccWngeSrDh?NPc8Q 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 F{6DH;rb_?- delta 36891 zcmYhhQ(&gS5-l2=6Wez3$M!@MJDJ$F^T(Okwr$(CZD(RTclJK_+UKpUQ$ z;R=HnC=7G6oBWc!E&;&~EkA#r(w8A{kcOkz-cQw_sZ~Vwj5G zRd^4K&T$J17M|-C*%D{ulV%=;3+clo0uWw*q1_yRQ(2Vej67Jzc-(12MDuyZW(G^+ zaZms&%qcXJSk3}oqCwDwA6kglko(yk0cw!qPN6^c(Jg$t2bVV~*$s=CKmc;X1kr0)Z(ZwjoOGQZ>N6q5gnxsSgz>WcNF<7bY* z?>+PE&J=`FBT*6fb=>5_Z^Zd$5gMb&4aZSDF%!|RuxX+zPG*RJr8X&E0!^I3wKc;_Cu@pQ0C@7>P7T!+PDYp zR)7TA5AJqCX-1T9+GtA24UrZ0tfrCHOy;3y*{0S|am*^|?Bm(mxP8`5cxFCFFQxPE zuRSI4L`dOLUY_CI*n&sHu!jnVcb75XHLEcXvXQ*3%IJo>M{z)DS~!w!p1?YI_gh?@ zgh{Dd8a!ebeR4^HP119G}0%8heh0HFOYF&HX1m+yh;+tyU|K(Z}*VIJ26qesux8tDP%nXLBIa(hm?~Y1A zDl*@lUmB`i&szoOL0FbAu{n)-^A$UX{H5keAG;EF(ZotZs#n@y_ReL%lSR#%#iD;qm8 z2Y{WCgNrjkkr~jCE2zww;y?{blYsAr0Q6+aheg?q=UxlDbjT*4I-AZAjR)5b(2Ar` z+S_kFUXjNr2VtDDLPH_DkBg4J~)3nAF06NRG;}RRX0As7dLipDi7Faj(I#c1-86V z#O`?}9MQTrO(*oC>+Ynwer`;;&HRStPcM$=iX@+HN&rN+hNlWYBP%bOk4u!%N6tgw zI+UvXQU*qe@ucw|AZyoYpS068|J8sZx*54x#-qsJjoAiJFk29K+ha~?BL{{xe25Q>t%^CG+=SW+N><3joj8yXxAvVlnWO1j#={f6- zCdcP3wiUdx%Z`iBemU@AnC%y`G0ca%{7Ce=;=#7uB%3(KJgeq#KnTSds)+hCAZ997 z%as#z)O74*I*h?bW{>7o2v16ud5Ipk#&N3YpWBmUH7xiNd%|<7-EbYV`sZC9zaC{5Za*|pUR*W% z-KfqWLw12#?yfA8NK+MVwfdRSX>J&IF`K^BW@3Y^JTf|7zHahE*W3R zztzu$xNw|Ggtn5rfjP{h$Sqe!3%ZBQtn_GiHLxqgCTARN5WfU}IYHk{{M%I$MQHg{ zt4^k`;<9cht;TH6^+%xrQ=3w67*f+OLc}?=VJechC7uWpLc+1nNCJV!i!Ks5!*VE8 zPraKf$IpWe3ZQyyutj<3ZkG^Mkit1sr(O8v9Q|Be-j6#A9@;zjPrtZM+m4Q5`un6( zg~4s{I@C#Oup0$%OLukKjP|N$VswH$UY`lX1@FeyVoecPQdsfBm9#am(d7*=k1Vku z8W@-So@pT+e8t_WQ68Z@&a&7(_=RL%_!45SfGCZHc;Kn!dkBvtrDQh}wc##c`%oVR z?FhrZgz*?7YOe^tw~u5aKR*mJk^%C8fKB&`sc@f+B;QkTq-EL3NBp|ShotSX7_5mm zDd*+(P2}Q${?5)7VNEgcy1&HQSQM_upDfDc4om-HLO!c(J^mLisG%V;8zxA%SnmnV zd|mEd7%&EjL?hUUH~q{9525b%0!b3ETMFaPcqTYl1(1dkx2$>wA>V9hQtQN;WKHM& z#p&zm)ATlkM0Y8*6MykTWo5XX+B{qKZ$4oSt8hMpbzT+>oK$go$ zW^5hMG>kCX*Zz9U_YtzWA5DO5zNF3wa9XUcy2))~$glyDD*VOA%|Zp3nn6Hx``lio zZ%?`DkF67Y2xhLQK=@9U7yA==Jz;M=kY(#M1udk{1>oEFcGDf85 z2nAEN%@`btHq(ckOl(S=`=mqpdkRXa1=d9r59$N&L=jml%GT7HwB3NwxyDF;plGp4 zr2ouJA}jG3VnSY`zeQuR3V{?wvbGy%%;pXZVbaS07*!@xOUpZ<1^WZtN!@r#`-G_)vVSRlGI9b~Sd z9DG4Iq~U6M8|W!c+qrX}s?jD1P`!)zS8UgKJt+FBUq@<;(O;>FpQJ}n*6+ibWC4pL z4e3VaAn<7~_?rBr6U^YfWVwdyOIdUAr0Ki+ul4%!bDe}g!T!phicW!1X@$n!Sq9)~ zjh_$)heLnrY%69CE3+o=IL$RbbDWu5SEoaV=JV52MuEwoNc-AiG&RB%0_%69X)<() zqf8RSfGj3dheMVQnBgkkEM-W6Z}~s(nWJ-zVY{Lb_0e2bmq)%-7#uN!Ed&I783J^H zJc9dnAqdePn}Z&Nwe^}Y?HZEOMz>VUH?$7G(kjmB`#OVx1^v~^L(wQBVR2T1a-C?S zVM;X`jCL{qG(1{v4-TYx+LSu#@5tlqJ?zfYVg5In7O z&B*i&P9VPGXW2}q2|&uCAeh`kMI@kEJP)N8yK1A__Jh_D1VfAMrK;4v!~TH>EbYZ8 zA1(__6Z2t3X_0^x0kUs$`GtAsfNLB;Nwd;iY~=m{K<`cLYr4t+t`{eyLqc(zO1a^A zCR$rc)X@H-_iVBw805X}#QCG!Z|kQT6hmpI@wSPY*;1q%QAIcW)frXncY_$=JxHEf z2b}6Rn3Z84g^*!1EYA~A77ims7+i!5jLJL9n)6vBfCANOFf(s z>^d4f?cmZ)?5neGtJsb)W5rTS%dVv8JjLVdBzLv;Y3CbFF~HVaXVx6eEA11%Dw4J_ zn2|HnX$J;@XF-4WIkC5_Y~<6}T8y*O-Qyv|1zGyF>ze_INLmA+wAf15%_fA|3HZ*t z1+J`B!BdQVoywm?kYVw7UW%EV`iEJ(&T)beky}oe7z+pr-G|NTRBC4kkV-ak_(J#$ zj{Bf(m`<-<86MyKR)&{UNH;Bt_0kJXivll`?{ z2UfeT*UZ3r7KTEmDm(|XuQlsukDVndu5*T7$Hdm~4~(jC?1~C=XE;+9Wn~t9@aucM z9-VfO1dCLY-zFbLC;5U)a5~!xt-ip|(WvxU&oJT}`m_88k~4&)t$|cK%W+V_#0bbI zz+^Cym!E=Z6F$V9LscErVnTK$Ga0-KYfp8vfhI6)L}M;rCl)u` ztTRBYAZWtw4wc}oh_0Oq1ie?p9Ri_ffd!|`D*^GFlt9+iJxC#F4;PskUsxHJKHiw? zJ0m}&FEE`Oo1c-j;L0xKvL?Se_uVz!pFzk%5n=e>@OuT;x&9DCt-4fPVA(mCgrwE9 z^uwVE61V3rOJVcN8qJRt0joO=-|Wk4X;pxtv|+3zCz$n+V6+YFy@ZLQJ?>GuTRV;) zqA-}Ip2xFP@F!yj@ZehG^Tz2E`X=j11lEI6Xl@k75tust2mOIv`)&5Gaer~~<@L9L za?0{n1Xt29yBSOu4afbsM}@3l8uhlg3fL9Ft+~Q32jZQVn%p@Ip64@tZyW|8NfJDwdLQZWiNvjON-al)3=!6o=-ladOvrW_2MnhDButu`1`bJ ziX(+HcN|Rwff{Q>RjYUL+U*Pz$}LVP$bNi8gjyJOc&ZKPx569&iYv({CisWN5-L%a^ zVJ^bV-m(`JrAzdNd<|#}L4BVTrytVsv%dBqFQ=Mv^ajt-cKnmNboR{#w4lff#yzGE}9*RsWp~?)f2_Ax%>|voZC{9!G zeu-ntJI&nBe(7idaPSVn)NmlwJg0|;>=m9}-;Kdrn!ztty31!;F4)?^zO6mv0(7hk z*mp4t>V&jwLdGH+l%09bU}|ur+e3}Pmts^xq+mHmT^e24E1h8194p}p*Vw))pSurkaazfGBshP8Vcb9vAoaleBwAx|Z`V9=( z+39WTd?GU=siwqXLZCG?1jB%0va_-=as#-D*#XRq+}s?*>}&u=PWFVjbk>BPFwz9X zKYR%Wp(2>C)}(#IW&P#Xo~VY^;1gJ0Wwa(_Bp{&+y;G=#hH| zymmH(fc4og2`y%N(_k-e3HtHD36(eE3g`(#PZtZnf0IiJM5T0V{_&7^MA5z_!|i}B#fa(;X4lWi#XYWh&g7Dm=MplO@->($#^|Bqns zd}<6FW{a@u#I(;v0O!%FuN19_{&u`=qE5N17;~+W1F?3~RPrmJUYBm*vbri;m=3m6 zZ7Pw&@pqD^^0HO7t=h{JUxOlFZql-evQvr9T20>qRReQS#PF>#rWh%rlYsix^|+da zf;0Ze_9MD8{7G*=aFhlIS4f4OB5Ih>2075aRBf{}i!zL=;uk0sKshPB#JL4LD5%%U zDsgKXz(@LP$pZpx`Gg)pOoagssdkw|9XAnbTm*`~zJbGz4Bo zEwM?>8JkI_1Jo{)tkMyIj5XMN(P7u1*(0ALJ8mH$%KMe3+SH5~nMO(d ztbnukXY{bJ@>M4CTPdFC2x+4Ug>Jk@pRk-pp+g|KrGoJNO7WE2>}}X66G~Oa>Nug0 zy+XM7KqF92$wQUOA*Gl#RqA^1pMj{1aC;*@5(?{nZY}=QU|x3CK^5w95!@2Wf(;N{ zbQ`$)4b7tEHW_L}!3(QwRXU|@g;Tcp6yjD$6`13vF06KSr|V{X_UdZp$X0rufK2axzY?5c?k1Me#lXy%#f7d4;u85yG{M zCVHGr;zr&|X_R>K8d*?WSU~>rQB@RF;X<)G5hqgg&*fh^Lep038%kT6oF-;fP#(3G zK5-!&CX0aEu&q$*XhEGYJhE=oSn~I~oV^>onJfHsXtQp_^ zf@~RkQGgJp(b+_DhIf+LsdVn{uH2<3faK%K*h>1>N8QE*Bz20tgnpS7XOw%MG7QtI zVJ9)vhtUyHff?}ub{=&oZPYI#X=|f#U>{!Oi!)5F=DMWB=p^qUtg^ZQwdC+OBuV7L zM`w(In6ReXbRRrgO?Wu#xV?-F<7>fEewhu6n;dJ6Lm3Xz#>7DFA@U|1Q_q!_g*b%DHPC0Kp$p7jGK?g0WJ*E{s1#*( zwc5fszLb4}-2JB%mJ0PqGs(o#M3a&Nu@%2>HrH=|IDgIdeODnbZzUYA{!oSb58iYd zv}??9l1B@84D%|Ax0EI?)2xiG!mw1!p^7c@sN=iv*z7y5o&KWdDCiR8WX%$0z00K| z_n)X;V&pZw3Y6RVW4GE-%lS7A;Fj}cKO8uGF%HC!Mv6aulN17ljaKjZj;~MFcVWw) z`H_nnU<1d;ry|L{xc5f9z5JwYo~_JxUz1Sq|?!+d#!Kv)a@YD9m_+bvCKnY2iJ{F>M zlEpIy1%rzjG-;n!F6KYp(jDmMsnq__hWs|O*hLnqn<=SOV5yKEl%x+jqIjQYTM-j; z=X&VE*QhxJSh$BgD5M+p@r-5zrOYW;c@UL9;xDQUOE*lsY!;W7$#mtibu}bF#p?d- z1B{6>{@{nR|4|@qLUy({2JXH;2w~w9p3YBFX3XY7^W^*}ii7vJf^&+Kcv^pxX-eY# zi(1$uOl5mckN1N+%UMg@pgBLMIgqZtmos&g{c`>4wb)tsReRS?C;f5wD3m)>*o14y|2Fow-(FZ36f z(y^_3O+0Vagx}#{WM$wS!FV?7HMkDSY0{-Ky~Kd3i&EIV)%5Z0mNBr^-*bNSW$5Yk z_(s8+?s;FId}x=~H4sE~Z#$Y#s6`q-x@_7HMQR>u2g-GBo7jODmotFFcyTxBRdh`8 zhPfV;T~fLy0`6>G3A_$tA=|%FGH?i!b=ZO)v;%&+f8`Y(ZGCEVH_@|rPIhe9eF^RT z{`~=lL5^A9nk>Yg-2 zx4Fy}&j+Wk#s$NC56O0{3*IvjTQ#XdG#di3Yv-rX9T`g*TUsH z1iiQnCg!`X&6tAwms+Msx7ClMukma(`h3pcvxdnmK%?(M243I5k`E?`pN>Oe3{O(y zo=i$5dpN$LfgyBte>RVwnkLY_L#;s9o8VaJMbZchPco2zU@V_$vInH$U&^ayF5Hp5U}jAZEB| zv01AALN4#9*Uy~3mMbmnoS4M#c&+$h1kfDA7Z3OMPPr)70$?Z((^F0#QLwJgPFM49 zg)Q|s+vbrID=TK-pc>?K-T&>|=%x{aqH%IFvi0qp;XSlAdj0V%mo|CIgO|BvMV(3t1`MrHly^8Z1A zed(k|VbiO&g zNRC&Km*Yb#z3P#mO0ZGZi)%5z(dl_>e!2ErxIxyAYnG6)Sh0t${#DXww32LioY}B zMsp<@ad(W+hX9BoH3UQjMnDnHbnk<%$|#VMW^Lfn7pNE0_VVZ=fhNtRJF&&8txSm= zPLSjUX+o1S;qAngaP^10mci7B<yccjKE7BoP9a(wQBKaY@N_PPlIN7&~+%hVbNP!X}HWYVL(Uw>@7gvM1CROVT#z z&xM43#cs^9Q||2U{&$zw3LtH-Ap;mac}eldH}D-!e9DF5@q~lI!BE2EO%l@JG_BcB zpI2eEI!Hk^KqYc7nWGO8)d8kOr7L;lIDGu_q@AQan)?At4!XiT$H3TF0|IBRp~G8m z&||oVj#5?q{q9^RJ4@=Y*o;?hH^f06Cq{hp)BoVyJ4H~RN2A+>+-Klu$E&uKeCWGU z7O0-jH`M-=Eif!Tbz(%<(UK}|B#Bl^s{gh-s#X^<7s-ct_LHXO=Tijc)zNE;zJq`s zl=&XKNk!%eqy%l=Gk`ncoS}e<^Sjw|IoB>uC6^5s zV`>U)_u8E9e!b1K5FM(|)0rSB}nGjxd1dA)nnn)Cg&ifW>)l;;yu^%2VP; z4ii(+u?D+RNL(<+h3|$~bNy#d6U8C~i+;LUuIC)CNK-e0o@tN59%SB?2O>gWF=?-^JeW^C>QPKF3I=#LiE!Ga z$$~2%D32nvaTg+)ZX4X|9+BN$j_~T$fqhpVOOO_Nqo@6 z$aE*KxtTLz&W4DfSVty=4@pK|R!|9Wzi+wpT*FIR<9EisEwySA9yc^Ym-phq4c)N~ zNVtjF!}tC}rZ}*chrJ8MF$eUDPqeJgK_iruW0WuFr^e+AF2eZvCLM*s5SJQmiWV=rCI0_#dw3ED+K}6{2XX--VZ=itJ@-^p? zz6%*T8&KemQ<~AvD@l^ku&b7TX^s&E_m&&YV)L!Go2>~d4SWlD61vvGrIjkC!fNzO zI)#SEz(61g^w>m@#RBgIeiuxY9tNLF)H#adcu41Z+?v%WX8J+@xJIr?(}E#vxUbmcgY;Jq+YN zt|(J1jFS4|xYx^cEk>VG`Ud%;>r8g0xq;1xy>2O$7LB*g4vW%O7TlXVgeKGS`qVYGtl^_hL(p;r6X`*XQPMB{tm z{P_=O-S42qY0?5%J|nBO*F}$Ox9zRg=%dHZINo~TN7Ew9sYhVmQRwo@Rjr$WJm0(z z?P-Xv_x-oG+W~^roiX6_QCESwkV+?iLDD$a(^yW(S**2G4!`E)7vBrZDeC?hLvvP< zcw6-Ek{D!}Z_}@%e%BDA`7EmM+T6(b!+yf{0b2=V2We4nsR;Oz3C^+S{K*320h>VG z4TnD9j{iJkk6g-^q3`!?zpEtU8DmlBs&?^RTLHx>Lh~KNylJ1+?O&4#`>M@wig}-E z4PT*G5rJnwvlrp>Aqhwh}nbT=PqY_P_Aj(_b6@v%YLw2DHez-^?kW}aMk5u7IV zRMjfa)UAxrL2kH3Sqp7$VMo!>6Cwmk%$Y1uT$H#}5|VW zK8cNjPMQYcCT;`=KHmj>wB@Kod&pml24(e6t!$rad16v|Z)#Ckf7|lK8oLR}ivuo@ zgqnP%R%XSjwtChKP{ONL|8f0QtJg~;8GeG!LA{}Uv+Y+!8x5hnF4|ly^i0dh^4lRX zNbn3OkAo_OM?jYiwWDc10fLOLpBz(1Sgw)4C_Se7TPV&D@7WsKFP~l_Hh*I_{!&B9 zGRL58ydJSvK%+hTDc78Rb%OjX zX@)GRUSKSqaFaSlq(K0vg7bxi&Ou*rwgpa@2BvY-IgJVrK3xt~PI1JisqwjKsy-dQ z^IOWUTJYN{UD%R>hE)4Obb$V7;0rX>Y;K11@}Wsue|n>irrIEzAYst(DwhY=uEbMh zn#~bz{p%LB4E~=PIN) zy5Mjymqa_A?kug%MiQs-`T715M?=1*vGRQ zuIb;{8i+=|#dd)Rt&d1ZRZ0e|xql2*)`+}xB*9JW`L40-#Bs3y9jjnfRtle=WTj|8Ba z*+h@UH*b)@z+nha0U*O$14I!2v{=wCN>Q{BgvNOWLig(#aAb=Sv1S0L3w+QAG?etk za2aDU2b$z`PEV$S=~h{@Beg}vog1|cDWni@UAv^bI$g$%dxrT#W_4PO5a(Oh!=hOT zk$uM!Y1NvDrj9RO$Ddqy+XE2rF0AT9mXIWdZvAB2SN2Q#7)x`@2bN^PT{24eIT=9L zzf2H8q4w$@C+h@H<3oV^Gcu3Ebyz0p7B9^XE%yDz4)l>L1bytv>2zR#$vhe0d0@|qaP{SUPWd8& zCt_0JRIEPUMtdVlXAC#AoXa$oz8xU*bd%Xpl5r;8R(QwXFr>`%^-O2@>K{A(Ah+q~ z`z@)da7!muVQc=>88GN^n_9yA$7s0|6kn1lb&`0Q*`++t33eVgOu?DMBaEeUvS#4(v*i^=D;E38F zKcj2}$X5TQg>4KK_2p(4HsAELk|dzZM+`X(p1X!^oz{||<23^`wt+7UO?|kA1Zgop zGLc!f8wmQPOepWXqL-ynO%IR{J1TO{c7QWCeVTiZ6|lxjG3THn)C|vfzmn&il>U6) zL--*XR|s>~djq|7e@rmc34wwA*~9sm`I-d;)rJJhCm2kiHEcFfgMzU#|GyQHhK=0@ z*N?AkJra5(4V+T+xI}uI-o4nTOpb_7XT0Yt(HafrA2w(CE#Zl}-|qzBh1T5CEo03& zVlo41X4yE?2$z~x6Ajzh-rT}B5A?>tt8hj$;ttjnM`I;3*-8EHJM=S;2czpxN<~LA zWbT;DTVvN$H7QgjSlF6%cr(D;O|9xgr2S#?+T^mwF{I5jw4v_LxCQnMpWk1up8f&g z9>8BZ$btR8d6IunWlKPnpQu6PJL!e<2t;qriYB8$*j^Yl9W@&;V0biTbAuvTcOL{K zIbLo6q_9uSl&CZwP@D0C`mpj{85=Syr^5#p;^%q7Bk%C~)~%}dk%ZirXSmpqJ`yYQFcgBEx#kPi?*=$>~Lr6cjU96C=b z&NYzg9!GopyHith4Im!AcVRd2nm84O{9?XJpILP~Fs~Ni{WV39U6+4~IP~OoQ&=@2 zK|NH_zT^k6^PuSU7dr&vAzrG9Vkbg8eRuX&R2Y`RWr+=XY9%vR{w$gsvK8-%3M(B;`Vn+FMqwyTaEJowcsmeCN! z(Qlsr`8CgS@Ovw)c%cw zVCzOD$79IyF7~xD*YZ;i)?i7-GE2I+4?2a%((h1dFLnaOaVOFPN)Ln4l zAMH-~>81zPl+N5*!@{#xB0j&q*&<+aLCLuw$ai_8KYU`Dz2%HA6X0pk*JM8xqD0{) z5R&b<&@6#-%G5p9rb^wa@1C4{ZOS5$%6jlN4n@B+$QV~B3UL}iN;m5TMU;)IIHtRg zbxNajj)&Bn2%QP774eLjO~~b*Q1nHdJVAnTXG4a|R{58L7e!)zk zjg8Z=WQlIX$}=jVwt(f?1sY96o4xZna0#F_{(*y(ws(<<@~KaK%qUfsJs8LPt$q2D z{xM1^rvKlzd;9(p6zR8aB$)MTlc|Kaqe;%gVwx)-sU%gVMAhpWuBf9pk{w!BPzcvt z6(oJL0+}J@nS%)^sAd=dP4CGx|CZQyUb{{MTH09`zRnpHM#~&{>O$EGQyR+D+8K~0 zfXDARE+Th<1g}7ueJwMYS0fXQ8`#@_Xu`=*#n1Otb~rG z@mIHrVZ-8BvU?8sqGnw%4q$C2yGjDAl;Hc1i9%72^?$Ja6b$%$PS{7S79iTV9$?QB z5@b^^Hpe$g0w6xGUq_$9-`TXj5uD?jWP&wHHauTJ7Ry<=OP8f1Ei$~zq_jkS(~mp@ z0sQh(-@u79t)8|n52xMj8?ob+dl5E%5B?Xb=l1KuH%G0?20{RqpRESn zwHoDKZOb!-8PE2yApZ3k(ntNkD_Lr{)@G+}x7XwYnbKIqPjO(5vY0PrNvO^yLp7$I za~bU7!TtclPrZx=_RWItU8!N|bH*7xJ%$ItI`xzlVy`j`_nKmCcSHlrU(p*8M`JlJ z=e867`8_A>bk9Qkn~2~@xy1)XPZ;ir17l-P0SyAB18UoCaG?7>*Pw($y6{9`Qj90_ z83$%iMn&kX5B5PB_YqGtPO0UihuQ9bz7d2cT8}uU%d~{rFy*^@yLZQ&P|hc_u+ty- z92EN-G$L3#+Z6oOhI#Ks9geE7n!pbH2s9ws_Zqgz!@w&%=)=arijt3N8IX9N9S({4 zh~8oe0iu}<2zMXg4%9g;InPy}y%u_;K`Xa=@qf$;3|@r`IPe>zGHaL{$&>@=_Q9Z+2HUjtxnm(nZNDzQfRWvkufR$MdG0~ZE#H~AJ85=|4xBhEDB>I#N4 zxTmnEj)DL<>LN0T+=yrb(-auF28MV~*VMJzKpt9``Wk@p1X?c)#DVhX0x1^Ys%(tq z;GXxkEIge_Za%sH=5 zkkChkiLqX>q^R-D0%f{1euMb=uaJcB%TS@tg2(gIVSb5P4n3m)0o~b*SCIp}CVL(` z&?dmU0=^)$Jvw^1PZy;GwU;+~A#v~syL8DaY|$U(J&TnEPC8Fcc#1t}yO|d!kO@72&YFM+vdB1BAJ-;jP$MZNGA0f#hCNzRimh9<)Y*}3 z`U6B)p-eWX;XhqF{Zcr%PLPKorOnQmtUE*XEXed!GcQ@`j8Xb3DvC_GP0G4>-Qkm& zcK&i7$kq}Y0@a#`$7KV<(`(D<{bWt7<>tG3Kd`blC0N@J%90}kGOPV#NBo0;sEF>6 z%<}4ISewFak;1sf!m^N4cPG|VB_h^Whvr<1;&_3q!G3>9(Zg_eh!AoDF-@I|BpDQ0 z;i{OiJeI~=Ev;tO}C~9(jdAX}C+R!lPB-4IhAA^;uC6iF&W7o6dkBb_g zP1Hl9$4%y^?AMKTX-H+9gU9~`#)j*o&n2gCLdhCITc(csZTsHiDJ!kt2`}Vc@y~`j zX7L#~rQDdXy(^CguWKb8oS&>r?C90Z6Hna+K(oLTH5KT+pY$F$+iRIl@|1T(OE>4Y z%VnQp$om6>@QjmGWraMJAg#S)2Jh=4y5ooFY=}{;AUMEp2{nez6- z9DZ{8+mI8VUS2-@3%Wkw+R=^YL|?i33P`!3mV?sXE}|eqRdZjR%i){BPi2D;HZEty zyc&zZ2)2cLot;5jD@MxV=Y^^4;Pxs`%gP3)#6yuCyb1*{sy~!h9?RgPioGRHty@;+ z<5M2n`JF*?P9a=p9p1RFbb&%&D0=k_UD zzGd*k^p$FRO4gTL&^H%c7(Bz6pi^Cjo4+>?zxRD>TR8=+p$CTbl<8er|638E4by<8 z%v<~$^}1C1R}OKYd|m00pu_9CVNysZih005t%RYu$z2S?F%!c>sT$COdq#*+-1h7! z7H0CqEmRGJ@ZmVA4=MvU?KG=-fY*Qx`^l~@J18G_?sy5IvypeN- zBzFk&gLt+MGJE5Pt7e@NwDGVc_*Pw}uS*Joy&xj|fEXjG(rd<9D$B{xDDy6VrNaCS=v7zoRUC^wHq=0k8zp7hE>2Qs9@L+_Q z;Rna8&BoP9T4EkwSAq}L-F}A+#|+0r3=xQ|4K+B#nak=ue$d$y1o8yNLA+k!zOTNA z50r2sIKi_ZqVwwUQab#jME?&c;&n5rP#~{>c;Y$(_Zjmw@ywl;-_Hy4640lylPCj& zaO?Ble$nbOrH{Z$k-ELQQB7qh81dw$)t^znWnLvz3EnaL8O5;;;CnTi{Nrr(4TKzh z^~~@w9B%L5j!}9P$)81j;N+DyQj;3Hw9GSU5l2f}@Q@yA)$2@6m*_iIH)pDPX925J z=xn@Xx+aUn3E7GilF+;~%VWx6G4@+&zb}1v`=HIe zqM<2%wRMT?yC(Gho7%dNI|iO4I1s~ea1-dkoN45nm+QJFy49|Oy;$AZ>bHLtZp+k&449W&cKoc=w*4$t|pG0=hAL}R3sSq%mg zW}yG`TW}Dy+7YBK4Ts!>I#jMEI8+rmo2DpBr0l1&>KVNvE4c$lHsK(y+CSn9r6)b;#Llj8ft1nJkZcR`4v+a;WHP? z4FF`6abapK5rs4R2qo}pZAn+^DBKA`2FP*Z`y>okwg(`38`ivOA@AQkkCyL~9aR*P z&1i1=CM#uiy%XumFPtNR!43l)f2+NJS#@;QUdSMc6dr~{Q9(&Yt5bHI}APwGjoWfY(MlANod|9W={&Xo^?IGuWl1L!xLe$<#scj=!PtN%AEYsN$H? zOD`481lCTK>@1o*$-=iQ?+{tRC-*)C;QiU?!3;H45S(+K88AQtB0qplk`?~T zN#*#Nt=7KI!WMTJSm4Y=LMa&SPjBz7`xSM)&>mKdVST z)QIyF@&dmloGwb}^mn?_M%=|%iMg`EeKmDRP!GkAv@kfI=HWM~T5zFriFD8)%61QD@N z9EIQj(xZTyD~bh#1jO(KRAMwCfC>W70E!d^6_KV$Qxqgd@oA`vSl{p5nYnZC-mLX> zv0Uy`zH|23XP5up=Tdz0XG@z*+wh0?drnyV;F3O@@B6G)aP>=`7c%=|q)8jgJa#QZnwkNNt$t;cuv`?UMS%li+mIdI0U8|%+_XX}=#fhjx> zm;Q6x*AJ6=Gle9}Uca&6jly)7;=vy_f8nHkNuvV;AMJM8+C#H{xnxqXYiWn#?LRAM zaoWr4-}tD-eN#_V|DyNR_a8lWS1P!4#jxRT-<7JrWlzI5e}3&-+Xnn~%O78Ee&E+_ zQ=dKeT$N*U2X_AW_TtBCt-15@&P|tH*mmeOLvG!B``m%ko@_I`>6%rGX3o0sz{n*N z`*mwp-nTXw z*=u~OUJEAveZssufA#cR_ZIYD8;zYYGyTyGhniTw@7KiN`9Y&QUYYZYEw1}ryI|Ms z>vxUs|ML8LXD#mh+<7m~F6h#-`g8kN-Z5_K^YxxfzhHelVfa0pp8rq76L+6A=(I))f;=NU0INBa9w&p-#u00g-u6%*SyyG(?{?9X=~K-mW^|2 zH7%)AXY`OJt!Fd|{?#F;TZ>_&!%gE+E zF75Wwx@Usj?>@dLUHw4YKivC9jTie|(QM?^UH8A_%;~ytic>mg>_58M;XD&Z$|Et9t zz8kY=_LiHj?=$4JjnDkISy6jGX}dL=^_N=J`);XP(s1hW*QzdEUcF${)8~&oI^26~ zx-Iyb8e@e_wS!`+wxxw8sF-iKNWNyu%`Cak4*fe&*5$tue*Q6y>%a5Fk<7bV;kxY zz2IlPpT1{Uw|7SPH_bcek584hUVDA3r@H-W`iPhB{NUgdeM=@3en0I=E4{YpwrBr3 ze*J{akN-R@Ilk`;@Aoe}IedS+Cp)g3vUueM+t2!ZZ>w()@7q_kU&m^L>OAvx^BFS+ zJ{AVYW_{V>!A|Q(PgoxHKlIrC`gKbGw|MB1jm;-kt$teildGzHTjjz>f78!>wzxn;qs&@s$ht|F4(x}?||Lt+&hweSQE}548)2Ql;-r9KjIoH(t>^Czf zw>*4Nm2qwFTDhd{@9NL4*Qa-<@uSbasP~Ci_YaId{;A6kg@-@*-`9TI|G^U{zS`UG z)8)r{f3$tb(fIMsJzkpo(>*))_PBS=ft9})yKm~Tq~U}aW0&_C@W|rr->+_XU%&rZ z+4I|{CeL5k=JhK!Er02>>3i3|c2)mRo%(gs?;UD%`y&_JGI!mTQ?~X0ThX;YyZheb z^X~iL@+Z3Ytov5oUCyFubz7Y~tIyNcuRm(J_1!ObUo__AsP4((6RRf;n>=$_?;|%Z zn0(z69VQplYk2y@Q>xGD+TH3k>7L-q`4d+?_0G_n+xIQq(X4%sA>UkF`okU1kL$Jm z?QxAh=+Jfa9Ua15-3R}sbE|avAD>@d{gVZ~-uz_d=MUGu{>P8zZEkqednaCerhB!n zKfLzt=+~M*dEox^)eA?|TGnarXQ!_|RDH*m|7=`6WBmJ5&YZktM~g1?z8ZUE=fun3 z9$91mguQoGDfx8DynmOhv}TXm*8b8jKc8RRbKxZqq;6mHW9#!LZ%aMB>-$AtOVUvZYr zn7qB`=6bbveDiUq4Tp=ao!ax!V-Jlg9&zv8Z`W*k=dz_OZ+!6nu?>G+&02WQu0NfV z+%kIDU%MXo{(+m%{&M^GM^cU7-`wnB?<%ik+OK;4ebu`|_e^i`aQi3Dv#)LUZ1pa6 z*ZuI-kSnem^YZvd|9kddrZjK-`qFko?*3sxi+^@L*T3ywwQsy>-sG;+KK$ET3+fc~ zS~X$Jw=W(#cumX32@3CwhkD;uz@IAoIc-_*+fpy}Z0S0#?b-H?ZE9Z9ZTNsrC1VB_ zweEB&1(C63+vSbR{FSMu1!qP@mieb>SW!*$UqF8^2$IrQQkR|SswOw~k`<;Y)=gHF z)L3=OQT#|pa)W7d)F@swCG%IM;zoXCt47O@l9QQ6CydZ(rts8k(GHZ1z zIxC9&Pz?>);6XFgvwYPUcuo?pVW=Pb`m25rC6m@L)Ux$gy~s{>XBw$cHO$Q6s%u!+ zW-TLKTTknfha8t_q=rZHDJXIr=q>W!?xm2F&R?BsgQq$^1k@~6=dw#OQ zv<9)ITO+t%sfr0{i%9YDde@0!ATGrg`VE3 z#hLG3p9&j?u_@*ili9q|OWM57*dSD6?Z^+3ai)I!*W3$Rmdw$qfIriY;=*r8gJ4VYJsrfL~?^^q?TEYv^nDWnZ{6Y)V8f4 zIcXXlSDn8Vv!LP)rZG~hwW8QhW^F*s5M-rotcVpIENi8BS!~7%tvHF_Vq(iz`oRk9 zAem$uZA;I~^U7qmX>=UDBub)_HXF^zQ*6d{!(?2h@f4eJkh%?~(RUP&EZet}#&4T% zYALdeHY+ua0d?zn`*dR7e{vN~V@N@~Y~=1HH8#;`OQple&_}su8UwLU8oAiXeADR2 zdr713$H~b|VTK|#1| z!`9T?DpevY8ToFi zQnEeOpuJ!_^5awHpSKQZfz%z)A}2}~Geuf;52*i_Qv|N$wuR;h#A>0@QH>3y<)B~e zm5;4c;Wt<)4~t*adoR^MUSpb+<$~r%>ibE-wp4@Uh4)e^&6>yx)m|g>^Iw8pk&C%G z!ZOlo`Y4ol*0Q505+{$GS(=5hV+pCFpBtzXjI%94Fb&xb||JjuliKLG}b3UYDpTJp91K-kEA3y*UflE5M}hOr2j4BopY- zUNXY*l&!ZMFOb&)S`=EzHZz6fhl3hcYvRSbJW3v}pm3V);@HHcvm9JQwSBxP#X+oq zJaPveCyosbgo~TcX`bfT6|~A@LnCo)Yt5R}7Gm!d+cHmg@=wq;cPgJ|2a)ZFeh!LS z+BXaTrb2;MuF1ub1KrpStHr)7RG6N_SAI49LO)Cvn<>Q7EaX{9mFqcDg_$71iIajo za7LaC53_hNCAbjdoGO|poeT?~-qT|vsqQTtz6wVyot1via-QS@xr&F?qFvOG7GP6V{rmFL58#!|a_cHqj7xUm)He}t$k;GtV`1ctW}qHDr6 z=~eN0pXg}YD$YlD_oSb|6t*o^i4rk% zg2)MjAX2Q0BI);Yv-wEg*lM_47K$!eyZRKW#kUCZ^7_-=XkAG&UcRJRp)c3u+qh%0 zA2*_WKb6ezQS4Hu@XH;_`uZ*xUQX!yifKM^shTgagoRJDJKvQG$wF_)sFQw?v?Yjy zt2q@Yq+)F-Gry^&Dsm>^AfCMM*}@d3o{LT-bi;lIcmf(D7?k%SJhgPhL^GfI&A zoCQp*5IZS5!Y!p5LY~tmBi5x_q`8kujaeb#i@ZP~K8adC-;-J=3}U^0Uu#>C5&W5q z^yI8Rj%28Sd*-W?;L)(Ud?EW(2Z08Z{D@#&Rw~kE_?^XlQF;--FxGRUN$9|WSJKMcSOh0b=MRQx>yHq$2}z?L%0Z3=^%O^ETY#HFA{krB>2x_ZPDk_G z19|M?>ic@to{Dg6<1`D-n6VQ217>rj1D%G5`BWbcWNbq}OrGo)5%MS+afG5FnUV%d z5D3*qnB__57Fmd7Oo#uB>mw$#aX}=_0%?{s_+RNsm8&-3A%6KlPH2ZYCNyI~`LK#D zunedKIo5OZhsg;@Sx6JGRRkOr`i_9nmWta(W~5^R4F#$`3`ikqU_Vl}08Wf77>!ol3k9$|HXs=AhzyDd?fpMt_*2y$FrqV!>I?ETT(kmJpxhgKWt1w z;7B!YLy?d>^AaD*?`w>XAMn5k$bKQ`FKJj$`sIs+14gHqVf4Kmj9rkY;NXO-6U0#w z>IS_+=$xIeTqIl@Of5?+yM0(_iEi19Rwu()iR%zvhoRI<{4k5+f}6&&%H6qyHj)c& zK!7e6XwXwhb0g_;kukys%YI=Q#%B1RRRu08NG&Gd=Ig;Se6UdjN@d_k>CF*TRkFWk z=KRfIr85kqkkio^D^!&y%{*gOYLtGyG=%2l_~{!nP349?H;pNjM92KVr09qSlTr-~ zA`u;y=Sp`CKn{FW&PUoRBbe+z%YGshX)(bzwemB8np(8)Df8ilsC)V0m;`PP&G6qQ z8=$1s11MJPC*n|?LFr1t1U`@uiOoo5^L#r@E5qesf^%1B76_yu-9_8?NMq#eB-77R z&?#dPYt;`Go1vw%>_zr8De6!z}Sih1|1eo;v6|z7qzoy~D~)@~Qff+0Zl+ zesWFZkIUyv1|3b+PD@b;Ers;hA@PaiK9^G+JBnH{Ftk-BiIgMBiL!-NUI>t!97m;0 z27#YKFIq+#f{8w*uT*nGcXf-t&kWH!1ZIbzKVG0nSsl0c=rW9TDb2P3VEV$i?8#sYM$%t-N1W zmE*EVoC*M&bex3wCkqlxGxM3PoqE z%7u{ACytWy@l&31b3h`FCH)Cg+MyOhWt}`v>W*ZdjB-I$O#}@XNG=8!qvDoig^(Ho zrSwgumJk~DL0~2)#3fUU4p8Q*9~DvgG~#JvO!JA*2*MOC(no@pQvFb{YJprQ#RU)q z1u@2e?`p>cN9rT6Mx7^_7x7_2GUez(%hp#E4J(HjA>zm9?-&{=m!uhRNYNCUOIA#k zFE|vVN=V8fo^~Z-Pe+Akk(^clDl{c<&{X~m3{F8k2A4A~Sq4w2uwoENeaYSVRH-PM zs`oYEpM-j#sbCjcZeFPjPci_W^je^~GNLw~TlVUdgY(e%Az-;cP!lB!k!HU|_DVX4 zR4Doten=%}@C_7aA|y_J*rbCLO@##xzi^z{h~aygL}5rI=|!8u zD51FU81r;R=KLW7X~>TNu*<~&=gMHl!97=50rD?W1=EkJJ^2mrB&leqhM+D%bp%;Z zH2hjcQ}tAY;&5B`^U70#>_5wX10G2o0Ar*r$3Fr)l@pQyPz&@U=^>#3D16QtYxr-} zfT zRsn|O;7K66>dvBrW!UbZ9;H2i<|%;DkW@E9?Ccwv!N!`)n{CGM$5%u-OJ@D>;KU)n|IFM2=huq z3YG@^2XSkIN*TOlS%pgeHr;%vhvQ?#?)hisq zA9l5@U*$o&coOO(!0?&|f+s&hwWSmYV!8Y~g+P!1u81(og~>QNUaUL>N>|n4lO4SKrNO(L4QCFN4lX3>BtB^nun%9>g0yOG-gdlt1 zCQ@c|%4RFCxT)lka>C_Pa!003-5^YZjO9&bnX>ghkw!jexZ*w!x1`y`hA5rk+q#ql z6h>Wfw1X00l3VIx_=sU7uQ(C4x{?Gl%26N(sXSO}W0floB&6Ib{^GoBK}~W_mBQ+2 zA2E_rL{dR!oyZ!YgTw*z_mW5epMKiwKtU?u04_B4#5k0dF0CmKmP&+-m2zo)3JKJ? z=>#yhRl%Itek;dGC=cj>#ni?2sryiii317mGNFPgsIbs);K(){wgS1Af!ZYeE8DXv~1a98ep6uKdWl*uYq zWA_yc!BVYcQ|-c5X>^M`8%(ICQPC^3f zy_D3OlpSo(sIlx8%)OK6V_ws#kD$Qi9isqE2~`9Dq56SJRGPqYGe+X;6dgGsvEvB; zR7!4y?pF&WW|0y}kf82#l=kqNNslS}u@Wvf>PHhjNZ2bN*Ca^K3~Dj#aS~`cHEU5mfOD@RW*khZmS(=o{Mi=s%YG6b!NX(#|x%EaVOau;p*&tMfyQOr)HlfPqA;4alCH03OVJ79w3ST-UA zn0{Vb)-sy(hcw*K)K!EQ%X2ruqr5rLRLKXlio92)K8C2S3A75uojoS*mn8xsFe2(e za@h)3q4@$EF*M=w!hhcGQ_(KjMKB-)lYZ(=I5d@)#uloQ4+Bq0%?i!+g515 zs@3EIc|a{RkK~YqDy*~jvtsbZB*Fy<}R++i62C{vLhHn zr%qh+sNMicrosoft SQL Server back-end database management systems. Besides these four database management systems software. sqlmap can also identify Microsoft Access, DB2, Informix, Sybase and Interbase. +Full support for three SQL injection techniques: inferential +blind SQL injection, UNION query (inband) SQL injection and +stacked queries (multiple statements) support. sqlmap can also +test for time based blind SQL injection. + Extensive back-end database management system fingerprint based upon , @@ -204,11 +209,6 @@ database management system name if you already know it. sqlmap is also able to fingerprint the web server operating system, the web application technology and, in some circumstances, the back-end DBMS operating system. -Full support for three SQL injection techniques: inferential -blind SQL injection, UNION query (inband) SQL injection and -stacked queries (multiple statements) support. sqlmap can also -test for time based blind SQL injection. - Options to retrieve on all four back-end database management system banner, current user, current database, enumerate users, users password hashes, users @@ -269,6 +269,8 @@ randomly selected from a text file. there exist six levels. The default level is 1 in which information, warnings, errors and tracebacks, if they occur, will be shown. +Granularity in the user's options. + Estimated time of arrival support for each query, updated in real time while fetching the information to give to the user an overview on how long it will take to retrieve the output. @@ -285,6 +287,10 @@ save command line options on a configuration INI file. and . +File system read and write access and operating +system command execution by providing own queries, depending on the +session user privileges and back-end DBMS. + PHP setting magic_quotes_gpc bypass by encoding every query string, between single quotes, with CHAR, or similar, database management system function. @@ -355,7 +361,7 @@ and . $ python sqlmap.py -h sqlmap/0.6.4 coded by Bernardo Damele A. G. - and Daniele Bellucci + and Daniele Bellucci Usage: sqlmap.py [options] @@ -388,7 +394,7 @@ Options: --proxy=PROXY Use a HTTP proxy to connect to the target url --threads=THREADS Maximum number of concurrent HTTP requests (default 1) --delay=DELAY Delay in seconds between each HTTP request - --timeout=TIMEOUT Seconds to wait before timeout connection (default 10) + --timeout=TIMEOUT Seconds to wait before timeout connection (default 30) Injection: These options can be used to specify which parameters to test for, @@ -411,8 +417,9 @@ Options: using the default blind SQL injection technique. --stacked-test Test for stacked queries (multiple statements) support - --time-test Test for Time based blind SQL injection + --time-test Test for time based blind SQL injection --union-test Test for UNION query (inband) SQL injection + --union-tech=UTECH Technique to test for UNION query SQL injection --union-use Use the UNION query (inband) SQL injection to retrieve the queries output. No need to go blind @@ -427,6 +434,7 @@ Options: -b, --banner Retrieve DBMS banner --current-user Retrieve DBMS current user --current-db Retrieve DBMS current database + --is-dba Detect if the DBMS current user is DBA --users Enumerate DBMS users --passwords Enumerate DBMS users password hashes (opt: -U) --privileges Enumerate DBMS users privileges (opt: -U) @@ -1813,7 +1821,7 @@ stacked queries support: 'name=luther'; WAITFOR DELAY '0:0:5';-- AND 'wRcBC'= -Test for Time based blind SQL injection +Test for time based blind SQL injection

    Option: --time-test @@ -1886,7 +1894,7 @@ time based blind sql injection payload: 'name=luther'; WAITFOR DELAY '0:0:5'; Test for UNION query SQL injection

    -Option: --union-test +Options: --union-test and --union-tech

    It is possible to test if the target URL is affected by an inband diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index 66baf4160..b80c5279f 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -163,7 +163,7 @@ def cmdLineParser(): techniques.add_option("--time-test", dest="timeTest", action="store_true", - help="Test for Time based blind SQL injection") + help="Test for time based blind SQL injection") techniques.add_option("--union-test", dest="unionTest", action="store_true", diff --git a/sqlmap.conf b/sqlmap.conf index b921c8946..c28253d71 100644 --- a/sqlmap.conf +++ b/sqlmap.conf @@ -133,7 +133,7 @@ eRegexp = # Valid: True or False stackedTest = False -# Test for Time based blind SQL injection. +# Test for time based blind SQL injection. # Valid: True or False timeTest = False