rubyfu 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +96 -0
  3. data/Rakefile +1 -0
  4. data/_book/beginners.html +1299 -0
  5. data/_book/contribution.html +1350 -0
  6. data/_book/contributors/Ruby_Loves_Us.jpg +0 -0
  7. data/_book/contributors/index.html +1294 -0
  8. data/_book/contributors/todo.html +1293 -0
  9. data/_book/cover.jpg +0 -0
  10. data/_book/faqs/index.html +1308 -0
  11. data/_book/files/module03/dns_spoofing_dns-query.pcap +0 -0
  12. data/_book/files/module03/dns_spoofing_dns-req_res.pcap.pcapng +0 -0
  13. data/_book/files/module06/ftp.pcap +0 -0
  14. data/_book/files/module06/packets.pcap +0 -0
  15. data/_book/gitbook/app.js +25001 -0
  16. data/_book/gitbook/fonts/fontawesome/FontAwesome.otf +0 -0
  17. data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot +0 -0
  18. data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg +504 -0
  19. data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf +0 -0
  20. data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff +0 -0
  21. data/_book/gitbook/images/apple-touch-icon-precomposed-152.png +0 -0
  22. data/_book/gitbook/images/favicon.ico +0 -0
  23. data/_book/gitbook/plugins/gitbook-plugin-addcssjs/README.md +19 -0
  24. data/_book/gitbook/plugins/gitbook-plugin-addcssjs/index.js +57 -0
  25. data/_book/gitbook/plugins/gitbook-plugin-addcssjs/package.json +47 -0
  26. data/_book/gitbook/plugins/gitbook-plugin-anchors/plugin.css +26 -0
  27. data/_book/gitbook/plugins/gitbook-plugin-book-summary-scroll-position-saver/book-summary-scroll-position-saver.js +30 -0
  28. data/_book/gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.css +28 -0
  29. data/_book/gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.js +68 -0
  30. data/_book/gitbook/plugins/gitbook-plugin-fontsettings/buttons.js +151 -0
  31. data/_book/gitbook/plugins/gitbook-plugin-fontsettings/website.css +291 -0
  32. data/_book/gitbook/plugins/gitbook-plugin-highlight/ebook.css +131 -0
  33. data/_book/gitbook/plugins/gitbook-plugin-highlight/website.css +426 -0
  34. data/_book/gitbook/plugins/gitbook-plugin-search/lunr.min.js +7 -0
  35. data/_book/gitbook/plugins/gitbook-plugin-search/search.css +27 -0
  36. data/_book/gitbook/plugins/gitbook-plugin-search/search.js +135 -0
  37. data/_book/gitbook/plugins/gitbook-plugin-sharing/buttons.js +93 -0
  38. data/_book/gitbook/plugins/gitbook-plugin-splitter/splitter.css +22 -0
  39. data/_book/gitbook/plugins/gitbook-plugin-splitter/splitter.js +122 -0
  40. data/_book/gitbook/style.css +9 -0
  41. data/_book/googlec55db2d603c3da8b.html +1 -0
  42. data/_book/images/module02/Cryptography__wiringdiagram.png +0 -0
  43. data/_book/images/module02/packaging__ocra1.png +0 -0
  44. data/_book/images/module03/dns_spoofing_wireshark1.png +0 -0
  45. data/_book/images/module03/dns_spoofing_wireshark2.png +0 -0
  46. data/_book/images/module04/webfu__post_form1.png +0 -0
  47. data/_book/images/module04/webfu__proxy2.png +0 -0
  48. data/_book/images/module04/webfu__twitterAPI1.png +0 -0
  49. data/_book/images/module04/webfu__xmlrpc1.png +0 -0
  50. data/_book/images/module05/msf_template1.png +0 -0
  51. data/_book/images/module06/win-foren__winreg1.png +0 -0
  52. data/_book/images/other/Ruby_Loves_Us.jpg +0 -0
  53. data/_book/images/other/cover.jpg +0 -0
  54. data/_book/images/other/cover_small.jpg +0 -0
  55. data/_book/images/other/logo.png +0 -0
  56. data/_book/images/other/rubyfu.png +0 -0
  57. data/_book/images/other/rubyfu1.png +0 -0
  58. data/_book/images/other/rubyfu3.png +0 -0
  59. data/_book/images/other/rubyfu4.png +0 -0
  60. data/_book/images/other/rubyfu_.png +0 -0
  61. data/_book/index.html +1284 -0
  62. data/_book/module_0x1__basic_ruby_kung_fu/array.html +1297 -0
  63. data/_book/module_0x1__basic_ruby_kung_fu/conversion.html +1386 -0
  64. data/_book/module_0x1__basic_ruby_kung_fu/extraction.html +1346 -0
  65. data/_book/module_0x1__basic_ruby_kung_fu/index.html +1367 -0
  66. data/_book/module_0x1__basic_ruby_kung_fu/string.html +1451 -0
  67. data/_book/module_0x2__system_kung_fu/command_execution.html +1348 -0
  68. data/_book/module_0x2__system_kung_fu/cryptography.html +1396 -0
  69. data/_book/module_0x2__system_kung_fu/email.html +1352 -0
  70. data/_book/module_0x2__system_kung_fu/file_manipulation.html +1371 -0
  71. data/_book/module_0x2__system_kung_fu/index.html +1557 -0
  72. data/_book/module_0x2__system_kung_fu/ncatrb.html +1424 -0
  73. data/_book/module_0x2__system_kung_fu/packaging.md +1 -0
  74. data/_book/module_0x2__system_kung_fu/packaging__ocra1.png +0 -0
  75. data/_book/module_0x2__system_kung_fu/parsing_html,_xml,_json.html +1395 -0
  76. data/_book/module_0x2__system_kung_fu/rce_as_a_service.html +1336 -0
  77. data/_book/module_0x2__system_kung_fu/smtp_enumeration.html +1308 -0
  78. data/_book/module_0x2__system_kung_fu/system_shell.html +1299 -0
  79. data/_book/module_0x2__system_kung_fu/virustotal.html +1318 -0
  80. data/_book/module_0x3__network_kung_fu/Remote_shell.md +19 -0
  81. data/_book/module_0x3__network_kung_fu/arp_spoofing.html +1420 -0
  82. data/_book/module_0x3__network_kung_fu/dns.html +1315 -0
  83. data/_book/module_0x3__network_kung_fu/dns_bruteforce.md +49 -0
  84. data/_book/module_0x3__network_kung_fu/dns_enumeration.html +1371 -0
  85. data/_book/module_0x3__network_kung_fu/dns_spoofing.html +1694 -0
  86. data/_book/module_0x3__network_kung_fu/dns_spoofing_wireshark2.png +0 -0
  87. data/_book/module_0x3__network_kung_fu/ftp.html +1287 -0
  88. data/_book/module_0x3__network_kung_fu/index.html +1392 -0
  89. data/_book/module_0x3__network_kung_fu/network_scanning.html +1339 -0
  90. data/_book/module_0x3__network_kung_fu/network_traffic_analysis.html +1356 -0
  91. data/_book/module_0x3__network_kung_fu/nmap.html +1355 -0
  92. data/_book/module_0x3__network_kung_fu/oracle_tns_enum1.png +0 -0
  93. data/_book/module_0x3__network_kung_fu/packet_manipulation.html +1386 -0
  94. data/_book/module_0x3__network_kung_fu/ruby_socket.html +1553 -0
  95. data/_book/module_0x3__network_kung_fu/snmp_enumeration.html +1314 -0
  96. data/_book/module_0x3__network_kung_fu/ssh.html +1461 -0
  97. data/_book/module_0x3__network_kung_fu/ssid_finder.html +1324 -0
  98. data/_book/module_0x3__network_kung_fu/tns_enumeration.html +1505 -0
  99. data/_book/module_0x4__web_kung_fu/browser_manipulation.html +1630 -0
  100. data/_book/module_0x4__web_kung_fu/databases.html +1531 -0
  101. data/_book/module_0x4__web_kung_fu/extending_burpsuite.html +1303 -0
  102. data/_book/module_0x4__web_kung_fu/index.html +1536 -0
  103. data/_book/module_0x4__web_kung_fu/interacting_with_apis.html +1271 -0
  104. data/_book/module_0x4__web_kung_fu/ruby2javascript.html +1303 -0
  105. data/_book/module_0x4__web_kung_fu/sql_injection_scanner.html +1489 -0
  106. data/_book/module_0x4__web_kung_fu/twitter_api.html +1328 -0
  107. data/_book/module_0x4__web_kung_fu/web_servcies_and_apis.html +1291 -0
  108. data/_book/module_0x4__web_kung_fu/web_server_and_proxy.html +1370 -0
  109. data/_book/module_0x4__web_kung_fu/web_services.html +1394 -0
  110. data/_book/module_0x4__web_kung_fu/webfu__burp-ext1.png +0 -0
  111. data/_book/module_0x4__web_kung_fu/webfu__burp-ext2.png +0 -0
  112. data/_book/module_0x4__web_kung_fu/webfu__burp_setenv1.png +0 -0
  113. data/_book/module_0x4__web_kung_fu/webfu__proxy2.png +0 -0
  114. data/_book/module_0x4__web_kung_fu/webfu__twitterAPI1.png +0 -0
  115. data/_book/module_0x4__web_kung_fu/webfu__xmlrpc1.png +0 -0
  116. data/_book/module_0x4__web_kung_fu/wordpress_api.html +1543 -0
  117. data/_book/module_0x5__exploitation_kung_fu/MSF-struct.png +0 -0
  118. data/_book/module_0x5__exploitation_kung_fu/auxiliary_module.html +1870 -0
  119. data/_book/module_0x5__exploitation_kung_fu/exploit_module.html +1523 -0
  120. data/_book/module_0x5__exploitation_kung_fu/extensions.html +1466 -0
  121. data/_book/module_0x5__exploitation_kung_fu/fuzzer.html +1325 -0
  122. data/_book/module_0x5__exploitation_kung_fu/index.html +1319 -0
  123. data/_book/module_0x5__exploitation_kung_fu/metasm.html +1322 -0
  124. data/_book/module_0x5__exploitation_kung_fu/metasploit.html +1441 -0
  125. data/_book/module_0x5__exploitation_kung_fu/meterpreter.html +1327 -0
  126. data/_book/module_0x5__exploitation_kung_fu/meterpreter_scripting.html +1318 -0
  127. data/_book/module_0x5__exploitation_kung_fu/msf_meter_railgun1.png +0 -0
  128. data/_book/module_0x5__exploitation_kung_fu/msf_template1.png +0 -0
  129. data/_book/module_0x5__exploitation_kung_fu/railgun_api_extension.html +1300 -0
  130. data/_book/module_0x6__forensic/android_forensic.html +1356 -0
  131. data/_book/module_0x6__forensic/index.html +1332 -0
  132. data/_book/module_0x6__forensic/parsing_log_files.html +1375 -0
  133. data/_book/module_0x6__forensic/win-foren__winreg1.png +0 -0
  134. data/_book/module_0x6__forensic/windows_forensic.html +1289 -0
  135. data/_book/package.json +5 -0
  136. data/_book/references/index.html +1338 -0
  137. data/_book/required_gems.html +1342 -0
  138. data/_book/rubyfu_.png +0 -0
  139. data/_book/search_index.json +1 -0
  140. data/_book/styles/ebook.css +1 -0
  141. data/_book/styles/epub.css +1 -0
  142. data/_book/styles/header.js +5 -0
  143. data/_book/styles/mobi.css +1 -0
  144. data/_book/styles/pdf.css +1 -0
  145. data/_book/styles/website.css +41 -0
  146. data/bin/rubyfu +48 -0
  147. data/lib/rubyfu.rb +36 -0
  148. data/lib/rubyfu/browse.rb +35 -0
  149. data/lib/rubyfu/version.rb +3 -0
  150. data/lib/rubyfu/webserver.rb +30 -0
  151. metadata +210 -0
