From 34c0b3a2fa3dd9f0dbdecc69e8d04289b40b437d Mon Sep 17 00:00:00 2001 From: et <> Date: Mon, 12 Jan 2009 02:57:19 +0000 Subject: [PATCH] Added Burp Proxy v1.x support for Wmap by Spinbad git-svn-id: file:///home/svn/framework3/trunk@6132 4d416f70-5f16-0410-b530-b9f4589650da --- external/burp-proxy/readme.txt | 42 ++++++++++++++++++ .../burp-proxy/wmap_plugin_v0.1-burp_v1.1.jar | Bin 0 -> 19510 bytes .../burp-proxy/wmap_plugin_v0.1-burp_v1.2.jar | Bin 0 -> 17654 bytes 3 files changed, 42 insertions(+) create mode 100755 external/burp-proxy/readme.txt create mode 100755 external/burp-proxy/wmap_plugin_v0.1-burp_v1.1.jar create mode 100755 external/burp-proxy/wmap_plugin_v0.1-burp_v1.2.jar diff --git a/external/burp-proxy/readme.txt b/external/burp-proxy/readme.txt new file mode 100755 index 0000000000..b5609f6221 --- /dev/null +++ b/external/burp-proxy/readme.txt @@ -0,0 +1,42 @@ +=[Burp proxy WMAP Plugin spinbad.security@googlemail.com +------------------------------------------------------------------------------------------------------------ + + +=[ Intro. + +Simple plugin for the burp proxy 1.1/1.2 which stores the requests +in the metasploit/wmap database. At the moment only +sqlite3 is supported, I will add support for other databases +in later releases... + + +=[ Howto install/run. + +1. Download burp proxy 1.2: http://portswigger.net/suite/burpsuite_v1.2.zip +2. Download SQLiteJDBC Jar: http://www.zentus.com/sqlitejdbc/ +3. Copy sqlitejdbc-v054.jar and wmapplugin.jar into the burp proxy directory +4. Run the following command: + + java -cp sqlitejdbc-v054.jar;burpsuite_v1.2.jar;wmap_plugin_v0.1-burp_v1.2.jar burp.StartBurp database=test.db + + test.db is the name/path of your metasploit sqlite3 database file. You must create the db schema + in the metasploit framework first (by using "db_create") + + +=[ Questions/Answers + + +1. Can I use the burp spider to fill my WMAP request table? + + Sorry, no you can't. The reason is that the spider doesn't call implementations of the IBurpExtender + interface. So you can only use the MITM Proxy. + + +2. I found a bug, what can I do? + + You can send a description to spinbad.security@googlemail.com. I will try to fix it. + +3. Is there a way to extend the stuff you wrote? + Shure, I included the source code in the jar file. Feel free to use it. + +=[ EOF. \ No newline at end of file diff --git a/external/burp-proxy/wmap_plugin_v0.1-burp_v1.1.jar b/external/burp-proxy/wmap_plugin_v0.1-burp_v1.1.jar new file mode 100755 index 0000000000000000000000000000000000000000..7a61dee76e4b76b3b3f985a7e393cfc0039045b6 GIT binary patch literal 19510 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 Kv$Fd(F8wc~49Rc+ literal 0 HcmV?d00001 diff --git a/external/burp-proxy/wmap_plugin_v0.1-burp_v1.2.jar b/external/burp-proxy/wmap_plugin_v0.1-burp_v1.2.jar new file mode 100755 index 0000000000000000000000000000000000000000..c9a8ad780ccdf740d203097fbfde88c62f59854a GIT binary patch literal 17654 zcmcg!34EMKb$_F4k9?AC`HEsY{;W9mN?xrjCw7c3$MS(UmSn|}?bxzIR;$m}Cac}e z?#c%-gk0RE2TcosLTG5+0tFJVVv{!I=m```3vKC1X@Ry-XiLl0K>B|(^PT$EHnhK5 z*0=M`y!YnKdvD&%yf>?{{q+sYD2ks?Jeuew&%b5VKqGr5c6Oyl_jZr$98K@tGd__T z+54kU5`BB*)1MmN-QBxAj1n0 zp$0*V@6DXfbmudLQ{4xq?zOVj2sH_6odTuqv=>@X^Yqlqvc*CHK)GT;(DGr4Te&~q zz00ZYLnn-U(7J!ls#Gh2mMXBhYA)ZsFH@Nr$&>&T8_%68WU6yzOHj{3h<;Ti`AQe6 z)+wvpH>_#)4FbQZKUc_A2L;t9It~kJ*j1di;#5yd3~Hv97@=Q-A{6D)a)V+NkI_nM zi_rDHF^`|CRIOQqZlF~lRh+9j!^#!A$I7`vb-Y@(GP8YAS|e!HI+kMb;~UgYHwlWAm}H)Xm+*`beSl(L$KeRwENF?u z_sT0y>uHIgMZ>v*H99vtWtAr~Q+Y_Pb-0+#K_PPray*+zA6ux8u)2j%KUvM> z&}6z}awtwaXlI0O7qm$++DGZp*4WD!`yVQLHAJ}?g>rfDGSn5;}{s5pHN(n?GYDU3OTPIDV$?6WfP=@B{$-d*>wJ5zGj3+J1eEn&`TsY`#t2yioTdXOH9(5q};<8`wJJxq^)q0^cCoOR%& zpcQ_x+uoRc(qjg_nqC9PSz^bz-K$@TaEbq2kj-T=Xst=Zyf*!hMK zYN5Dk`YD6n#G+ko1% zlHP@Z%84~CsLMN0dnNG5&DS^9p{E3i^GyF&4Ej~39|3*a>VM6kU#IuL2vFxSf>ztS zT`OQ--^aZCMu3G7J^5K+%num!LGC+REvm*SJtOFm^yv7WgA-SeAV0|XDSca?CwApcZ=kTFD z%mNYwo z>*zW9tqA?5pc|aUX#u7|&(m+K*{eh(r_ut&%ITPVmLZp!w*^~t+G|f!gGi; zG_R}E6}@Jm`WWQF-lb}>4tetwoZ#3mXb9!jTPjxhbS`V9EBmU|68uDb2A^s!!|TnJ z;pq)tKIh6=YvNo9oyXyJt8*20KVX^dS$QMuVGC6S64AV2`J5bLN1*r9b(3H`mMb}n z(h9|3a9MY@sD4?1`H1#JAmeP7!6DDKorP(sQ!o{>i^MVIZ9$F591KZQ*f}UvouhSnwRHIx4P% z%kpev#$eyrvBK8P>Wt;?GconCWddiZsAv|nMxva>s+hNW9jJjSR?5`$RGe0dMTS_+ z3wwigmNzV|pt!3zJDVv?^Uix``4onLKoE7m}>AurZ2{%Xzpr$0wsD-osCd*`{@bIg8&$s>6{OXG3|8#>o(M*P&cT1~s9K z^CO;%P;-xjCu;9}mKJx4i`2@GWzW!x*46WLW9M_U{^+x`0aZ^+{Ec|t02)M#aolgl zsj~$?OK1g7=j&)GCD3AkHYidDb>dUdCa1SYzyWi%f$1li{)egcGC{Bx$Qb6zTTscL zTk-icaHF8TjBW#$ZqF-G+lJazw47Gc8k|aRCR6sjLQ&T}F9+O9s25cF&?lk;6A`*C zir0P`z!Sr-KZ`*u29NI-z0F;hXt1~W0yX!xJVU!%UkVOZzm?8EM`=i4e{V}$q;+_n zMtc{vwX`j&-_kHo6Z3Re+oISBnr**boV?>wY4kgVR^c(SJ)@Y@XhzP=8u| z{2XNU96f%t^%tL|w=(A2=II@+zl;aJyxaS7VV>SQPw&@4Z+-eQeW;Ewm_-c?`s`); zNIkVJYUG!XUZ&sSmnMGsgUj@3eu?nQ+ca2|U*4@>7E8E4w%;V+pW1H{^3UwI7~_4> zev9+lU)yij@!Q|oZ;CNJTc#mTsPtXRa zx)ZHQw5DKq-7w89Fxjni6QGi`U7AE1CNT~>I0j3|&>+p=yq@M@PkBIwq!RQk3bqcom%x zZ=$=!JLzTME+gKD;}lPgk7A0z+O&ak>7VGIVT)Y)7y3GzFG}B_f5iy6^i8xj$kMma z+9*r^hE_~KwEjCv5n1{VlrY&*_idD7vh<%QA&`c;|Dx~k^hfEt^gYO>Uc470`GIr; zJVpK+a=M91^aA}5r6hR$5xt1{@sx<@y6@A|@c2Aucq$E1(~BU}5S-T$I4 zBI+X$Dw@9<`yp+KP&y(SzEA1ziWQiJOso--R8D9sXtG-nu8-j+f=XCuYF5M9N`C?{ z5fMC%>jZlrMPdX57-J=-?ott#UIYaLg@#L_#UN&x)m+>bEQv%i#+~l3ZFjFWTNpvE=iO?^Nx2QZ5y1Fe{Vn z7T%#|-cqsll2~^HUiI;#OT|WS>m|_v=X-(Hjba3RS3YqIG(q$L zjN?28^&kxFA^5|GF_6aq`5GAVYXSXwDD@5WDtaS5N^g<_?o@+vr23fXfzq*gqO#b6 zQXMeXh+AMB^-}4Js4?~et%4To&qJwepoUw~ah=%ekJz4n%h#WJ0X~&~mjGbFDwUh% zlak2`Rtg)xlqVR}*Btk@VhK%ome7Tbz9l*YdBKS#1jZLl^LN2V$&?Hzgw)%C-sZT| z$Q!|wFQn{l1R1O}H-+dVVujecm|nS<71-D4HiPH;E4JF&0yi;}k;1DIL^Jv|k}S+}^<~#F&3?SJoM` z7F!94@d{w!|Lq5`+bZX#EtEA=r;E91b74sLYW!Ux&0gn(B~`u!nuZOqxtaz4Lj}Pr!e)bkN-crc;Gurb2aka1Wdg zkbCTOszMH*ngum*JwVAOgZ$N{{t&t;Zdi&PmlXXFRs!ZT6t0 za7a+G?1U>SH91_HG84`bzotcDK6qxHYf;x8)D9X~?xdLr#tj^K$e9t-bJq@T@yIcS zb*-Kn3Q{Y}d-jHq2TW))B?ID#_T$HQXcl5+6+%qm#L1z&gb!`=iIfutPxN#sVX0nn zCw-u)yj3_=oiPUn%q<15H#gZMWNXoy>_Bb%`9PaA?9dihJ+_6#7Hm%7Onm_=$kV?%l>)Ke zM0@)GAsUS_%5@>uewDbiJ=1+Q5*QOtf8{q4J&xJglhCo)SO^yOG>I)f6ge>+afYDi zxNzbY9~w{BD`9E&ZuKGATDOfcq&JPX)rY4n;_6u2d|2A9uYt?ke0a(QUIW^8ADWyU z*MRjBAC^70I1qd-0`1uxihk{5?eSZT-T$?6-{ZF)&x}mjDW2NH@CEDbRZzOgYuX~p z2_(Vg1F!gBws1M5U~k@0fi^rt_Hl9}Tr&ur2tRU|PS{y*RI%TgII#PGxpS^s>^fx? ztTI-KY3%bjRcltNb5pW^#RYc!r_pT6u4Pa<+n?l4|oh=YVls4}x6wjDva6cqdFzxLjZVa5sVcStGSZ3~I z5({0`%vH_lqE+EL1ZRrn`;vI$a;9=0WNMz7IhRVMz*LMkUEGUj>#|v^B&H=RPfmIe zF^4rb{)?r6DNOP{iLV+Y+6N#Fld0Q1taG6mOhw=m?RI#+y~8|z-gIGXX4c7llv?J4 z%t+cb&m)1*JuihWd1ve8p0s4_J*7kSiS|H{-(Ea?D;|dJJL2;~;U0q%?cNZ6js97v zdWw2C+_wB{8lmrU&%z*mjo$1{1!q^-IJtA?0Kd&~Jls&p$Im8uAK!oUo+gB$`L`LN z61|`D-)p1S$a`(}&6MyfZO9qS)Xw-dl(26_$PLN2dL*b(LZYxq&3j<-P8{zuGFgq} z!Tp@AM*S2vq$>L-Gkl!2#@&pv-lf^#oE?%O`878qj|>Lyw^deLCYpx4 z7ao-1Bg-f6x<#lh-253Mmbxq{bG*1omT5s z1YhFV$Xz3Q#CP(zqfP_qjU-r6#}e6)X26tz&@)m#Kj9?^Cb7k!Tllt_a|5BqB_2dT zf2?bB-ppwrQyZ(!mXsEdFj5-cSuST_2H`o?h=M_Ws%=54S>GjrIz=vcOD#gZ5gJgp zlz9Edq~`1~a;0oVy31zUvTznC<608pol$}fBg`pizk!Hn6PHGuTaX9zEl5Fk8VGpH z)^P*zQCY%;t7cU?g4nex;ab%qRhl%A2$FCo48$#E33sVl`K~BmKjA|nN?1u$$(PyG zhRey`M(G0;4sTEujw;DJR4@sUbM7+WmAAysMJk8@&1$=eGTQ92eF;WWl#@0JSe^8C zZh@)3S*i+>OPm0#8nl~`xMlik3M%@l%n)Y{WYho=y!C(@@L}(_RN{Z(?T4@%NPb$1 zCoe5kbM>n{tmlUf#HN?QA%PcX^9IAzDOlIbuo`@sQp0wvo+K%!DeKsTIEJlLrFF0@ zzIt58#v?yDUCQq;9Qg^ek)JRc`3aMepD-Bt33HL3U=*LLfC+(u_mz1277UnM4?IWL zAKmmU-7u1Dy>Xt*QJrJ$ZD`omc!4%_EpJ4|prheQYPvvc+Zxn+*O9gc2JbrZXrox( z*!BFoUi@Mk@{2tm1j%}&w~$o@`-F~T=yWlN28z%S?j1*H zSA^DMf;KPvfusR@Q-enyp`KG!l&d-T`fZI3+c4tmmp5%|>{{OB%AontCb7JUNBp(r zjScrmAQlUQc*NoW1;nyVuC41JmUay4CJbji2C@Nf8}Urgt#}S1>-AC$?oQ+kkD{EV z9x0}SoK>ToBc_}qrh6PQ9i=^5Ok;2+N=zdVBa3M*epp~ln0j`JMYo;Oo1g*3eiTamzw(h$~cXTcuyGX;G^%rSWR*cE#LHV4J&%^S0 zmwXFazECD|bZ;0Fqd_LpHJM;%E^tjZOdVrEb?gsiA|I}fu^2rFz&YYAq7K#}4SdiJsa9vGkOp}W52>HRjy|N?J}&V={R+)ByR-3w z&mZEaQZ>jP$6TQ$;1A)6P24s6#Cp%ru=NCZao>t5OYinn=Y=R2`yoidlIe z1h|80N5PI4?4Y3h28}*)YAkuv!RbJ^>DVp8P^Qd*=LUNE%v`^>BOMw;^`=dBoQPw1 z9$qGMCo~kIqDV#dbeK~J65YqbiNzFPC8fUq5Wv&9fB;OpGZGoFVlp~BYy-M6YVL%g z@PDBW_(Y{o)Bl%xV4L`HwZJ$&9s59kA8uI91gk=wl(1Xk~y8QE65kj7!Y$Uq}rLa)?u6$Hj$U6kR?u2xr zVKuVdjh*=!P(usI$?ZvJwH-~!Wh|r@2^Z{xfngbHFpT8N%I!ghu)IT2D_=+-3NqM< zZKGH2WeBG0?S#!ROeGS|zBPaa~6VOY&WaqSyO!bWVqYgv6>fQU2E82 z=gvg3yH{`(+;(C1YIc3ld!xcLm+XlscM2g=_TdGE?M1$-W^GD(U?DuHv4sgEfEyHw z&By;%I8xmqjIqYA#FoUX#S|k$IJUkR_KM~r_gJtiC$QR zbfEpv#NMv$?K=jWj)A5!TxT$#I>4QMbhZ@y-o2~Q^!kImfK?e@>PFzN!I8-Ijv}A^SM&RO5HnMO=XK^ z6mZvAB3NaY1rR|_b&k1^{o%daU(w$k>_ykuY+#uD_Z<|vei^LEfdXa*7)cG$CD3mV z*DuPk{i1Feg1Yu!-0=RX4E~E7{(rUp{svQt%h)zi*q_yKsbo-Oz1d%NQ_096e(;jF zi@$V50H0;=MGs4Sy6A)WnvZ>|llP>(s9{Gy7qy7Ewv8I>v?;{YUCfW|bPa!Oe