@@ -0,0 +1,1531 @@
1
+ <!DOCTYPE HTML>
2
+ <html lang="en" >
3
+
4
+ <head>
5
+
6
+ <meta charset="UTF-8">
7
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
8
+ <title>Databases | RubyFu</title>
9
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
10
+ <meta name="description" content="">
11
+ <meta name="generator" content="GitBook 2.6.2">
12
+
13
+
14
+ <meta name="HandheldFriendly" content="true"/>
15
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
16
+ <meta name="apple-mobile-web-app-capable" content="yes">
17
+ <meta name="apple-mobile-web-app-status-bar-style" content="black">
18
+ <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
19
+ <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
20
+
21
+ <link rel="stylesheet" href="../gitbook/style.css">
22
+
23
+
24
+ <link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-anchors/plugin.css">
25
+
26
+
27
+
28
+ <link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-splitter/splitter.css">
29
+
30
+
31
+
32
+ <link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.css">
33
+
34
+
35
+
36
+ <link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-highlight/website.css">
37
+
38
+
39
+
40
+ <link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-search/search.css">
41
+
42
+
43
+
44
+ <link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-fontsettings/website.css">
45
+
46
+
47
+
48
+ <link rel="stylesheet" href="../styles/website.css">
49
+
50
+
51
+
52
+
53
+
54
+ <link rel="next" href="../module_0x4__web_kung_fu/extending_burpsuite.html" />
55
+
56
+
57
+ <link rel="prev" href="../module_0x4__web_kung_fu/sql_injection_scanner.html" />
58
+
59
+
60
+ <script type="text/javascript" src="../styles/header.js"></script>
61
+ </head>
62
+ <body>
63
+
64
+
65
+ <div class="book"
66
+ data-level="4.2"
67
+ data-chapter-title="Databases"
68
+ data-filepath="module_0x4__web_kung_fu/databases.md"
69
+ data-basepath=".."
70
+ data-revision="Wed Jan 27 2016 09:00:51 GMT+0300 (AST)"
71
+ data-innerlanguage="">
72
+
73
+
74
+ <div class="book-summary">
75
+ <nav role="navigation">
76
+ <ul class="summary">
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+ <li class="chapter " data-level="0" data-path="index.html">
87
+
88
+
89
+ <a href="../index.html">
90
+
91
+ <i class="fa fa-check"></i>
92
+
93
+ Module 0x0 | Introduction
94
+ </a>
95
+
96
+
97
+ <ul class="articles">
98
+
99
+
100
+ <li class="chapter " data-level="0.1" data-path="contribution.html">
101
+
102
+
103
+ <a href="../contribution.html">
104
+
105
+ <i class="fa fa-check"></i>
106
+
107
+ <b>0.1.</b>
108
+
109
+ Contribution
110
+ </a>
111
+
112
+
113
+ </li>
114
+
115
+ <li class="chapter " data-level="0.2" data-path="beginners.html">
116
+
117
+
118
+ <a href="../beginners.html">
119
+
120
+ <i class="fa fa-check"></i>
121
+
122
+ <b>0.2.</b>
123
+
124
+ Beginners
125
+ </a>
126
+
127
+
128
+ </li>
129
+
130
+ <li class="chapter " data-level="0.3" data-path="required_gems.html">
131
+
132
+
133
+ <a href="../required_gems.html">
134
+
135
+ <i class="fa fa-check"></i>
136
+
137
+ <b>0.3.</b>
138
+
139
+ Required Gems
140
+ </a>
141
+
142
+
143
+ </li>
144
+
145
+
146
+ </ul>
147
+
148
+ </li>
149
+
150
+ <li class="chapter " data-level="1" data-path="module_0x1__basic_ruby_kung_fu/index.html">
151
+
152
+
153
+ <a href="../module_0x1__basic_ruby_kung_fu/index.html">
154
+
155
+ <i class="fa fa-check"></i>
156
+
157
+ <b>1.</b>
158
+
159
+ Module 0x1 | Basic Ruby Kung Fu
160
+ </a>
161
+
162
+
163
+ <ul class="articles">
164
+
165
+
166
+ <li class="chapter " data-level="1.1" data-path="module_0x1__basic_ruby_kung_fu/string.html">
167
+
168
+
169
+ <a href="../module_0x1__basic_ruby_kung_fu/string.html">
170
+
171
+ <i class="fa fa-check"></i>
172
+
173
+ <b>1.1.</b>
174
+
175
+ String
176
+ </a>
177
+
178
+
179
+ <ul class="articles">
180
+
181
+
182
+ <li class="chapter " data-level="1.1.1" data-path="module_0x1__basic_ruby_kung_fu/conversion.html">
183
+
184
+
185
+ <a href="../module_0x1__basic_ruby_kung_fu/conversion.html">
186
+
187
+ <i class="fa fa-check"></i>
188
+
189
+ <b>1.1.1.</b>
190
+
191
+ Conversion
192
+ </a>
193
+
194
+
195
+ </li>
196
+
197
+ <li class="chapter " data-level="1.1.2" data-path="module_0x1__basic_ruby_kung_fu/extraction.html">
198
+
199
+
200
+ <a href="../module_0x1__basic_ruby_kung_fu/extraction.html">
201
+
202
+ <i class="fa fa-check"></i>
203
+
204
+ <b>1.1.2.</b>
205
+
206
+ Extraction
207
+ </a>
208
+
209
+
210
+ </li>
211
+
212
+
213
+ </ul>
214
+
215
+ </li>
216
+
217
+ <li class="chapter " data-level="1.2" data-path="module_0x1__basic_ruby_kung_fu/array.html">
218
+
219
+
220
+ <a href="../module_0x1__basic_ruby_kung_fu/array.html">
221
+
222
+ <i class="fa fa-check"></i>
223
+
224
+ <b>1.2.</b>
225
+
226
+ Array
227
+ </a>
228
+
229
+
230
+ </li>
231
+
232
+
233
+ </ul>
234
+
235
+ </li>
236
+
237
+ <li class="chapter " data-level="2" data-path="module_0x2__system_kung_fu/index.html">
238
+
239
+
240
+ <a href="../module_0x2__system_kung_fu/index.html">
241
+
242
+ <i class="fa fa-check"></i>
243
+
244
+ <b>2.</b>
245
+
246
+ Module 0x2 | System Kung Fu
247
+ </a>
248
+
249
+
250
+ <ul class="articles">
251
+
252
+
253
+ <li class="chapter " data-level="2.1" data-path="module_0x2__system_kung_fu/command_execution.html">
254
+
255
+
256
+ <a href="../module_0x2__system_kung_fu/command_execution.html">
257
+
258
+ <i class="fa fa-check"></i>
259
+
260
+ <b>2.1.</b>
261
+
262
+ Command Execution
263
+ </a>
264
+
265
+
266
+ </li>
267
+
268
+ <li class="chapter " data-level="2.2" data-path="module_0x2__system_kung_fu/file_manipulation.html">
269
+
270
+
271
+ <a href="../module_0x2__system_kung_fu/file_manipulation.html">
272
+
273
+ <i class="fa fa-check"></i>
274
+
275
+ <b>2.2.</b>
276
+
277
+ File manipulation
278
+ </a>
279
+
280
+
281
+ <ul class="articles">
282
+
283
+
284
+ <li class="chapter " data-level="2.2.1" data-path="module_0x2__system_kung_fu/parsing_html,_xml,_json.html">
285
+
286
+
287
+ <a href="../module_0x2__system_kung_fu/parsing_html,_xml,_json.html">
288
+
289
+ <i class="fa fa-check"></i>
290
+
291
+ <b>2.2.1.</b>
292
+
293
+ Parsing HTML, XML, JSON
294
+ </a>
295
+
296
+
297
+ </li>
298
+
299
+
300
+ </ul>
301
+
302
+ </li>
303
+
304
+ <li class="chapter " data-level="2.3" data-path="module_0x2__system_kung_fu/cryptography.html">
305
+
306
+
307
+ <a href="../module_0x2__system_kung_fu/cryptography.html">
308
+
309
+ <i class="fa fa-check"></i>
310
+
311
+ <b>2.3.</b>
312
+
313
+ Cryptography
314
+ </a>
315
+
316
+
317
+ </li>
318
+
319
+ <li class="chapter " data-level="2.4" data-path="module_0x2__system_kung_fu/system_shell.html">
320
+
321
+
322
+ <a href="../module_0x2__system_kung_fu/system_shell.html">
323
+
324
+ <i class="fa fa-check"></i>
325
+
326
+ <b>2.4.</b>
327
+
328
+ Remote Shell
329
+ </a>
330
+
331
+
332
+ <ul class="articles">
333
+
334
+
335
+ <li class="chapter " data-level="2.4.1" data-path="module_0x2__system_kung_fu/ncatrb.html">
336
+
337
+
338
+ <a href="../module_0x2__system_kung_fu/ncatrb.html">
339
+
340
+ <i class="fa fa-check"></i>
341
+
342
+ <b>2.4.1.</b>
343
+
344
+ Ncat.rb
345
+ </a>
346
+
347
+
348
+ </li>
349
+
350
+ <li class="chapter " data-level="2.4.2" data-path="module_0x2__system_kung_fu/rce_as_a_service.html">
351
+
352
+
353
+ <a href="../module_0x2__system_kung_fu/rce_as_a_service.html">
354
+
355
+ <i class="fa fa-check"></i>
356
+
357
+ <b>2.4.2.</b>
358
+
359
+ RCE as a Service
360
+ </a>
361
+
362
+
363
+ </li>
364
+
365
+
366
+ </ul>
367
+
368
+ </li>
369
+
370
+ <li class="chapter " data-level="2.5" data-path="module_0x2__system_kung_fu/virustotal.html">
371
+
372
+
373
+ <a href="../module_0x2__system_kung_fu/virustotal.html">
374
+
375
+ <i class="fa fa-check"></i>
376
+
377
+ <b>2.5.</b>
378
+
379
+ VirusTotal
380
+ </a>
381
+
382
+
383
+ </li>
384
+
385
+
386
+ </ul>
387
+
388
+ </li>
389
+
390
+ <li class="chapter " data-level="3" data-path="module_0x3__network_kung_fu/index.html">
391
+
392
+
393
+ <a href="../module_0x3__network_kung_fu/index.html">
394
+
395
+ <i class="fa fa-check"></i>
396
+
397
+ <b>3.</b>
398
+
399
+ Module 0x3 | Network Kung Fu
400
+ </a>
401
+
402
+
403
+ <ul class="articles">
404
+
405
+
406
+ <li class="chapter " data-level="3.1" data-path="module_0x3__network_kung_fu/ruby_socket.html">
407
+
408
+
409
+ <a href="../module_0x3__network_kung_fu/ruby_socket.html">
410
+
411
+ <i class="fa fa-check"></i>
412
+
413
+ <b>3.1.</b>
414
+
415
+ Ruby Socket
416
+ </a>
417
+
418
+
419
+ </li>
420
+
421
+ <li class="chapter " data-level="3.2" data-path="module_0x3__network_kung_fu/ssid_finder.html">
422
+
423
+
424
+ <a href="../module_0x3__network_kung_fu/ssid_finder.html">
425
+
426
+ <i class="fa fa-check"></i>
427
+
428
+ <b>3.2.</b>
429
+
430
+ SSID Finder
431
+ </a>
432
+
433
+
434
+ </li>
435
+
436
+ <li class="chapter " data-level="3.3" data-path="module_0x3__network_kung_fu/ftp.html">
437
+
438
+
439
+ <a href="../module_0x3__network_kung_fu/ftp.html">
440
+
441
+ <i class="fa fa-check"></i>
442
+
443
+ <b>3.3.</b>
444
+
445
+ FTP
446
+ </a>
447
+
448
+
449
+ </li>
450
+
451
+ <li class="chapter " data-level="3.4" data-path="module_0x3__network_kung_fu/ssh.html">
452
+
453
+
454
+ <a href="../module_0x3__network_kung_fu/ssh.html">
455
+
456
+ <i class="fa fa-check"></i>
457
+
458
+ <b>3.4.</b>
459
+
460
+ SSH
461
+ </a>
462
+
463
+
464
+ </li>
465
+
466
+ <li class="chapter " data-level="3.5" data-path="module_0x2__system_kung_fu/email.html">
467
+
468
+
469
+ <a href="../module_0x2__system_kung_fu/email.html">
470
+
471
+ <i class="fa fa-check"></i>
472
+
473
+ <b>3.5.</b>
474
+
475
+ Email
476
+ </a>
477
+
478
+
479
+ <ul class="articles">
480
+
481
+
482
+ <li class="chapter " data-level="3.5.1" data-path="module_0x2__system_kung_fu/smtp_enumeration.html">
483
+
484
+
485
+ <a href="../module_0x2__system_kung_fu/smtp_enumeration.html">
486
+
487
+ <i class="fa fa-check"></i>
488
+
489
+ <b>3.5.1.</b>
490
+
491
+ SMTP Enumeration
492
+ </a>
493
+
494
+
495
+ </li>
496
+
497
+
498
+ </ul>
499
+
500
+ </li>
501
+
502
+ <li class="chapter " data-level="3.6" data-path="module_0x3__network_kung_fu/network_scanning.html">
503
+
504
+
505
+ <a href="../module_0x3__network_kung_fu/network_scanning.html">
506
+
507
+ <i class="fa fa-check"></i>
508
+
509
+ <b>3.6.</b>
510
+
511
+ Network Scanning
512
+ </a>
513
+
514
+
515
+ <ul class="articles">
516
+
517
+
518
+ <li class="chapter " data-level="3.6.1" data-path="module_0x3__network_kung_fu/nmap.html">
519
+
520
+
521
+ <a href="../module_0x3__network_kung_fu/nmap.html">
522
+
523
+ <i class="fa fa-check"></i>
524
+
525
+ <b>3.6.1.</b>
526
+
527
+ Nmap
528
+ </a>
529
+
530
+
531
+ </li>
532
+
533
+
534
+ </ul>
535
+
536
+ </li>
537
+
538
+ <li class="chapter " data-level="3.7" data-path="module_0x3__network_kung_fu/dns.html">
539
+
540
+
541
+ <a href="../module_0x3__network_kung_fu/dns.html">
542
+
543
+ <i class="fa fa-check"></i>
544
+
545
+ <b>3.7.</b>
546
+
547
+ DNS
548
+ </a>
549
+
550
+
551
+ <ul class="articles">
552
+
553
+
554
+ <li class="chapter " data-level="3.7.1" data-path="module_0x3__network_kung_fu/dns_enumeration.html">
555
+
556
+
557
+ <a href="../module_0x3__network_kung_fu/dns_enumeration.html">
558
+
559
+ <i class="fa fa-check"></i>
560
+
561
+ <b>3.7.1.</b>
562
+
563
+ DNS Enumeration
564
+ </a>
565
+
566
+
567
+ </li>
568
+
569
+
570
+ </ul>
571
+
572
+ </li>
573
+
574
+ <li class="chapter " data-level="3.8" data-path="module_0x3__network_kung_fu/snmp_enumeration.html">
575
+
576
+
577
+ <a href="../module_0x3__network_kung_fu/snmp_enumeration.html">
578
+
579
+ <i class="fa fa-check"></i>
580
+
581
+ <b>3.8.</b>
582
+
583
+ SNMP Enumeration
584
+ </a>
585
+
586
+
587
+ </li>
588
+
589
+ <li class="chapter " data-level="3.9" data-path="module_0x3__network_kung_fu/tns_enumeration.html">
590
+
591
+
592
+ <a href="../module_0x3__network_kung_fu/tns_enumeration.html">
593
+
594
+ <i class="fa fa-check"></i>
595
+
596
+ <b>3.9.</b>
597
+
598
+ Oracle TNS Enumeration
599
+ </a>
600
+
601
+
602
+ </li>
603
+
604
+ <li class="chapter " data-level="3.10" data-path="module_0x3__network_kung_fu/packet_manipulation.html">
605
+
606
+
607
+ <a href="../module_0x3__network_kung_fu/packet_manipulation.html">
608
+
609
+ <i class="fa fa-check"></i>
610
+
611
+ <b>3.10.</b>
612
+
613
+ Packet manipulation
614
+ </a>
615
+
616
+
617
+ <ul class="articles">
618
+
619
+
620
+ <li class="chapter " data-level="3.10.1" data-path="module_0x3__network_kung_fu/arp_spoofing.html">
621
+
622
+
623
+ <a href="../module_0x3__network_kung_fu/arp_spoofing.html">
624
+
625
+ <i class="fa fa-check"></i>
626
+
627
+ <b>3.10.1.</b>
628
+
629
+ ARP Spoofing
630
+ </a>
631
+
632
+
633
+ </li>
634
+
635
+ <li class="chapter " data-level="3.10.2" data-path="module_0x3__network_kung_fu/dns_spoofing.html">
636
+
637
+
638
+ <a href="../module_0x3__network_kung_fu/dns_spoofing.html">
639
+
640
+ <i class="fa fa-check"></i>
641
+
642
+ <b>3.10.2.</b>
643
+
644
+ DNS Spoofing
645
+ </a>
646
+
647
+
648
+ </li>
649
+
650
+
651
+ </ul>
652
+
653
+ </li>
654
+
655
+
656
+ </ul>
657
+
658
+ </li>
659
+
660
+ <li class="chapter " data-level="4" data-path="module_0x4__web_kung_fu/index.html">
661
+
662
+
663
+ <a href="../module_0x4__web_kung_fu/index.html">
664
+
665
+ <i class="fa fa-check"></i>
666
+
667
+ <b>4.</b>
668
+
669
+ Module 0x4 | Web Kung Fu
670
+ </a>
671
+
672
+
673
+ <ul class="articles">
674
+
675
+
676
+ <li class="chapter " data-level="4.1" data-path="module_0x4__web_kung_fu/sql_injection_scanner.html">
677
+
678
+
679
+ <a href="../module_0x4__web_kung_fu/sql_injection_scanner.html">
680
+
681
+ <i class="fa fa-check"></i>
682
+
683
+ <b>4.1.</b>
684
+
685
+ SQL Injection Scanner
686
+ </a>
687
+
688
+
689
+ </li>
690
+
691
+ <li class="chapter active" data-level="4.2" data-path="module_0x4__web_kung_fu/databases.html">
692
+
693
+
694
+ <a href="../module_0x4__web_kung_fu/databases.html">
695
+
696
+ <i class="fa fa-check"></i>
697
+
698
+ <b>4.2.</b>
699
+
700
+ Databases
701
+ </a>
702
+
703
+
704
+ </li>
705
+
706
+ <li class="chapter " data-level="4.3" data-path="module_0x4__web_kung_fu/extending_burpsuite.html">
707
+
708
+
709
+ <a href="../module_0x4__web_kung_fu/extending_burpsuite.html">
710
+
711
+ <i class="fa fa-check"></i>
712
+
713
+ <b>4.3.</b>
714
+
715
+ Extending Burp Suite
716
+ </a>
717
+
718
+
719
+ </li>
720
+
721
+ <li class="chapter " data-level="4.4" data-path="module_0x4__web_kung_fu/browser_manipulation.html">
722
+
723
+
724
+ <a href="../module_0x4__web_kung_fu/browser_manipulation.html">
725
+
726
+ <i class="fa fa-check"></i>
727
+
728
+ <b>4.4.</b>
729
+
730
+ Browser Manipulation
731
+ </a>
732
+
733
+
734
+ </li>
735
+
736
+ <li class="chapter " data-level="4.5" data-path="module_0x4__web_kung_fu/web_servcies_and_apis.html">
737
+
738
+
739
+ <a href="../module_0x4__web_kung_fu/web_servcies_and_apis.html">
740
+
741
+ <i class="fa fa-check"></i>
742
+
743
+ <b>4.5.</b>
744
+
745
+ Web Services and APIs
746
+ </a>
747
+
748
+
749
+ <ul class="articles">
750
+
751
+
752
+ <li class="chapter " data-level="4.5.1" data-path="module_0x4__web_kung_fu/web_services.html">
753
+
754
+
755
+ <a href="../module_0x4__web_kung_fu/web_services.html">
756
+
757
+ <i class="fa fa-check"></i>
758
+
759
+ <b>4.5.1.</b>
760
+
761
+ Interacting with Web Services
762
+ </a>
763
+
764
+
765
+ </li>
766
+
767
+ <li class="chapter " data-level="4.5.2" data-path="module_0x4__web_kung_fu/interacting_with_apis.html">
768
+
769
+
770
+ <a href="../module_0x4__web_kung_fu/interacting_with_apis.html">
771
+
772
+ <i class="fa fa-check"></i>
773
+
774
+ <b>4.5.2.</b>
775
+
776
+ Interacting with APIs
777
+ </a>
778
+
779
+
780
+ <ul class="articles">
781
+
782
+
783
+ <li class="chapter " data-level="4.5.2.1" data-path="module_0x4__web_kung_fu/wordpress_api.html">
784
+
785
+
786
+ <a href="../module_0x4__web_kung_fu/wordpress_api.html">
787
+
788
+ <i class="fa fa-check"></i>
789
+
790
+ <b>4.5.2.1.</b>
791
+
792
+ WordPress API
793
+ </a>
794
+
795
+
796
+ </li>
797
+
798
+ <li class="chapter " data-level="4.5.2.2" data-path="module_0x4__web_kung_fu/twitter_api.html">
799
+
800
+
801
+ <a href="../module_0x4__web_kung_fu/twitter_api.html">
802
+
803
+ <i class="fa fa-check"></i>
804
+
805
+ <b>4.5.2.2.</b>
806
+
807
+ Twitter API
808
+ </a>
809
+
810
+
811
+ </li>
812
+
813
+
814
+ </ul>
815
+
816
+ </li>
817
+
818
+
819
+ </ul>
820
+
821
+ </li>
822
+
823
+ <li class="chapter " data-level="4.6" data-path="module_0x4__web_kung_fu/ruby2javascript.html">
824
+
825
+
826
+ <a href="../module_0x4__web_kung_fu/ruby2javascript.html">
827
+
828
+ <i class="fa fa-check"></i>
829
+
830
+ <b>4.6.</b>
831
+
832
+ Ruby 2 JavaScript
833
+ </a>
834
+
835
+
836
+ </li>
837
+
838
+ <li class="chapter " data-level="4.7" data-path="module_0x4__web_kung_fu/web_server_and_proxy.html">
839
+
840
+
841
+ <a href="../module_0x4__web_kung_fu/web_server_and_proxy.html">
842
+
843
+ <i class="fa fa-check"></i>
844
+
845
+ <b>4.7.</b>
846
+
847
+ Web Server and Proxy
848
+ </a>
849
+
850
+
851
+ </li>
852
+
853
+
854
+ </ul>
855
+
856
+ </li>
857
+
858
+ <li class="chapter " data-level="5" data-path="module_0x5__exploitation_kung_fu/index.html">
859
+
860
+
861
+ <a href="../module_0x5__exploitation_kung_fu/index.html">
862
+
863
+ <i class="fa fa-check"></i>
864
+
865
+ <b>5.</b>
866
+
867
+ Module 0x5 | Exploitation Kung Fu
868
+ </a>
869
+
870
+
871
+ <ul class="articles">
872
+
873
+
874
+ <li class="chapter " data-level="5.1" data-path="module_0x5__exploitation_kung_fu/fuzzer.html">
875
+
876
+
877
+ <a href="../module_0x5__exploitation_kung_fu/fuzzer.html">
878
+
879
+ <i class="fa fa-check"></i>
880
+
881
+ <b>5.1.</b>
882
+
883
+ Fuzzer
884
+ </a>
885
+
886
+
887
+ </li>
888
+
889
+ <li class="chapter " data-level="5.2" data-path="module_0x5__exploitation_kung_fu/metasploit.html">
890
+
891
+
892
+ <a href="../module_0x5__exploitation_kung_fu/metasploit.html">
893
+
894
+ <i class="fa fa-check"></i>
895
+
896
+ <b>5.2.</b>
897
+
898
+ Metasploit
899
+ </a>
900
+
901
+
902
+ <ul class="articles">
903
+
904
+
905
+ <li class="chapter " data-level="5.2.1" data-path="module_0x5__exploitation_kung_fu/auxiliary_module.html">
906
+
907
+
908
+ <a href="../module_0x5__exploitation_kung_fu/auxiliary_module.html">
909
+
910
+ <i class="fa fa-check"></i>
911
+
912
+ <b>5.2.1.</b>
913
+
914
+ Auxiliary module
915
+ </a>
916
+
917
+
918
+ </li>
919
+
920
+ <li class="chapter " data-level="5.2.2" data-path="module_0x5__exploitation_kung_fu/exploit_module.html">
921
+
922
+
923
+ <a href="../module_0x5__exploitation_kung_fu/exploit_module.html">
924
+
925
+ <i class="fa fa-check"></i>
926
+
927
+ <b>5.2.2.</b>
928
+
929
+ Exploit module
930
+ </a>
931
+
932
+
933
+ </li>
934
+
935
+ <li class="chapter " data-level="5.2.3" data-path="module_0x5__exploitation_kung_fu/meterpreter.html">
936
+
937
+
938
+ <a href="../module_0x5__exploitation_kung_fu/meterpreter.html">
939
+
940
+ <i class="fa fa-check"></i>
941
+
942
+ <b>5.2.3.</b>
943
+
944
+ Meterpreter
945
+ </a>
946
+
947
+
948
+ <ul class="articles">
949
+
950
+
951
+ <li class="chapter " data-level="5.2.3.1" data-path="module_0x5__exploitation_kung_fu/extensions.html">
952
+
953
+
954
+ <a href="../module_0x5__exploitation_kung_fu/extensions.html">
955
+
956
+ <i class="fa fa-check"></i>
957
+
958
+ <b>5.2.3.1.</b>
959
+
960
+ API and Extensions
961
+ </a>
962
+
963
+
964
+ </li>
965
+
966
+ <li class="chapter " data-level="5.2.3.2" data-path="module_0x5__exploitation_kung_fu/meterpreter_scripting.html">
967
+
968
+
969
+ <a href="../module_0x5__exploitation_kung_fu/meterpreter_scripting.html">
970
+
971
+ <i class="fa fa-check"></i>
972
+
973
+ <b>5.2.3.2.</b>
974
+
975
+ Meterpreter Scripting
976
+ </a>
977
+
978
+
979
+ </li>
980
+
981
+ <li class="chapter " data-level="5.2.3.3" data-path="module_0x5__exploitation_kung_fu/railgun_api_extension.html">
982
+
983
+
984
+ <a href="../module_0x5__exploitation_kung_fu/railgun_api_extension.html">
985
+
986
+ <i class="fa fa-check"></i>
987
+
988
+ <b>5.2.3.3.</b>
989
+
990
+ Railgun API Extension
991
+ </a>
992
+
993
+
994
+ </li>
995
+
996
+
997
+ </ul>
998
+
999
+ </li>
1000
+
1001
+
1002
+ </ul>
1003
+
1004
+ </li>
1005
+
1006
+ <li class="chapter " data-level="5.3" data-path="module_0x5__exploitation_kung_fu/metasm.html">
1007
+
1008
+
1009
+ <a href="../module_0x5__exploitation_kung_fu/metasm.html">
1010
+
1011
+ <i class="fa fa-check"></i>
1012
+
1013
+ <b>5.3.</b>
1014
+
1015
+ metasm
1016
+ </a>
1017
+
1018
+
1019
+ </li>
1020
+
1021
+
1022
+ </ul>
1023
+
1024
+ </li>
1025
+
1026
+ <li class="chapter " data-level="6" data-path="module_0x6__forensic/index.html">
1027
+
1028
+
1029
+ <a href="../module_0x6__forensic/index.html">
1030
+
1031
+ <i class="fa fa-check"></i>
1032
+
1033
+ <b>6.</b>
1034
+
1035
+ Module 0x6 | Forensic Kung Fu
1036
+ </a>
1037
+
1038
+
1039
+ <ul class="articles">
1040
+
1041
+
1042
+ <li class="chapter " data-level="6.1" data-path="module_0x6__forensic/windows_forensic.html">
1043
+
1044
+
1045
+ <a href="../module_0x6__forensic/windows_forensic.html">
1046
+
1047
+ <i class="fa fa-check"></i>
1048
+
1049
+ <b>6.1.</b>
1050
+
1051
+ Windows Forensic
1052
+ </a>
1053
+
1054
+
1055
+ </li>
1056
+
1057
+ <li class="chapter " data-level="6.2" data-path="module_0x6__forensic/android_forensic.html">
1058
+
1059
+
1060
+ <a href="../module_0x6__forensic/android_forensic.html">
1061
+
1062
+ <i class="fa fa-check"></i>
1063
+
1064
+ <b>6.2.</b>
1065
+
1066
+ Android Forensic
1067
+ </a>
1068
+
1069
+
1070
+ </li>
1071
+
1072
+ <li class="chapter " data-level="6.3" data-path="module_0x3__network_kung_fu/network_traffic_analysis.html">
1073
+
1074
+
1075
+ <a href="../module_0x3__network_kung_fu/network_traffic_analysis.html">
1076
+
1077
+ <i class="fa fa-check"></i>
1078
+
1079
+ <b>6.3.</b>
1080
+
1081
+ Network Traffic Analysis
1082
+ </a>
1083
+
1084
+
1085
+ </li>
1086
+
1087
+ <li class="chapter " data-level="6.4" data-path="module_0x6__forensic/parsing_log_files.html">
1088
+
1089
+
1090
+ <a href="../module_0x6__forensic/parsing_log_files.html">
1091
+
1092
+ <i class="fa fa-check"></i>
1093
+
1094
+ <b>6.4.</b>
1095
+
1096
+ Parsing Log Files
1097
+ </a>
1098
+
1099
+
1100
+ </li>
1101
+
1102
+
1103
+ </ul>
1104
+
1105
+ </li>
1106
+
1107
+ <li class="chapter " data-level="7" data-path="references/index.html">
1108
+
1109
+
1110
+ <a href="../references/index.html">
1111
+
1112
+ <i class="fa fa-check"></i>
1113
+
1114
+ <b>7.</b>
1115
+
1116
+ References
1117
+ </a>
1118
+
1119
+
1120
+ </li>
1121
+
1122
+ <li class="chapter " data-level="8" data-path="faqs/index.html">
1123
+
1124
+
1125
+ <a href="../faqs/index.html">
1126
+
1127
+ <i class="fa fa-check"></i>
1128
+
1129
+ <b>8.</b>
1130
+
1131
+ FAQs
1132
+ </a>
1133
+
1134
+
1135
+ </li>
1136
+
1137
+ <li class="chapter " data-level="9" data-path="contributors/index.html">
1138
+
1139
+
1140
+ <a href="../contributors/index.html">
1141
+
1142
+ <i class="fa fa-check"></i>
1143
+
1144
+ <b>9.</b>
1145
+
1146
+ Contributors
1147
+ </a>
1148
+
1149
+
1150
+ <ul class="articles">
1151
+
1152
+
1153
+ <li class="chapter " data-level="9.1" data-path="contributors/todo.html">
1154
+
1155
+
1156
+ <a href="../contributors/todo.html">
1157
+
1158
+ <i class="fa fa-check"></i>
1159
+
1160
+ <b>9.1.</b>
1161
+
1162
+ TODO
1163
+ </a>
1164
+
1165
+
1166
+ </li>
1167
+
1168
+
1169
+ </ul>
1170
+
1171
+ </li>
1172
+
1173
+
1174
+
1175
+
1176
+ <li class="divider"></li>
1177
+ <li>
1178
+ <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
1179
+ Published with GitBook
1180
+ </a>
1181
+ </li>
1182
+
1183
+ </ul>
1184
+ </nav>
1185
+ </div>
1186
+
1187
+ <div class="book-body">
1188
+ <div class="body-inner">
1189
+ <div class="book-header" role="navigation">
1190
+ <!-- Actions Left -->
1191
+
1192
+
1193
+ <!-- Title -->
1194
+ <h1>
1195
+ <i class="fa fa-circle-o-notch fa-spin"></i>
1196
+ <a href="../" >RubyFu</a>
1197
+ </h1>
1198
+ </div>
1199
+
1200
+ <div class="page-wrapper" tabindex="-1" role="main">
1201
+ <div class="page-inner">
1202
+
1203
+
1204
+ <section class="normal" id="section-">
1205
+
1206
+ <h1 id="databases"><a name="databases" class="plugin-anchor" href="#databases"><span class="fa fa-link"></span></a>Databases</h1>
1207
+ <p>Dealing with database is a required knowledge in web testing and here we will go though most known databases and how to deal with it in ruby.</p>
1208
+ <h2 id="sqlite"><a name="sqlite" class="plugin-anchor" href="#sqlite"><span class="fa fa-link"></span></a>SQLite</h2>
1209
+ <ul>
1210
+ <li><p>To install sqlite3 gem </p>
1211
+ <pre><code>gem install sqlite3
1212
+ </code></pre><p>You&apos;ve have to have sqlite3 development libraries installed on your system</p>
1213
+ <pre><code>apt-get install libsqlite3-dev
1214
+ </code></pre></li>
1215
+ <li><p>Basic operations</p>
1216
+ </li>
1217
+ </ul>
1218
+ <pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">&quot;sqlite3&quot;</span>
1219
+
1220
+ <span class="hljs-comment"># Open/Create a database</span>
1221
+ db = <span class="hljs-constant">SQLite3::Database</span>.new <span class="hljs-string">&quot;rubyfu.db&quot;</span>
1222
+
1223
+ <span class="hljs-comment"># Create a table</span>
1224
+ rows = db.execute &lt;&lt;-<span class="hljs-constant">SQL</span>
1225
+ <span class="hljs-constant">CREATE</span> <span class="hljs-constant">TABLE</span> attackers (
1226
+ id <span class="hljs-constant">INTEGER</span> <span class="hljs-constant">PRIMARY</span> <span class="hljs-constant">KEY</span> <span class="hljs-constant">AUTOINCREMENT</span>,
1227
+ name <span class="hljs-constant">TEXT</span> <span class="hljs-constant">NOT</span> <span class="hljs-constant">NULL</span>,
1228
+ ip <span class="hljs-constant">CHAR</span>(<span class="hljs-number">50</span>)
1229
+ );
1230
+ <span class="hljs-constant">SQL</span>
1231
+
1232
+ <span class="hljs-comment"># Execute a few inserts</span>
1233
+ {
1234
+ <span class="hljs-string">&apos;Anonymous&apos;</span> =&gt; <span class="hljs-string">&quot;192.168.0.7&quot;</span>,
1235
+ <span class="hljs-string">&apos;LulzSec&apos;</span> =&gt; <span class="hljs-string">&quot;192.168.0.14&quot;</span>,
1236
+ <span class="hljs-string">&apos;Lizard Squad&apos;</span> =&gt; <span class="hljs-string">&quot;192.168.0.253&quot;</span>
1237
+ }.each <span class="hljs-keyword">do</span> |attacker, ip|
1238
+ db.execute(<span class="hljs-string">&quot;INSERT INTO attackers (name, ip)
1239
+ VALUES (?, ?)&quot;</span>, [attacker, ip])
1240
+ <span class="hljs-keyword">end</span>
1241
+
1242
+ <span class="hljs-comment"># Find a few rows</span>
1243
+ db.execute <span class="hljs-string">&quot;SELECT id,name,ip FROM attackers&quot;</span>
1244
+
1245
+ <span class="hljs-comment"># List all tables</span>
1246
+ db.execute <span class="hljs-string">&quot;SELECT * FROM sqlite_master where type=&apos;table&apos;&quot;</span>
1247
+ </code></pre>
1248
+ <h2 id="active-record"><a name="active-record" class="plugin-anchor" href="#active-record"><span class="fa fa-link"></span></a>Active Record</h2>
1249
+ <ul>
1250
+ <li>To install ActiveRecord <pre><code>gem install activerecord
1251
+ </code></pre></li>
1252
+ </ul>
1253
+ <h3 id="mysql-database"><a name="mysql-database" class="plugin-anchor" href="#mysql-database"><span class="fa fa-link"></span></a>MySQL database</h3>
1254
+ <ul>
1255
+ <li>To install MySQL adapter<pre><code>gem install mysql
1256
+ </code></pre></li>
1257
+ </ul>
1258
+ <p>Login to mysql console and create database <em>rubyfu_db</em> and table <em>attackers</em></p>
1259
+ <pre><code>create database rubyfu_db;
1260
+
1261
+ grant all on rubyfu_db.* to &apos;root&apos;@&apos;localhost&apos;;
1262
+
1263
+ create table attackers (
1264
+ id int not null auto_increment,
1265
+ name varchar(100) not null,
1266
+ ip text not null,
1267
+ primary key (id)
1268
+ );
1269
+
1270
+ exit
1271
+ </code></pre><p>The outputs look like following </p>
1272
+ <pre><code>mysql -u root -p
1273
+ Enter password:
1274
+ Welcome to the MySQL monitor. Commands end with ; or \g.
1275
+ Your MySQL connection id is 41
1276
+ Server version: 5.5.44-0ubuntu0.14.04.1 (Ubuntu)
1277
+
1278
+ Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
1279
+
1280
+ Oracle is a registered trademark of Oracle Corporation and/or its
1281
+ affiliates. Other names may be trademarks of their respective
1282
+ owners.
1283
+
1284
+ Type &apos;help;&apos; or &apos;\h&apos; for help. Type &apos;\c&apos; to clear the current input statement.
1285
+
1286
+
1287
+ mysql&gt; create database rubyfu_db;
1288
+ Query OK, 1 row affected (0.00 sec)
1289
+
1290
+ mysql&gt; grant all on rubyfu_db.* to &apos;root&apos;@&apos;localhost&apos;;
1291
+ Query OK, 0 rows affected (0.00 sec)
1292
+
1293
+ mysql&gt; use rubyfu_db;
1294
+ Database changed
1295
+ mysql&gt; create table attackers (
1296
+ -&gt; id int not null auto_increment,
1297
+ -&gt; name varchar(100) not null,
1298
+ -&gt; ip text not null,
1299
+ -&gt; primary key (id)
1300
+ -&gt; );
1301
+ Query OK, 0 rows affected (0.01 sec)
1302
+
1303
+ mysql&gt; exit
1304
+ </code></pre><p>Now, let&apos;s to connect to <em>rubyfu_db</em> database </p>
1305
+ <pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">&apos;active_record&apos;</span>
1306
+ <span class="hljs-constant">ActiveRecord::Base</span>.establish_connection(
1307
+ <span class="hljs-symbol">:adapter</span> =&gt; <span class="hljs-string">&quot;mysql&quot;</span>,
1308
+ <span class="hljs-symbol">:username</span> =&gt; <span class="hljs-string">&quot;root&quot;</span>,
1309
+ <span class="hljs-symbol">:password</span> =&gt; <span class="hljs-string">&quot;root&quot;</span>,
1310
+ <span class="hljs-symbol">:host</span> =&gt; <span class="hljs-string">&quot;localhost&quot;</span>,
1311
+ <span class="hljs-symbol">:database</span> =&gt; <span class="hljs-string">&quot;rubyfu_db&quot;</span>
1312
+ )
1313
+
1314
+ <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Attackers</span> <span class="hljs-inheritance">&lt; <span class="hljs-parent">ActiveRecord::Base</span></span> </span>
1315
+ <span class="hljs-keyword">end</span>
1316
+ </code></pre>
1317
+ <ul>
1318
+ <li>Using the ActiveRecord library, available as the activerecord gem.</li>
1319
+ <li>Using the ActiveRecord adapter namely <em>mysql</em></li>
1320
+ <li>Establishing a connection to the database <em>rubyfu_db</em></li>
1321
+ <li>Creating a class called <em>Attackers</em> following the conventions mentioned above (attacker)</li>
1322
+ </ul>
1323
+ <pre><code class="lang-ruby"><span class="hljs-constant">Attackers</span>.create(<span class="hljs-symbol">:name</span> =&gt; <span class="hljs-string">&apos;Anonymous&apos;</span>, <span class="hljs-symbol">:ip</span> =&gt; <span class="hljs-string">&quot;192.168.0.7&quot;</span>)
1324
+ <span class="hljs-constant">Attackers</span>.create(<span class="hljs-symbol">:name</span> =&gt; <span class="hljs-string">&apos;LulzSec&apos;</span>, <span class="hljs-symbol">:ip</span> =&gt; <span class="hljs-string">&quot;192.168.0.14&quot;</span>)
1325
+ <span class="hljs-constant">Attackers</span>.create(<span class="hljs-symbol">:name</span> =&gt; <span class="hljs-string">&apos;Lizard Squad&apos;</span>, <span class="hljs-symbol">:ip</span> =&gt; <span class="hljs-string">&quot;192.168.0.253&quot;</span>)
1326
+ </code></pre>
1327
+ <p>You will observe that ActiveRecord examines the database tables themselves to find out which columns are available. This is how we were able to use accessor methods for participant.name without explicitly defining them: we defined them in the database, and ActiveRecord picked them up.</p>
1328
+ <p>You can find the item </p>
1329
+ <ul>
1330
+ <li>by id<pre><code>Attackers.find(1)
1331
+ </code></pre></li>
1332
+ <li>by name<pre><code>Attackers.find_by(name: &quot;Anonymous&quot;)
1333
+ </code></pre>Result <pre><code class="lang-ruby"><span class="hljs-comment">#&lt;Attackers:0x000000010a6ad0 id: 1, name: &quot;Anonymous&quot;, ip: &quot;192.168.0.7&quot;&gt;</span>
1334
+ </code></pre>
1335
+ </li>
1336
+ </ul>
1337
+ <p>or you can work it as object</p>
1338
+ <pre><code class="lang-ruby">attacker = <span class="hljs-constant">Attackers</span>.find(<span class="hljs-number">3</span>)
1339
+ attacker.id
1340
+ attacker.name
1341
+ attacker.ip
1342
+ </code></pre>
1343
+ <p>If you want to delete an item from the database, you can use the destroy (Deletes the record in the database) method of ActiveRecord::Base:</p>
1344
+ <pre><code class="lang-ruby"><span class="hljs-constant">Attackers</span>.find(<span class="hljs-number">2</span>).destroy
1345
+ </code></pre>
1346
+ <p>So to write a complete script, </p>
1347
+ <pre><code class="lang-ruby"><span class="hljs-comment">#!/usr/bin/env ruby</span>
1348
+ <span class="hljs-comment"># KING SABRI | <span class="hljs-doctag">@KINGSABRI</span></span>
1349
+ <span class="hljs-comment"># ActiveRecord with MySQL</span>
1350
+ <span class="hljs-comment">#</span>
1351
+ <span class="hljs-keyword">require</span> <span class="hljs-string">&apos;active_record&apos;</span>
1352
+
1353
+ <span class="hljs-comment"># Connect to database</span>
1354
+ <span class="hljs-constant">ActiveRecord::Base</span>.establish_connection(
1355
+ <span class="hljs-symbol">:adapter</span> =&gt; <span class="hljs-string">&quot;mysql&quot;</span>,
1356
+ <span class="hljs-symbol">:username</span> =&gt; <span class="hljs-string">&quot;root&quot;</span>,
1357
+ <span class="hljs-symbol">:password</span> =&gt; <span class="hljs-string">&quot;root&quot;</span>,
1358
+ <span class="hljs-symbol">:host</span> =&gt; <span class="hljs-string">&quot;localhost&quot;</span>,
1359
+ <span class="hljs-symbol">:database</span> =&gt; <span class="hljs-string">&quot;rubyfu_db&quot;</span>
1360
+ )
1361
+
1362
+ <span class="hljs-comment"># Create Active Record Model for the table </span>
1363
+ <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Attackers</span> <span class="hljs-inheritance">&lt; <span class="hljs-parent">ActiveRecord::Base</span></span> </span>
1364
+ <span class="hljs-keyword">end</span>
1365
+
1366
+ <span class="hljs-comment"># Create New Entries to the table </span>
1367
+ <span class="hljs-constant">Attackers</span>.create(<span class="hljs-symbol">:name</span> =&gt; <span class="hljs-string">&apos;Anonymous&apos;</span>, <span class="hljs-symbol">:ip</span> =&gt; <span class="hljs-string">&quot;192.168.0.7&quot;</span>)
1368
+ <span class="hljs-constant">Attackers</span>.create(<span class="hljs-symbol">:name</span> =&gt; <span class="hljs-string">&apos;LulzSec&apos;</span>, <span class="hljs-symbol">:ip</span> =&gt; <span class="hljs-string">&quot;192.168.0.14&quot;</span>)
1369
+ <span class="hljs-constant">Attackers</span>.create(<span class="hljs-symbol">:name</span> =&gt; <span class="hljs-string">&apos;Lizard Squad&apos;</span>, <span class="hljs-symbol">:ip</span> =&gt; <span class="hljs-string">&quot;192.168.0.253&quot;</span>)
1370
+
1371
+ <span class="hljs-comment"># Interact with table items </span>
1372
+ attacker = <span class="hljs-constant">Attackers</span>.find(<span class="hljs-number">3</span>)
1373
+ attacker.id
1374
+ attacker.name
1375
+ attacker.ip
1376
+
1377
+ <span class="hljs-comment"># Delete a table Item</span>
1378
+ <span class="hljs-constant">Attackers</span>.find(<span class="hljs-number">2</span>).destroy
1379
+ </code></pre>
1380
+ <h3 id="oracle-database"><a name="oracle-database" class="plugin-anchor" href="#oracle-database"><span class="fa fa-link"></span></a>Oracle database</h3>
1381
+ <ul>
1382
+ <li>Prerequisites</li>
1383
+ </ul>
1384
+ <p>in order to make <a href="http://www.rubydoc.info/gems/ruby-oci8/file/docs/install-full-client.md" target="_blank">ruby-oci8</a> -which is the main dependency for oracle driver- works you&apos;ve to do some extra steps: </p>
1385
+ <ul>
1386
+ <li>Download links for <a href="http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html" target="_blank">Linux</a> | <a href="http://www.oracle.com/technetwork/topics/winsoft-085727.html" target="_blank">Windows</a> | <a href="http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html" target="_blank">Mac</a> <ul>
1387
+ <li>instantclient-basic-[OS].[Arch]-[VERSION].zip</li>
1388
+ <li>instantclient-sqlplus-[OS].[Arch]-[VERSION].zip</li>
1389
+ <li>instantclient-sdk-[OS].[Arch]-[VERSION].zip</li>
1390
+ </ul>
1391
+ </li>
1392
+ </ul>
1393
+ <ul>
1394
+ <li>Unzip downloaded files </li>
1395
+ </ul>
1396
+ <pre><code>unzip -qq instantclient-basic-linux.x64-12.1.0.2.0.zip
1397
+ unzip -qq instantclient-sdk-linux.x64-12.1.0.2.0.zip
1398
+ unzip -qq instantclient-sqlplus-linux.x64-12.1.0.2.0.zip
1399
+ </code></pre><ul>
1400
+ <li>Create system directories
1401
+ as root / sudo </li>
1402
+ </ul>
1403
+ <pre><code>mkdir -p /usr/local/oracle/{network,product/instantclient_64/12.1.0.2.0/{bin,lib,jdbc/lib,rdbms/jlib,sqlplus/admin/}}
1404
+ </code></pre><p>The file structure should be </p>
1405
+ <pre><code>/usr/local/oracle/
1406
+ &#x251C;&#x2500;&#x2500; admin
1407
+ &#x2502; &#x2514;&#x2500;&#x2500; network
1408
+ &#x2514;&#x2500;&#x2500; product
1409
+ &#x2514;&#x2500;&#x2500; instantclient_64
1410
+ &#x2514;&#x2500;&#x2500; 12.1.0.2.0
1411
+ &#x251C;&#x2500;&#x2500; bin
1412
+ &#x251C;&#x2500;&#x2500; jdbc
1413
+ &#x2502; &#x2514;&#x2500;&#x2500; lib
1414
+ &#x251C;&#x2500;&#x2500; lib
1415
+ &#x251C;&#x2500;&#x2500; rdbms
1416
+ &#x2502; &#x2514;&#x2500;&#x2500; jlib
1417
+ &#x2514;&#x2500;&#x2500; sqlplus
1418
+ &#x2514;&#x2500;&#x2500; admin
1419
+ </code></pre><ul>
1420
+ <li>Move files </li>
1421
+ </ul>
1422
+ <pre><code>cd instantclient_12_1
1423
+
1424
+ mv ojdbc* /usr/local/oracle/product/instantclient_64/12.1.0.2.0/jdbc/lib/
1425
+ mv x*.jar /usr/local/oracle/product/instantclient_64/12.1.0.2.0/rdbms/jlib/
1426
+ # rename glogin.sql to login.sql
1427
+ mv glogin.sql /usr/local/oracle/product/instantclient_64/12.1.0.2.0/sqlplus/admin/login.sql
1428
+ mv sdk /usr/local/oracle/product/instantclient_64/12.1.0.2.0/lib/
1429
+ mv *README /usr/local/oracle/product/instantclient_64/12.1.0.2.0/
1430
+ mv * /usr/local/oracle/product/instantclient_64/12.1.0.2.0/bin/
1431
+ # Symlink of instantclient
1432
+ cd /usr/local/oracle/product/instantclient_64/12.1.0.2.0/bin
1433
+ ln -s libclntsh.so.12.1 libclntsh.so
1434
+ ln -s ../lib/sdk sdk
1435
+ cd -
1436
+ </code></pre><ul>
1437
+ <li>Setup environment </li>
1438
+ </ul>
1439
+ <p>Append oracle environment variables in to <code>~/.bashrc</code> Then add the following:</p>
1440
+ <pre><code># Oracle Environment
1441
+ export ORACLE_BASE=/usr/local/oracle
1442
+ export ORACLE_HOME=$ORACLE_BASE/product/instantclient_64/12.1.0.2.0
1443
+ export PATH=$ORACLE_HOME/bin:$PATH
1444
+ LD_LIBRARY_PATH=$ORACLE_HOME/bin
1445
+ export LD_LIBRARY_PATH
1446
+ export TNS_ADMIN=$ORACLE_BASE/admin/network
1447
+ export SQLPATH=$ORACLE_HOME/sqlplus/admin
1448
+ </code></pre><p>Then run:</p>
1449
+ <pre><code>source ~/.bashrc
1450
+ </code></pre><ul>
1451
+ <li>To install Oracle adapter<pre><code>gem install ruby-oci8 activerecord-oracle_enhanced-adapter
1452
+ </code></pre></li>
1453
+ </ul>
1454
+ <p>Now let&apos;s to connect </p>
1455
+ <pre><code>require &apos;active_record&apos;
1456
+
1457
+ ActiveRecord::Base.establish_connection(
1458
+ :adapter =&gt; &quot;oracle_enhanced&quot;,
1459
+ :database =&gt; &quot;192.168.0.13:1521/XE&quot;,
1460
+ :username =&gt; &quot;SYSDBA&quot;,
1461
+ :password =&gt; &quot;welcome1&quot;
1462
+ )
1463
+
1464
+ class DBAUsers &lt; ActiveRecord::Base
1465
+ end
1466
+ </code></pre><h3 id="mssql-database"><a name="mssql-database" class="plugin-anchor" href="#mssql-database"><span class="fa fa-link"></span></a>MSSQL database</h3>
1467
+ <ul>
1468
+ <li>To install MSSQL adapter</li>
1469
+ </ul>
1470
+ <pre><code>gem install tiny_tds activerecord-sqlserver-adapter
1471
+ </code></pre><h2 id=""><a name="" class="plugin-anchor" href="#"><span class="fa fa-link"></span></a><br><br><br></h2>
1472
+
1473
+
1474
+ </section>
1475
+
1476
+
1477
+ </div>
1478
+ </div>
1479
+ </div>
1480
+
1481
+
1482
+ <a href="../module_0x4__web_kung_fu/sql_injection_scanner.html" class="navigation navigation-prev " aria-label="Previous page: SQL Injection Scanner"><i class="fa fa-angle-left"></i></a>
1483
+
1484
+
1485
+ <a href="../module_0x4__web_kung_fu/extending_burpsuite.html" class="navigation navigation-next " aria-label="Next page: Extending Burp Suite"><i class="fa fa-angle-right"></i></a>
1486
+
1487
+ </div>
1488
+ </div>
1489
+
1490
+
1491
+ <script src="../gitbook/app.js"></script>
1492
+
1493
+
1494
+ <script src="../gitbook/plugins/gitbook-plugin-splitter/splitter.js"></script>
1495
+
1496
+
1497
+
1498
+ <script src="../gitbook/plugins/gitbook-plugin-book-summary-scroll-position-saver/book-summary-scroll-position-saver.js"></script>
1499
+
1500
+
1501
+
1502
+ <script src="../gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.js"></script>
1503
+
1504
+
1505
+
1506
+ <script src="../gitbook/plugins/gitbook-plugin-search/lunr.min.js"></script>
1507
+
1508
+
1509
+
1510
+ <script src="../gitbook/plugins/gitbook-plugin-search/search.js"></script>
1511
+
1512
+
1513
+
1514
+ <script src="../gitbook/plugins/gitbook-plugin-sharing/buttons.js"></script>
1515
+
1516
+
1517
+
1518
+ <script src="../gitbook/plugins/gitbook-plugin-fontsettings/buttons.js"></script>
1519
+
1520
+
1521
+ <script>
1522
+ require(["gitbook"], function(gitbook) {
1523
+ var config = {"addcssjs":{"js":["styles/header.js"]},"anchors":{},"todo":{},"splitter":{},"book-summary-scroll-position-saver":{},"expandable-chapters":{},"highlight":{},"search":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}};
1524
+ gitbook.start(config);
1525
+ });
1526
+ </script>
1527
+
1528
+
1529
+ </body>
1530
+
1531
+ </html>