Compare commits
1557 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f832e27b49 | ||
|
|
6ce29f73c5 | ||
|
|
920338fb62 | ||
|
|
49d0a9e6d9 | ||
|
|
fe401e622b | ||
|
|
6e32cb0db2 | ||
|
|
73171eb39d | ||
|
|
2e05f4171e | ||
|
|
75b8c303e2 | ||
|
|
bd7a493f1c | ||
|
|
9dada7c8f4 | ||
|
|
fe7aede458 | ||
|
|
cdf2b38780 | ||
|
|
a09dbab6a8 | ||
|
|
49a6d275d2 | ||
|
|
8192a4a215 | ||
|
|
1d6593fd4d | ||
|
|
bf99e31e70 | ||
|
|
5386496bdc | ||
|
|
6451510449 | ||
|
|
cd68aa719c | ||
|
|
b328dc4ff9 | ||
|
|
1e1c79aa56 | ||
|
|
08650ce156 | ||
|
|
a1929719f3 | ||
|
|
d34da72cd3 | ||
|
|
816b18b604 | ||
|
|
a78a13bf3f | ||
|
|
33f8aaf1dc | ||
|
|
26ab95d822 | ||
|
|
cea01d8aa0 | ||
|
|
0e61f1e284 | ||
|
|
ddef061b90 | ||
|
|
addeab8947 | ||
|
|
55dc665404 | ||
|
|
8f8538e9e9 | ||
|
|
348ca55bee | ||
|
|
1bb5bc7f33 | ||
|
|
3be5e1fcf5 | ||
|
|
9df8cc9243 | ||
|
|
e28c84aa34 | ||
|
|
7db6b54761 | ||
|
|
e3a06f5694 | ||
|
|
7c5d15e098 | ||
|
|
d683c0f151 | ||
|
|
1e67fa26ff | ||
|
|
0ae6ef59ec | ||
|
|
e27ef40e0f | ||
|
|
380760d028 | ||
|
|
18cfdafc19 | ||
|
|
0934a2e329 | ||
|
|
d1a320324e | ||
|
|
361c96d746 | ||
|
|
e7dbf9278d | ||
|
|
6564fddb27 | ||
|
|
d382874e86 | ||
|
|
91b30bee9f | ||
|
|
7804aad776 | ||
|
|
b7552ac8aa | ||
|
|
a76c94cccf | ||
|
|
c0ae5c7cad | ||
|
|
cc55b39b83 | ||
|
|
d8a6884ab6 | ||
|
|
5ce3581386 | ||
|
|
2208f2a8c0 | ||
|
|
a4a14c7e63 | ||
|
|
aa464b476c | ||
|
|
3c92712a6e | ||
|
|
fd0c47f5d7 | ||
|
|
c03a44d225 | ||
|
|
d31d45ba71 | ||
|
|
db528b27f4 | ||
|
|
e6d29f6f18 | ||
|
|
e4d6b988ef | ||
|
|
ec68291bf0 | ||
|
|
3a6a451db1 | ||
|
|
7ec095d708 | ||
|
|
57f6206aee | ||
|
|
390f10e83f | ||
|
|
8727935cb2 | ||
|
|
d0e868f556 | ||
|
|
01c357e146 | ||
|
|
a0fed4a9d0 | ||
|
|
c4aed0ec89 | ||
|
|
cc737090a2 | ||
|
|
1652c09e95 | ||
|
|
2538b88579 | ||
|
|
8c2eb63840 | ||
|
|
36df5ee6e4 | ||
|
|
9720b4edf1 | ||
|
|
13d35b7607 | ||
|
|
13c2c51cfd | ||
|
|
f43175b0c3 | ||
|
|
1508aba8b2 | ||
|
|
5414ab05e5 | ||
|
|
bd5d2db634 | ||
|
|
3259dd29d8 | ||
|
|
6e56013a95 | ||
|
|
252f762209 | ||
|
|
15c0448cf1 | ||
|
|
4c800bacaa | ||
|
|
5902a483b4 | ||
|
|
ca73e4b93e | ||
|
|
ace64d88ce | ||
|
|
4cc9f7c8b5 | ||
|
|
f4f1390b67 | ||
|
|
14115761f9 | ||
|
|
ac3409e376 | ||
|
|
86a73229c0 | ||
|
|
cc41b96e88 | ||
|
|
e16c5584d1 | ||
|
|
94bab3f550 | ||
|
|
9d04b23fb2 | ||
|
|
2657e5050f | ||
|
|
3d6e5b2b9e | ||
|
|
bdd6b9727d | ||
|
|
6c8172c7cf | ||
|
|
ae5bae9899 | ||
|
|
b6bf306042 | ||
|
|
9c5196dfec | ||
|
|
3d7b8592ea | ||
|
|
e03f7691f2 | ||
|
|
7a54ac62d6 | ||
|
|
8db06d37d2 | ||
|
|
5ee5e76544 | ||
|
|
090cd999cb | ||
|
|
50b75354e0 | ||
|
|
c7b6b25851 | ||
|
|
b931df654d | ||
|
|
b5d5c4177d | ||
|
|
b22550ea55 | ||
|
|
04d50ebea5 | ||
|
|
202180909c | ||
|
|
0d806e6d74 | ||
|
|
54f31ebe7f | ||
|
|
227a39d2fa | ||
|
|
99d8faa38b | ||
|
|
9a7afe1549 | ||
|
|
e6751e0d89 | ||
|
|
371f1df830 | ||
|
|
8e1ba352ee | ||
|
|
7ebfe42eb2 | ||
|
|
df514d3b9f | ||
|
|
acae16e7ee | ||
|
|
deb8508ea5 | ||
|
|
a4bbf41086 | ||
|
|
4fbc535b0c | ||
|
|
36f6f98ce7 | ||
|
|
21cc7d604c | ||
|
|
44207161e6 | ||
|
|
dc20ef0754 | ||
|
|
413ee7a6d3 | ||
|
|
5b94714ca7 | ||
|
|
3675fe1ed7 | ||
|
|
e074a03c40 | ||
|
|
a7860f72a2 | ||
|
|
4b587593ee | ||
|
|
0aa8a97070 | ||
|
|
3c16f84853 | ||
|
|
346898e549 | ||
|
|
bcef4b2de7 | ||
|
|
e42bf7fd7c | ||
|
|
48cd0602d8 | ||
|
|
814e837ae5 | ||
|
|
a58b34eba8 | ||
|
|
7d790f8f79 | ||
|
|
7cf06f4989 | ||
|
|
61381b7168 | ||
|
|
df598c5900 | ||
|
|
aed74e029a | ||
|
|
6e01e1b9da | ||
|
|
42f278aafe | ||
|
|
884f64addb | ||
|
|
0c9cf4ddd5 | ||
|
|
f6dfe0e8dd | ||
|
|
9f4ca1add7 | ||
|
|
1f6edc5852 | ||
|
|
a74017f595 | ||
|
|
89bc7609ea | ||
|
|
2c93c8ef6d | ||
|
|
bfe370fa50 | ||
|
|
3b4850e1ba | ||
|
|
b2d1c25b8e | ||
|
|
093598ac99 | ||
|
|
585d22be46 | ||
|
|
9361cf4b00 | ||
|
|
298e9130dd | ||
|
|
41ae47f065 | ||
|
|
41f7fe1554 | ||
|
|
965be1c0f3 | ||
|
|
fa8ac37e8b | ||
|
|
d7975b6192 | ||
|
|
0a0fe55427 | ||
|
|
8e08a20178 | ||
|
|
9dd44808ec | ||
|
|
507cf1d511 | ||
|
|
53f3ce8b1f | ||
|
|
2d39e5b1fa | ||
|
|
60716dcf81 | ||
|
|
82141c2535 | ||
|
|
3d6de3fe75 | ||
|
|
03ab396353 | ||
|
|
6221601376 | ||
|
|
71fdef45c9 | ||
|
|
147a9e4968 | ||
|
|
8f7b56da32 | ||
|
|
4ef2452083 | ||
|
|
70cfa03ee8 | ||
|
|
5bd3d4fd96 | ||
|
|
c0fe02efb9 | ||
|
|
b0f4843526 | ||
|
|
a9e161268c | ||
|
|
cbad8857bd | ||
|
|
5adefda286 | ||
|
|
265bfcd7c8 | ||
|
|
b81a4987d9 | ||
|
|
6b9c9eb0ed | ||
|
|
4f82d618dc | ||
|
|
b7f7bdb9ac | ||
|
|
c5136fd330 | ||
|
|
e7e0e886fc | ||
|
|
42e8ab1680 | ||
|
|
ab7b7de60a | ||
|
|
21221d48d0 | ||
|
|
1f1a190c84 | ||
|
|
82d79c4662 | ||
|
|
08771a6d5d | ||
|
|
e01d18f224 | ||
|
|
8496650542 | ||
|
|
399245cd0f | ||
|
|
adfa5dddcf | ||
|
|
85971e0e91 | ||
|
|
3a3376ec41 | ||
|
|
d988b6ccbf | ||
|
|
6654f446a4 | ||
|
|
88808db9a5 | ||
|
|
dfad0fd6bd | ||
|
|
3fe49a24c7 | ||
|
|
ac609445fb | ||
|
|
0223f74a53 | ||
|
|
607a5b3fda | ||
|
|
e3ac331a71 | ||
|
|
e09b4cc76d | ||
|
|
c24ed707ef | ||
|
|
a8c55ddee3 | ||
|
|
e080835224 | ||
|
|
2fe675abce | ||
|
|
d230221999 | ||
|
|
91a01265e5 | ||
|
|
77286301a7 | ||
|
|
7c39827c16 | ||
|
|
8f789994eb | ||
|
|
79cb9c8142 | ||
|
|
de1d047c08 | ||
|
|
8252cb486b | ||
|
|
fb8ad72335 | ||
|
|
bc4f0c002b | ||
|
|
0a53c52645 | ||
|
|
7941a8accb | ||
|
|
5389923b34 | ||
|
|
9c1149cb25 | ||
|
|
c5130de805 | ||
|
|
020633503b | ||
|
|
74b9776801 | ||
|
|
5a605d686c | ||
|
|
4ba9bdf605 | ||
|
|
3f647348c3 | ||
|
|
de4f90dd72 | ||
|
|
4a7b4754f0 | ||
|
|
fe05534a95 | ||
|
|
c7c7e75b32 | ||
|
|
efc6aed388 | ||
|
|
197521d5b1 | ||
|
|
23420f62df | ||
|
|
33149caede | ||
|
|
67bec7136b | ||
|
|
57a12114dc | ||
|
|
e32abea46b | ||
|
|
b12b271a61 | ||
|
|
f337cccc68 | ||
|
|
7f9e178f75 | ||
|
|
b19696090f | ||
|
|
d7488bd402 | ||
|
|
604299a1ac | ||
|
|
6800d51347 | ||
|
|
7cecd249a8 | ||
|
|
a214ea9341 | ||
|
|
884a19b13d | ||
|
|
771f4ae766 | ||
|
|
9273398c0e | ||
|
|
a5ed6ad134 | ||
|
|
1bbf575e91 | ||
|
|
49582fd841 | ||
|
|
bdaf12c1fa | ||
|
|
ef27c98056 | ||
|
|
722f3ce384 | ||
|
|
9d084a7b2f | ||
|
|
c31a06e255 | ||
|
|
ea36c79c26 | ||
|
|
cbe33caeef | ||
|
|
8b44354fec | ||
|
|
619302cd11 | ||
|
|
3e94ca11df | ||
|
|
f818778e0a | ||
|
|
280a91f139 | ||
|
|
82367a81c9 | ||
|
|
93b1234d0f | ||
|
|
571bc5cf90 | ||
|
|
91de353307 | ||
|
|
7ec394a8f2 | ||
|
|
451c6c07ca | ||
|
|
a6b0548426 | ||
|
|
f89463c4d8 | ||
|
|
3be63d85f2 | ||
|
|
d271b63aa4 | ||
|
|
fb46fd7101 | ||
|
|
64513bb9d1 | ||
|
|
ef56f82de9 | ||
|
|
f775379f42 | ||
|
|
1b377dd674 | ||
|
|
99837127a6 | ||
|
|
f2d205e576 | ||
|
|
bf5bde0e36 | ||
|
|
18314adce2 | ||
|
|
d1a7a0ee1f | ||
|
|
eb73025338 | ||
|
|
66cd3e08a0 | ||
|
|
aa8e525681 | ||
|
|
7a36f89124 | ||
|
|
3e56acab64 | ||
|
|
012670b349 | ||
|
|
44cb13644a | ||
|
|
bd8e6db092 | ||
|
|
96ae8ade5d | ||
|
|
04b1cee71e | ||
|
|
bd07cf859f | ||
|
|
e937906647 | ||
|
|
03618f38b5 | ||
|
|
94fdddb056 | ||
|
|
12dfc60f75 | ||
|
|
a383d12061 | ||
|
|
3131c6cb5d | ||
|
|
5f53297f58 | ||
|
|
cebd808674 | ||
|
|
30a07f037e | ||
|
|
4ef1387781 | ||
|
|
1578ce2ebd | ||
|
|
391fd6c960 | ||
|
|
ef7ac1d77b | ||
|
|
ca2610d74f | ||
|
|
8d8aa52b9b | ||
|
|
84ec0c3964 | ||
|
|
f55736599e | ||
|
|
b890235a82 | ||
|
|
2cc3bc5759 | ||
|
|
ca100ef7e9 | ||
|
|
721cad75a2 | ||
|
|
c3110a4ab7 | ||
|
|
452aabf89b | ||
|
|
adcd6734ef | ||
|
|
a68c1f1cf7 | ||
|
|
712eaf9f1e | ||
|
|
7e119fa2ac | ||
|
|
ac90ad0129 | ||
|
|
6b61e273a0 | ||
|
|
aab8e85f9d | ||
|
|
3959892c20 | ||
|
|
420ad6cd37 | ||
|
|
664bff544e | ||
|
|
6716de6635 | ||
|
|
4f50fbdfe4 | ||
|
|
009abb3fd5 | ||
|
|
191b4402e1 | ||
|
|
13bc347897 | ||
|
|
187e2f1330 | ||
|
|
8d2ec115f5 | ||
|
|
921596f6f8 | ||
|
|
a00987efc8 | ||
|
|
b1a35d9df8 | ||
|
|
08dfa4cab2 | ||
|
|
63ca695b51 | ||
|
|
55310247c2 | ||
|
|
456334af75 | ||
|
|
38ce047d9e | ||
|
|
14be7dead5 | ||
|
|
ab2e368c6f | ||
|
|
0e7ca594ed | ||
|
|
f742287496 | ||
|
|
cb37919e76 | ||
|
|
933fc26b66 | ||
|
|
8ea94175ac | ||
|
|
013fb12c00 | ||
|
|
1e6b5a1e4d | ||
|
|
aed20db328 | ||
|
|
332684f4e2 | ||
|
|
12d275c26b | ||
|
|
9b1312c7d9 | ||
|
|
874b069357 | ||
|
|
03a917c326 | ||
|
|
6a5560a0b1 | ||
|
|
6b0bbdc605 | ||
|
|
4c0608d47d | ||
|
|
2e1aede8b4 | ||
|
|
2c3e968710 | ||
|
|
ecf45803e0 | ||
|
|
2e4ede4251 | ||
|
|
4f52649f28 | ||
|
|
11e58ff88d | ||
|
|
a7c097a5a9 | ||
|
|
8c53686697 | ||
|
|
6754f1467a | ||
|
|
fb98b3cc9a | ||
|
|
729f6fd308 | ||
|
|
e2b0711271 | ||
|
|
eb8cffb1a8 | ||
|
|
d7e534ca74 | ||
|
|
347e261748 | ||
|
|
7deb9c4fbf | ||
|
|
c1ab5ad929 | ||
|
|
2686c37aa1 | ||
|
|
45edb9973d | ||
|
|
2bd4ce08c4 | ||
|
|
460d1ac86c | ||
|
|
9df8da0b6f | ||
|
|
baaf85f567 | ||
|
|
6ffe817e86 | ||
|
|
edbdbdac56 | ||
|
|
11c3c6d20e | ||
|
|
81019b9fc8 | ||
|
|
4514123279 | ||
|
|
0fc4a448aa | ||
|
|
bde51cc946 | ||
|
|
4f7e29163f | ||
|
|
7837d1f6e8 | ||
|
|
99bb300559 | ||
|
|
f1108ef7d1 | ||
|
|
bd6cfec71c | ||
|
|
ef3ed86096 | ||
|
|
097898b120 | ||
|
|
6fbf2643a1 | ||
|
|
a1989c105e | ||
|
|
97426e6d7d | ||
|
|
b2e1b65ae5 | ||
|
|
06c8d34451 | ||
|
|
ecba81ea5b | ||
|
|
26e0066c82 | ||
|
|
6ebb9b6f66 | ||
|
|
102e30c29a | ||
|
|
a8a716e0bd | ||
|
|
9e23aaa5c0 | ||
|
|
9b059c3985 | ||
|
|
2d3c7e65d2 | ||
|
|
9e7d3462ab | ||
|
|
aececf980b | ||
|
|
e5f3b4bf1d | ||
|
|
9b629bb1c4 | ||
|
|
9e39a57231 | ||
|
|
47e9608aa2 | ||
|
|
2f012caa3e | ||
|
|
e835fc3ac0 | ||
|
|
5240e9ce98 | ||
|
|
b8ab2c839f | ||
|
|
1ee81b90bf | ||
|
|
1354f2debb | ||
|
|
7373ea24d8 | ||
|
|
7fc03461ba | ||
|
|
a5e45e2d79 | ||
|
|
42cf2ac19b | ||
|
|
6098d064a7 | ||
|
|
cd79f576b7 | ||
|
|
4039a4a820 | ||
|
|
919085d829 | ||
|
|
88f27b39c4 | ||
|
|
b1f38a51fe | ||
|
|
ef0253ee9e | ||
|
|
3cf33af0e2 | ||
|
|
3eaa060aac | ||
|
|
cf4efee340 | ||
|
|
0b04a96e15 | ||
|
|
c1d928c503 | ||
|
|
479b21a722 | ||
|
|
ceeaeaf487 | ||
|
|
d5179b742b | ||
|
|
b38055c497 | ||
|
|
ff1e9e63d6 | ||
|
|
a1a4293851 | ||
|
|
f39cc8ee53 | ||
|
|
9fc5b90f25 | ||
|
|
e7c9c884e9 | ||
|
|
0469128917 | ||
|
|
656e38eae7 | ||
|
|
95721350da | ||
|
|
98d9e87356 | ||
|
|
a69cb4f4c2 | ||
|
|
f42ea74e26 | ||
|
|
d9b86f9922 | ||
|
|
605e9cfe6d | ||
|
|
dd53c7b200 | ||
|
|
f9b10dc9db | ||
|
|
daef491d3e | ||
|
|
95fde17d97 | ||
|
|
2c6cbb7799 | ||
|
|
3498d4317a | ||
|
|
611ef49d03 | ||
|
|
fd2212db7b | ||
|
|
4d8b8ba64c | ||
|
|
32fe70a354 | ||
|
|
e2652df546 | ||
|
|
d1427d5f99 | ||
|
|
ef814f3602 | ||
|
|
00acc8289e | ||
|
|
341f980974 | ||
|
|
1b7ea5bed3 | ||
|
|
ee1c92ffa0 | ||
|
|
0114a50f61 | ||
|
|
c7c9e105ef | ||
|
|
3e31e71116 | ||
|
|
e74b1d2210 | ||
|
|
1ca2f28187 | ||
|
|
9fc75b651e | ||
|
|
934a6acdd2 | ||
|
|
88adc5676f | ||
|
|
f27483ea7b | ||
|
|
6a11c620cf | ||
|
|
7281f15051 | ||
|
|
b1196fb09b | ||
|
|
27fb875c0d | ||
|
|
3cdeac5dfb | ||
|
|
e1c47ce5c3 | ||
|
|
d9523cb1bc | ||
|
|
bd2403388e | ||
|
|
7511208b8b | ||
|
|
4586d44c1f | ||
|
|
717e5b07d1 | ||
|
|
2c6082f454 | ||
|
|
586239292b | ||
|
|
7bd1c87bf6 | ||
|
|
6eded4cdc2 | ||
|
|
5e693f2274 | ||
|
|
b0e3aeed6c | ||
|
|
dd9ef38636 | ||
|
|
32df782470 | ||
|
|
1d9162930c | ||
|
|
152d02bcbe | ||
|
|
2cc4dc724b | ||
|
|
1ee14f4c69 | ||
|
|
7748019a76 | ||
|
|
8241a1d8a3 | ||
|
|
83e3373561 | ||
|
|
c8c126d444 | ||
|
|
c12b1d0670 | ||
|
|
5caf4f45a9 | ||
|
|
8f51ff2910 | ||
|
|
6b8436f825 | ||
|
|
c4b146b36b | ||
|
|
098b14884d | ||
|
|
47d8818028 | ||
|
|
e3bc50a163 | ||
|
|
34ba6a86c9 | ||
|
|
2369ef53ac | ||
|
|
8d3907ff65 | ||
|
|
2760eaca85 | ||
|
|
af0319cc66 | ||
|
|
e050539747 | ||
|
|
451756c764 | ||
|
|
afa40df7ad | ||
|
|
fb2b606d26 | ||
|
|
e0ebd47730 | ||
|
|
e97f4e8020 | ||
|
|
79f07b7350 | ||
|
|
c1c8829536 | ||
|
|
ef20371562 | ||
|
|
c08f275cf7 | ||
|
|
6f995fe350 | ||
|
|
68aec92d3a | ||
|
|
dda328210c | ||
|
|
c3f4f232e3 | ||
|
|
302f1da066 | ||
|
|
a6e65d33dd | ||
|
|
7b0cb29466 | ||
|
|
a3eedb14f4 | ||
|
|
74d73a1d17 | ||
|
|
92e7e8516c | ||
|
|
61ac0b7d20 | ||
|
|
8b4ea7fd7c | ||
|
|
90846cf770 | ||
|
|
a9e33ea282 | ||
|
|
eea006e787 | ||
|
|
9e58098e5c | ||
|
|
ff49f574d4 | ||
|
|
599d816a88 | ||
|
|
4b0dd04114 | ||
|
|
36a0fbf181 | ||
|
|
3cfd8f40da | ||
|
|
23173c4bf4 | ||
|
|
722c31ccd9 | ||
|
|
7623a01272 | ||
|
|
1b90fdce73 | ||
|
|
ce57db9526 | ||
|
|
8b9e47cd11 | ||
|
|
a87a261b80 | ||
|
|
989d561679 | ||
|
|
b349990b19 | ||
|
|
2104b49cee | ||
|
|
77606efb77 | ||
|
|
6164ad2ab1 | ||
|
|
a60d58dcb0 | ||
|
|
4e45d17ad2 | ||
|
|
c8e614d064 | ||
|
|
544beeb078 | ||
|
|
a00f0d8367 | ||
|
|
ea57290792 | ||
|
|
603a4afaf3 | ||
|
|
19e2772729 | ||
|
|
82ebb82a5f | ||
|
|
516ae6b68c | ||
|
|
59225a4b9c | ||
|
|
1da9d36ecc | ||
|
|
0787e5c738 | ||
|
|
8a661088bb | ||
|
|
91659a32af | ||
|
|
5f8cd7e5c4 | ||
|
|
bc3f62a766 | ||
|
|
92faedb4a5 | ||
|
|
6f7008dd91 | ||
|
|
447589541f | ||
|
|
45f5f50262 | ||
|
|
f77a27ecc3 | ||
|
|
09de2eb194 | ||
|
|
7747a5665b | ||
|
|
aa617b5106 | ||
|
|
8038e2e01a | ||
|
|
212b068a8d | ||
|
|
2bcea0b566 | ||
|
|
512d4f2fb9 | ||
|
|
b524546e9c | ||
|
|
f91e287207 | ||
|
|
0fcf0a6a88 | ||
|
|
f9f3d74a3b | ||
|
|
2bfd0f2cc0 | ||
|
|
cdeb2eebe5 | ||
|
|
5134516afc | ||
|
|
e14b5d99eb | ||
|
|
a0375f52cf | ||
|
|
69dbcf3947 | ||
|
|
79387730bc | ||
|
|
3e6b019044 | ||
|
|
1886b90be7 | ||
|
|
85421f9b4b | ||
|
|
3749ef8433 | ||
|
|
dfb3e98fec | ||
|
|
a40442c8a9 | ||
|
|
a7396d6bee | ||
|
|
507c4c67ff | ||
|
|
cbdc04e929 | ||
|
|
a6582a1da3 | ||
|
|
3d8f3df8f1 | ||
|
|
7b8dbdedb5 | ||
|
|
53b13eacaa | ||
|
|
fcc76d99ef | ||
|
|
9a2141025a | ||
|
|
bfe3285375 | ||
|
|
5cf9c6e073 | ||
|
|
5e00d77e69 | ||
|
|
a4dfb05d0c | ||
|
|
97a798e357 | ||
|
|
47aafe88f8 | ||
|
|
bc356ab8e5 | ||
|
|
dd5cdfd848 | ||
|
|
de2cb08a6b | ||
|
|
9a2550ad48 | ||
|
|
2f6e4c0736 | ||
|
|
a9c5cbf11f | ||
|
|
facd0d398a | ||
|
|
1b2fc5d403 | ||
|
|
9d290aa533 | ||
|
|
9046291128 | ||
|
|
59131b6b51 | ||
|
|
3725a23c49 | ||
|
|
812c42c89a | ||
|
|
285d7d3265 | ||
|
|
134789602b | ||
|
|
55f49b5f78 | ||
|
|
cd8067285f | ||
|
|
10c09e9375 | ||
|
|
bb70c0733a | ||
|
|
3dad2b31bb | ||
|
|
7844acd70f | ||
|
|
f01b0b3404 | ||
|
|
10fee6e144 | ||
|
|
c4c8a8b703 | ||
|
|
7053a1e42a | ||
|
|
fd3c4261de | ||
|
|
d21e475d12 | ||
|
|
48bdf0b2a9 | ||
|
|
ac1c652854 | ||
|
|
3b286de9db | ||
|
|
cbcb696cfd | ||
|
|
13320ea8cc | ||
|
|
bdf45f6a0b | ||
|
|
667b1e9f99 | ||
|
|
e52e82fb78 | ||
|
|
78cb3f8ee2 | ||
|
|
a0f476fb24 | ||
|
|
13c32bfe53 | ||
|
|
a54da059ef | ||
|
|
76fe0def4f | ||
|
|
9a25b747ae | ||
|
|
aeefd3e873 | ||
|
|
f9efdcb654 | ||
|
|
be672cbcba | ||
|
|
c4ca7e471a | ||
|
|
bbce082ec2 | ||
|
|
781214a2f0 | ||
|
|
7942eaf64b | ||
|
|
36cd3c0c42 | ||
|
|
620bccb102 | ||
|
|
3ca79bebc7 | ||
|
|
a1add0cfdb | ||
|
|
dc22ad1ca1 | ||
|
|
010df5a081 | ||
|
|
71e8b22849 | ||
|
|
17dcc7ec80 | ||
|
|
138c17d4a3 | ||
|
|
565eed99ef | ||
|
|
1f13c47a46 | ||
|
|
ec5d12c940 | ||
|
|
bac19b2486 | ||
|
|
5fbfa1453c | ||
|
|
dab2001dcc | ||
|
|
5bff9eb4d8 | ||
|
|
e2102bdefa | ||
|
|
2a3e06610f | ||
|
|
d186240cfc | ||
|
|
0f0d4f06bb | ||
|
|
249af325c9 | ||
|
|
a7532f2154 | ||
|
|
1c0a00e9b2 | ||
|
|
b1b8066fe5 | ||
|
|
25c2f3adad | ||
|
|
68e47d70fd | ||
|
|
af3b3f4ee5 | ||
|
|
1b63d514ac | ||
|
|
c6453a6e10 | ||
|
|
3f3f5fdaa0 | ||
|
|
2f72721ee2 | ||
|
|
92d99c6d64 | ||
|
|
f3b26b1101 | ||
|
|
4f0a5bcf15 | ||
|
|
ffb1a8ad84 | ||
|
|
70c07cf731 | ||
|
|
b2d946794b | ||
|
|
90617c5433 | ||
|
|
278dc34b44 | ||
|
|
dcd5d7b534 | ||
|
|
2d48465e1d | ||
|
|
6bda493f6e | ||
|
|
5459b8bb7a | ||
|
|
e410939bde | ||
|
|
047de2d747 | ||
|
|
997f4d35c2 | ||
|
|
ca547f1239 | ||
|
|
c9665773e2 | ||
|
|
eeeea6b735 | ||
|
|
bbd6a2b5d5 | ||
|
|
d33db2a0fe | ||
|
|
1f2588d677 | ||
|
|
f30bad5c5a | ||
|
|
5a5bf77b1c | ||
|
|
22c6597005 | ||
|
|
9761d70f23 | ||
|
|
518135006c | ||
|
|
9327eb7e75 | ||
|
|
13080ade9e | ||
|
|
9c3947a7b1 | ||
|
|
f33cbcaa53 | ||
|
|
2c8fe7971f | ||
|
|
85e10330cb | ||
|
|
a02fd4b6f6 | ||
|
|
9395119749 | ||
|
|
2c0bbe9082 | ||
|
|
b1535864aa | ||
|
|
fd880da057 | ||
|
|
6c62b06e46 | ||
|
|
b44869ec49 | ||
|
|
b3a6251b04 | ||
|
|
80667bc38f | ||
|
|
cff35ea845 | ||
|
|
cb93397ae4 | ||
|
|
c805a8d624 | ||
|
|
3f775c081c | ||
|
|
864b892da0 | ||
|
|
f7773d2113 | ||
|
|
cf471d0f36 | ||
|
|
d14791679c | ||
|
|
f358d34e54 | ||
|
|
7ba3a7dd2f | ||
|
|
196af51e2c | ||
|
|
cbe959da66 | ||
|
|
9512fd4cca | ||
|
|
e2b6853c46 | ||
|
|
2578bfd0ff | ||
|
|
277fff5f2c | ||
|
|
4c72e9d206 | ||
|
|
7a44a303e5 | ||
|
|
e3796045eb | ||
|
|
85ad8d8b9f | ||
|
|
f737c92988 | ||
|
|
5d05ecaee3 | ||
|
|
8cc83a8df9 | ||
|
|
43b0f1bea9 | ||
|
|
a12ee4a61e | ||
|
|
d595a45f2b | ||
|
|
76a6d59837 | ||
|
|
bfe9bf2d5b | ||
|
|
59cac169e7 | ||
|
|
c24ee89b16 | ||
|
|
a73c2d7292 | ||
|
|
97671b3592 | ||
|
|
dd38586ead | ||
|
|
e11de68203 | ||
|
|
97ce286ff2 | ||
|
|
99e4e5a219 | ||
|
|
316b9aa68a | ||
|
|
7318d6615f | ||
|
|
6782b108b0 | ||
|
|
494af0ad23 | ||
|
|
55cff03747 | ||
|
|
599cc7c3af | ||
|
|
bfa7a7a6dc | ||
|
|
b243a5404b | ||
|
|
2e40a7377a | ||
|
|
62e86a0474 | ||
|
|
8c1ee9cf21 | ||
|
|
3afda882de | ||
|
|
69fd90ed3a | ||
|
|
554530dd60 | ||
|
|
2472e5546f | ||
|
|
a7ee4c09f5 | ||
|
|
7effac73b9 | ||
|
|
125924d125 | ||
|
|
00aaac866f | ||
|
|
170299c13c | ||
|
|
ac6f56dbf4 | ||
|
|
09c494c6c5 | ||
|
|
fdd685d20c | ||
|
|
fcff22981b | ||
|
|
7f82a41e66 | ||
|
|
17d12b41db | ||
|
|
2f7d68f7f1 | ||
|
|
dc1c65b418 | ||
|
|
23de013c86 | ||
|
|
a922b00716 | ||
|
|
babe21a3dc | ||
|
|
59ef0b05a1 | ||
|
|
3da7ed76c5 | ||
|
|
bbf0cd7578 | ||
|
|
25be97e65c | ||
|
|
175bb9206e | ||
|
|
68605ad409 | ||
|
|
4500687d47 | ||
|
|
fc38e6f270 | ||
|
|
f1936fea6b | ||
|
|
24bdcf66ed | ||
|
|
8688523ced | ||
|
|
856944e463 | ||
|
|
84f6894bc4 | ||
|
|
9bf33f89a9 | ||
|
|
c0fa7c42cd | ||
|
|
3281a85ae9 | ||
|
|
0db965a95f | ||
|
|
0732ea1162 | ||
|
|
c88497afba | ||
|
|
d4892c19b4 | ||
|
|
3ed25b069d | ||
|
|
e51b1f7643 | ||
|
|
7d07b27d4f | ||
|
|
57fdc90623 | ||
|
|
72bec2ef49 | ||
|
|
58a3805788 | ||
|
|
40f96dd2bd | ||
|
|
fca13d453e | ||
|
|
32e590f398 | ||
|
|
301b44dcae | ||
|
|
e45e91b0bf | ||
|
|
fe31dbca26 | ||
|
|
51fa754ec5 | ||
|
|
2ce10af051 | ||
|
|
c107422353 | ||
|
|
1e1fdee5a7 | ||
|
|
fffcd61cc4 | ||
|
|
2fd11cba15 | ||
|
|
f1ec85aef5 | ||
|
|
4c4b363035 | ||
|
|
8555e0c7e7 | ||
|
|
c07f7390ec | ||
|
|
34f6e15271 | ||
|
|
135f0677e4 | ||
|
|
63ad255f2b | ||
|
|
16ac8ea196 | ||
|
|
0e00773238 | ||
|
|
cf1f676268 | ||
|
|
d2f304b047 | ||
|
|
0a9bb138c5 | ||
|
|
6236391c86 | ||
|
|
78257cb1c0 | ||
|
|
c4cb75668c | ||
|
|
9880bcacd6 | ||
|
|
52aedd0a31 | ||
|
|
c7ce741857 | ||
|
|
bcbf012406 | ||
|
|
ec75b4418b | ||
|
|
716b84f507 | ||
|
|
e95b3a59ef | ||
|
|
9dc179b2cd | ||
|
|
efe1b01936 | ||
|
|
cd26b0c5a9 | ||
|
|
b075f71f11 | ||
|
|
44145ef265 | ||
|
|
82ef21b821 | ||
|
|
5655d7456c | ||
|
|
a7992102af | ||
|
|
ee2cd412ce | ||
|
|
1c34f48c39 | ||
|
|
0c2937936b | ||
|
|
b0c3f6c82a | ||
|
|
e047525be9 | ||
|
|
7f1ad590f6 | ||
|
|
fbf2d827c2 | ||
|
|
72619df02c | ||
|
|
c58d8992cf | ||
|
|
c98177ea20 | ||
|
|
766409e581 | ||
|
|
c076d61cc9 | ||
|
|
92e265ecc9 | ||
|
|
e223df64cf | ||
|
|
629ebf5ff2 | ||
|
|
0019eb70b5 | ||
|
|
e5f1be0b30 | ||
|
|
dd74934638 | ||
|
|
8d4973a9cc | ||
|
|
a49c091cd5 | ||
|
|
7d0268a4ce | ||
|
|
44e53e7225 | ||
|
|
1a1689da1f | ||
|
|
a28802e84e | ||
|
|
2798e71a52 | ||
|
|
e3647092b0 | ||
|
|
117cc13ed7 | ||
|
|
2d39a04575 | ||
|
|
d3e9457532 | ||
|
|
afc737b9bd | ||
|
|
32e597f6a4 | ||
|
|
16c7edb0f1 | ||
|
|
65cf4a0336 | ||
|
|
89dcf33a6e | ||
|
|
d4758bd22f | ||
|
|
a391453213 | ||
|
|
e18f2c9988 | ||
|
|
4e06939463 | ||
|
|
f833181d81 | ||
|
|
f16692e3ae | ||
|
|
d02108ece2 | ||
|
|
71b056a1b5 | ||
|
|
cc0ce769b7 | ||
|
|
43c7586b61 | ||
|
|
cfa222c3b6 | ||
|
|
30709091b3 | ||
|
|
5c93540f91 | ||
|
|
bf8b1e92fa | ||
|
|
c00576e06d | ||
|
|
7f9b49059b | ||
|
|
c292c4ba9e | ||
|
|
46570ecc2b | ||
|
|
ed7e352d3a | ||
|
|
5e38d68adb | ||
|
|
32cb6f86f4 | ||
|
|
ab16368b09 | ||
|
|
804db84b9a | ||
|
|
48ad1a9af2 | ||
|
|
8014093d33 | ||
|
|
d7f6389ca8 | ||
|
|
6ecd538364 | ||
|
|
f58794f797 | ||
|
|
fe71c2e543 | ||
|
|
02a013bdfa | ||
|
|
098e75f12d | ||
|
|
dd7c793966 | ||
|
|
a4662d0519 | ||
|
|
a7d64b0e1d | ||
|
|
02545340f0 | ||
|
|
58ebf4786d | ||
|
|
843f783a7a | ||
|
|
5e6efb4cb7 | ||
|
|
b6cc3400e8 | ||
|
|
39724afc81 | ||
|
|
47f2545a50 | ||
|
|
01c45afa10 | ||
|
|
b14ded2994 | ||
|
|
c751009130 | ||
|
|
7122ca872a | ||
|
|
a825774341 | ||
|
|
cfc53f67f9 | ||
|
|
24466b779b | ||
|
|
ce6881fdc7 | ||
|
|
9de59d7243 | ||
|
|
71b821a653 | ||
|
|
17fec7a161 | ||
|
|
99181a3bd9 | ||
|
|
529660e622 | ||
|
|
16ba490f3f | ||
|
|
73af9b2922 | ||
|
|
0d80c1dc06 | ||
|
|
942676a493 | ||
|
|
6e16ae32cf | ||
|
|
4f441d2b40 | ||
|
|
e4c93e2707 | ||
|
|
916ce80869 | ||
|
|
1ac72096af | ||
|
|
81e3ff6dc0 | ||
|
|
ac9647d2b2 | ||
|
|
81d17639eb | ||
|
|
924770f73e | ||
|
|
383b2ad563 | ||
|
|
aca4d8ac50 | ||
|
|
9fb0597a3e | ||
|
|
5921458fc4 | ||
|
|
fb921f8f78 | ||
|
|
93597fe3ac | ||
|
|
42576a9c7e | ||
|
|
7b26d0e105 | ||
|
|
10323a59af | ||
|
|
95755f8d46 | ||
|
|
a7d9927584 | ||
|
|
ac1228d97c | ||
|
|
fa9f4c0ab7 | ||
|
|
77ee2494f0 | ||
|
|
30e4fe2671 | ||
|
|
5f2edac86a | ||
|
|
bc14c6d040 | ||
|
|
803a5a7409 | ||
|
|
dcc443ac9a | ||
|
|
6fedeffe03 | ||
|
|
392283d786 | ||
|
|
0c406d72f6 | ||
|
|
bec7b5ed22 | ||
|
|
7ddbae4144 | ||
|
|
96b6e5db87 | ||
|
|
be3937c361 | ||
|
|
f2430171c6 | ||
|
|
e148933c11 | ||
|
|
4bd0999c2e | ||
|
|
40f1fd5c4b | ||
|
|
5bbe846adb | ||
|
|
bb3ed08614 | ||
|
|
2d5a77060e | ||
|
|
9f06b61e9f | ||
|
|
32588554da | ||
|
|
c7c1c1d3e7 | ||
|
|
a8d99ac61b | ||
|
|
56b983db45 | ||
|
|
6e10bfceb2 | ||
|
|
a64a1d6a7c | ||
|
|
10cb883904 | ||
|
|
a57340059d | ||
|
|
19f9bda237 | ||
|
|
7288c82994 | ||
|
|
ee06694b81 | ||
|
|
62e84cc88c | ||
|
|
42b94ab0c3 | ||
|
|
5c4ce81793 | ||
|
|
35a75739e6 | ||
|
|
706774bf61 | ||
|
|
b123317fcc | ||
|
|
45d642d215 | ||
|
|
88611ad3e8 | ||
|
|
edf2ac481b | ||
|
|
49883bbc3a | ||
|
|
bf3795bced | ||
|
|
6dee0c7e4b | ||
|
|
d0c57e7cff | ||
|
|
986e3e5960 | ||
|
|
2c97f68726 | ||
|
|
5a7ab231be | ||
|
|
246970c525 | ||
|
|
65e9339740 | ||
|
|
52f6de1962 | ||
|
|
3a085e364e | ||
|
|
f5204a7efa | ||
|
|
45db305d44 | ||
|
|
9e2a327ca6 | ||
|
|
68698847f8 | ||
|
|
8ef89f193a | ||
|
|
d35b83518e | ||
|
|
d657c4d4b3 | ||
|
|
29f340ae21 | ||
|
|
7ed351bc28 | ||
|
|
ecf4005339 | ||
|
|
66fa24130b | ||
|
|
bd53f8e07f | ||
|
|
8598101760 | ||
|
|
596a25678f | ||
|
|
d94714b335 | ||
|
|
aa8aa3aad9 | ||
|
|
b15635ebc2 | ||
|
|
6ad0f0f08d | ||
|
|
587f6adaa1 | ||
|
|
c3f31e2aee | ||
|
|
6fe3bafd4d | ||
|
|
83f9312b35 | ||
|
|
9605594d8f | ||
|
|
ad18788c83 | ||
|
|
ec4f7d1638 | ||
|
|
920a900e90 | ||
|
|
7f6cd57e51 | ||
|
|
b01559ce52 | ||
|
|
f5fa36f2fd | ||
|
|
db82b2584c | ||
|
|
9e87d1f4d5 | ||
|
|
b72ce7caf5 | ||
|
|
9654408ae8 | ||
|
|
9d6e50c8e2 | ||
|
|
f711c2098b | ||
|
|
af66a4bf48 | ||
|
|
ff9dd1c69d | ||
|
|
27b6e15e11 | ||
|
|
2d3cfb2952 | ||
|
|
ed3c05c13d | ||
|
|
4d7680959e | ||
|
|
1cf9983ce7 | ||
|
|
8daa1c8c31 | ||
|
|
6d4e69050e | ||
|
|
6ffc66362e | ||
|
|
8df95035da | ||
|
|
bdc60cbb97 | ||
|
|
b24075791d | ||
|
|
d469a94cf2 | ||
|
|
26d8398fcc | ||
|
|
73198fdcec | ||
|
|
19dd9d26b4 | ||
|
|
f03ca005c3 | ||
|
|
4b8115978e | ||
|
|
fc2a66ab51 | ||
|
|
2c94454858 | ||
|
|
aa4a636cce | ||
|
|
1c1a6d23d7 | ||
|
|
7549d3778c | ||
|
|
3e3f11a273 | ||
|
|
c6cae028e4 | ||
|
|
fed48e6c76 | ||
|
|
6432c6e04d | ||
|
|
eb2bc58a59 | ||
|
|
7726b3ae32 | ||
|
|
d0f357332a | ||
|
|
54036d562b | ||
|
|
cfb53e5560 | ||
|
|
90d48feef2 | ||
|
|
8ca50428f1 | ||
|
|
ab36d750f5 | ||
|
|
fccd093ea6 | ||
|
|
5ebbf2392b | ||
|
|
76444d2b3a | ||
|
|
c4985b406d | ||
|
|
053d83df2b | ||
|
|
a1a68dfd11 | ||
|
|
0ba35e41b5 | ||
|
|
9c53273d1c | ||
|
|
971f7e21cc | ||
|
|
ab65571ee5 | ||
|
|
75b3ea0bc4 | ||
|
|
fb95754e65 | ||
|
|
5112bea511 | ||
|
|
584c930858 | ||
|
|
3494bc47cf | ||
|
|
861841ef86 | ||
|
|
556b2f3d21 | ||
|
|
b16ea75dd6 | ||
|
|
db62f6f680 | ||
|
|
9d4481de0d | ||
|
|
db91d5041c | ||
|
|
828f8c48eb | ||
|
|
5bee1f1ffd | ||
|
|
51ad9bd4bd | ||
|
|
1b36a2d2b3 | ||
|
|
d8c7d16879 | ||
|
|
b573b5559f | ||
|
|
2a943dcce8 | ||
|
|
f2dd880fdb | ||
|
|
dfd08e1e66 | ||
|
|
2a349415b8 | ||
|
|
08d073415d | ||
|
|
3de3c8fe8c | ||
|
|
8d549a98c6 | ||
|
|
30d75e9f1e | ||
|
|
76f45f128d | ||
|
|
bb73c66fe6 | ||
|
|
c4881490a0 | ||
|
|
0fc85e212a | ||
|
|
254b4084b7 | ||
|
|
ab51b0536b | ||
|
|
70dc987d45 | ||
|
|
474816762f | ||
|
|
90ade58842 | ||
|
|
f4460f315e | ||
|
|
8adfcf5866 | ||
|
|
06ab77b2fc | ||
|
|
d1ceb9cc72 | ||
|
|
7128cd2844 | ||
|
|
ae4c0c5405 | ||
|
|
27acb896c6 | ||
|
|
95557ce095 | ||
|
|
4a4df8e1c4 | ||
|
|
2cbb48f23f | ||
|
|
61001c2aef | ||
|
|
6b93a0191c | ||
|
|
870201de14 | ||
|
|
2c6ec234ac | ||
|
|
39af0d5541 | ||
|
|
d833940f3b | ||
|
|
e00dddaac6 | ||
|
|
5bfdde158a | ||
|
|
8a26848086 | ||
|
|
c54fb6ee23 | ||
|
|
176bc75a71 | ||
|
|
125f4102bd | ||
|
|
1c3146359e | ||
|
|
c00269c905 | ||
|
|
5cc9df9599 | ||
|
|
a032b7c134 | ||
|
|
115241f16c | ||
|
|
fc75b315f9 | ||
|
|
1f5cb4b0a0 | ||
|
|
55089646c2 | ||
|
|
25915b0cbb | ||
|
|
f704efb2af | ||
|
|
a97f9cd695 | ||
|
|
259004e226 | ||
|
|
7c1241c6f6 | ||
|
|
03f8b02ac1 | ||
|
|
81f9612de2 | ||
|
|
264bc834b5 | ||
|
|
7acea5f4b2 | ||
|
|
9015834b15 | ||
|
|
086e6e86a5 | ||
|
|
d107613e40 | ||
|
|
8896f8bf79 | ||
|
|
6cedd672cb | ||
|
|
3583db6a92 | ||
|
|
faf234b482 | ||
|
|
5ea911c9b3 | ||
|
|
6c008015e9 | ||
|
|
6c8e76060a | ||
|
|
57d0af562e | ||
|
|
94ee5e15ac | ||
|
|
678184e24b | ||
|
|
fa0e4658cb | ||
|
|
7951e442a8 | ||
|
|
3870fc0b2c | ||
|
|
2a9bd99f97 | ||
|
|
de30802491 | ||
|
|
973c0da4f2 | ||
|
|
3a3cbfdf7d | ||
|
|
21663ae519 | ||
|
|
3a53936a88 | ||
|
|
eac24ebbc8 | ||
|
|
9a70b8e2af | ||
|
|
e9374e4fe3 | ||
|
|
5afdbded7e | ||
|
|
3f6087b180 | ||
|
|
1c577084b1 | ||
|
|
a242ca094e | ||
|
|
c3b9611f76 | ||
|
|
d32b20a529 | ||
|
|
f4946525bb | ||
|
|
3eb7639ce7 | ||
|
|
48e6ba4a1c | ||
|
|
41f6cf1463 | ||
|
|
1722025a2c | ||
|
|
697b72836d | ||
|
|
b6777fd0d7 | ||
|
|
6d2165acc3 | ||
|
|
c33e553175 | ||
|
|
ab1381e830 | ||
|
|
669e1458da | ||
|
|
73f42bb73d | ||
|
|
f50a6477bc | ||
|
|
501fbd825a | ||
|
|
02111bf9b4 | ||
|
|
0f7bc49992 | ||
|
|
2fb6f7169a | ||
|
|
95b1264f7f | ||
|
|
fc2ba604ea | ||
|
|
9743f60991 | ||
|
|
7239c8d848 | ||
|
|
bf10b25291 | ||
|
|
3b4790163c | ||
|
|
fd1e0da4df | ||
|
|
57755417f9 | ||
|
|
9caabfd586 | ||
|
|
37bffd6f1c | ||
|
|
99ea17127d | ||
|
|
bb35837ea1 | ||
|
|
f49b53b095 | ||
|
|
e93daabd8b | ||
|
|
6bb6dfff2d | ||
|
|
0f8f49f19c | ||
|
|
85b4f987bb | ||
|
|
a75dae8128 | ||
|
|
f2fc5294e8 | ||
|
|
c81a87d154 | ||
|
|
bc435a6266 | ||
|
|
d3362bac75 | ||
|
|
87d7657dec | ||
|
|
6aa62ce20c | ||
|
|
eb143af967 | ||
|
|
a8c5b68d1a | ||
|
|
698f998307 | ||
|
|
18ed982aea | ||
|
|
7ac467923a | ||
|
|
09e2045b5b | ||
|
|
61b13e4543 | ||
|
|
a436bb059a | ||
|
|
934625905a | ||
|
|
cd4f3103cb | ||
|
|
9cef6612b7 | ||
|
|
fdacd06730 | ||
|
|
1731cc7798 | ||
|
|
55fe1c4115 | ||
|
|
97a2f07f83 | ||
|
|
be154bfed5 | ||
|
|
102585e4c7 | ||
|
|
385b250c01 | ||
|
|
db6a0aa584 | ||
|
|
3363006a83 | ||
|
|
78a24630ac | ||
|
|
5709422978 | ||
|
|
b7d28479e0 | ||
|
|
4594933c93 | ||
|
|
f75bd90fcf | ||
|
|
01ea9657a7 | ||
|
|
b544ee12d9 | ||
|
|
4874d3bfa3 | ||
|
|
a89cc332c3 | ||
|
|
bde27aff7b | ||
|
|
81676bf9ec | ||
|
|
24e039c177 | ||
|
|
837d4c85fd | ||
|
|
6d362a453e | ||
|
|
ff08b5920d | ||
|
|
5b1a8b03b7 | ||
|
|
6a8e14b161 | ||
|
|
6e9922eab2 | ||
|
|
e040d79280 | ||
|
|
7403bd7d16 | ||
|
|
d9dcc73f8b | ||
|
|
d2696a53ef | ||
|
|
cd5b45f98b | ||
|
|
c63beaa35d | ||
|
|
1bcabbad4c | ||
|
|
a669a33774 | ||
|
|
bbefdfc4e5 | ||
|
|
7b2f1d562e | ||
|
|
fc0373fccc | ||
|
|
d6386c05a4 | ||
|
|
fd7017f530 | ||
|
|
8c9d82cb6d | ||
|
|
ebfe2ef08d | ||
|
|
628c9a0f4f | ||
|
|
c217cd7c64 | ||
|
|
47df347b69 | ||
|
|
084c140eb7 | ||
|
|
f5fa5060b6 | ||
|
|
cf7d905d20 | ||
|
|
50808d8ca4 | ||
|
|
e8a81cce4d | ||
|
|
4b34cf90f7 | ||
|
|
7f10462189 | ||
|
|
57f4239832 | ||
|
|
fe5bef0f3b | ||
|
|
46d5dcf8f8 | ||
|
|
5a4dd31ba7 | ||
|
|
7a7450f98e | ||
|
|
42efc9f9ec | ||
|
|
160ee4dcec | ||
|
|
cdd2c96b5e | ||
|
|
cdd74b535b | ||
|
|
b635168fb3 | ||
|
|
3e9c51f18e | ||
|
|
4ce6396e3f | ||
|
|
9c0ce2a1cd | ||
|
|
77ebd9d4fd | ||
|
|
b06dcf555e | ||
|
|
7a963e346a | ||
|
|
ebe35cb7b2 | ||
|
|
a38c709d74 | ||
|
|
dca987b64b | ||
|
|
fb16a8a43d | ||
|
|
3f9be29606 | ||
|
|
e071851271 | ||
|
|
2f7db7312e | ||
|
|
471ebb733c | ||
|
|
5a097d429d | ||
|
|
662d94e958 | ||
|
|
4c57a00660 | ||
|
|
0c8c5e2928 | ||
|
|
4df1c605a2 | ||
|
|
eca90894e0 | ||
|
|
788122c5d6 | ||
|
|
f904c3241a | ||
|
|
3f8bc5e01a | ||
|
|
bb88a1105e | ||
|
|
7143c7ffe9 | ||
|
|
de1bc6a369 | ||
|
|
b1ce7bdcc5 | ||
|
|
da4ee57e58 | ||
|
|
698197248e | ||
|
|
7c2c2305fb | ||
|
|
df5b8b9c35 | ||
|
|
446910767b | ||
|
|
927c37e6db | ||
|
|
6cd349cb24 | ||
|
|
271cd71c20 | ||
|
|
f7a15e67cd | ||
|
|
c570c1798a | ||
|
|
5acaff356f | ||
|
|
4af7a19eb0 | ||
|
|
4f182dc41b | ||
|
|
704c6b1669 | ||
|
|
5d327f5060 | ||
|
|
4ecbf7fe79 | ||
|
|
92d690e357 | ||
|
|
7db63bb3e0 | ||
|
|
777f06608b | ||
|
|
5db00e257b | ||
|
|
1475ba810c | ||
|
|
bdedf6f63f | ||
|
|
3245063a74 | ||
|
|
dc109f12d8 | ||
|
|
1615c0f84e | ||
|
|
2466ca9eb0 | ||
|
|
b9524499bf | ||
|
|
47fb8b9938 | ||
|
|
3525fb87e2 | ||
|
|
2a45878a55 | ||
|
|
333c52ac45 | ||
|
|
3565b25719 | ||
|
|
fecaa613e4 | ||
|
|
748b5d3166 | ||
|
|
e07bb73eeb | ||
|
|
22dc2c175a | ||
|
|
8bee5fcff8 | ||
|
|
2221857199 | ||
|
|
8f8ad708f8 | ||
|
|
e4e506e62d | ||
|
|
38b51d55f4 | ||
|
|
3ce42b641c | ||
|
|
f71d39fe36 | ||
|
|
d87901921a | ||
|
|
0b46f67551 | ||
|
|
d1cfb8287f | ||
|
|
9b0d2784e1 | ||
|
|
d8ff653956 | ||
|
|
a828ee6b1e | ||
|
|
7141c1fb09 | ||
|
|
7cb2c6844f | ||
|
|
31735c4ca7 | ||
|
|
9207493f31 | ||
|
|
794321d925 | ||
|
|
84574533ef | ||
|
|
3af01e7ded | ||
|
|
91f9a1e84f | ||
|
|
86d53c73a8 | ||
|
|
a9b25edafe | ||
|
|
21f5acf62f | ||
|
|
07e5a532c1 | ||
|
|
e65c4f4497 | ||
|
|
f26ece827c | ||
|
|
09c9554e4b | ||
|
|
68876bffb9 | ||
|
|
565bfceb49 | ||
|
|
e33dad8492 | ||
|
|
a7bd5044c4 | ||
|
|
2179dc5066 | ||
|
|
ec9eadda8e | ||
|
|
52c1bd3558 | ||
|
|
1d5e7dccb7 | ||
|
|
99cd96f33c | ||
|
|
e3fbd07e41 | ||
|
|
be0aad2c66 | ||
|
|
65ca256a73 | ||
|
|
da1c556896 | ||
|
|
ba0af6edda | ||
|
|
40f4057d47 | ||
|
|
130a2a44e8 | ||
|
|
1168cf7305 | ||
|
|
d6f18943b7 | ||
|
|
d946ef55a8 | ||
|
|
95041945ff | ||
|
|
2ad2b8866b | ||
|
|
5bb9aa29fa | ||
|
|
276952ffb9 | ||
|
|
2ee2fe494d | ||
|
|
6f49584546 | ||
|
|
e058b204f4 | ||
|
|
d937b20d79 | ||
|
|
af4ecc4084 | ||
|
|
92414d0c2f | ||
|
|
cb9717f6e7 | ||
|
|
a635b3aef6 | ||
|
|
ad6ff2f7f0 | ||
|
|
4d687544d2 | ||
|
|
543a6fbaa2 | ||
|
|
4c5f02865f | ||
|
|
dfcfaa2041 | ||
|
|
d016d33747 | ||
|
|
634a6222f7 | ||
|
|
0db4740a82 | ||
|
|
3201620700 | ||
|
|
17eb43df64 | ||
|
|
08f9d0e67a | ||
|
|
5e36be4f63 | ||
|
|
a795b3b124 | ||
|
|
696a1262a8 | ||
|
|
692c8e27fa | ||
|
|
b6188cb0ba | ||
|
|
28300814f5 | ||
|
|
a298e431cc | ||
|
|
0a50bcadc2 | ||
|
|
de3d62ba92 | ||
|
|
64c3c29597 | ||
|
|
ae61b95707 | ||
|
|
669bb3892e | ||
|
|
c0312bbbe5 | ||
|
|
2f14be09b5 | ||
|
|
9b5ee28f04 | ||
|
|
2043adb76e | ||
|
|
eaffb139ef | ||
|
|
763bd5a10c | ||
|
|
5f7ca09e55 | ||
|
|
eadebd387a | ||
|
|
9434db242b | ||
|
|
97ec9a6aa7 | ||
|
|
7a9a72d285 | ||
|
|
ae6485bfd1 | ||
|
|
19d7c3122d | ||
|
|
ed2eb44b38 | ||
|
|
7c110bf6d3 | ||
|
|
a4656c1837 | ||
|
|
fd4359433c | ||
|
|
8d5ae7f94f | ||
|
|
08e66a86ce | ||
|
|
9525b33988 | ||
|
|
b8ccfa23d9 | ||
|
|
5f584f92a7 | ||
|
|
1adadcb4bb | ||
|
|
2607e91833 | ||
|
|
8bc8d7e7cd |
8
.gitignore
vendored
@@ -1,5 +1,6 @@
|
||||
cache/*
|
||||
cache
|
||||
coverage
|
||||
.bundle
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
*.sublime-*
|
||||
@@ -7,3 +8,8 @@ coverage
|
||||
.*.swp
|
||||
Gemfile.lock
|
||||
log.txt
|
||||
.yardoc
|
||||
debug.log
|
||||
wordlist.txt
|
||||
rspec_results.html
|
||||
data/
|
||||
|
||||
1
.ruby-gemset
Normal file
@@ -0,0 +1 @@
|
||||
wpscan
|
||||
1
.ruby-version
Normal file
@@ -0,0 +1 @@
|
||||
2.3.1
|
||||
@@ -3,4 +3,6 @@ SimpleCov.start do
|
||||
add_filter "_helper.rb"
|
||||
add_filter "environment.rb"
|
||||
add_filter "_plugin.rb"
|
||||
add_filter "hacks.rb"
|
||||
add_filter "output.rb"
|
||||
end
|
||||
|
||||
25
.travis.yml
@@ -1,6 +1,23 @@
|
||||
language: ruby
|
||||
sudo: false
|
||||
cache: bundler
|
||||
rvm:
|
||||
- "1.9.2"
|
||||
- "1.9.3"
|
||||
- "2.0.0"
|
||||
script: bundle exec rspec --format documentation
|
||||
# Still not in Travis :(
|
||||
# - 2.1.9
|
||||
- 2.2.0
|
||||
- 2.2.1
|
||||
- 2.2.2
|
||||
- 2.2.3
|
||||
- 2.2.4
|
||||
- 2.3.0
|
||||
- 2.3.1
|
||||
before_install:
|
||||
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
|
||||
script: bundle exec rspec
|
||||
notifications:
|
||||
email:
|
||||
- team@wpscan.org
|
||||
# do not build gh-pages branch
|
||||
branches:
|
||||
except:
|
||||
- gh-pages
|
||||
|
||||
512
CHANGELOG.md
Normal file
@@ -0,0 +1,512 @@
|
||||
# Changelog
|
||||
## Master
|
||||
[Work in progress](https://github.com/wpscanteam/wpscan/compare/2.9.1...master)
|
||||
|
||||
## Version 2.9.1
|
||||
Released: 2016-05-06
|
||||
|
||||
* Update to Ruby 2.3.1, drop older ruby support
|
||||
* New data file location
|
||||
* Added experimental Windows support
|
||||
* Display WordPress metadata on the detected version
|
||||
* Several small fixes
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 156
|
||||
* Total vulnerable plugins: 1324
|
||||
* Total vulnerable themes: 376
|
||||
* Total version vulnerabilities: 1998
|
||||
* Total plugin vulnerabilities: 2057
|
||||
* Total theme vulnerabilities: 449
|
||||
|
||||
## Version 2.9
|
||||
Released: 2015-10-15
|
||||
|
||||
New
|
||||
* GZIP Encoding in updater
|
||||
* Adds --throttle option to throttle requests
|
||||
* Uses new API and local database file structure
|
||||
* Adds last updated and latest version to plugins and themes
|
||||
|
||||
Removed
|
||||
* ArchAssault from README
|
||||
* APIv1 local databases
|
||||
|
||||
General core
|
||||
* Update to Ruby 2.2.3
|
||||
* Use yajl-ruby as JSON parser
|
||||
* New dependancy for Ubuntu 14.04 (libgmp-dev)
|
||||
* Use Travis container based infra and caching
|
||||
|
||||
Fixed issues
|
||||
* Fix #835 - Readme requests to wp root dir
|
||||
* Fix #836 - Critical icon output twice when the site is not running WP
|
||||
* Fix #839 - Terminal-table dependency is broken
|
||||
* Fix #841 - error: undefined method `cells' for #<Array:0x000000029cc2f8>
|
||||
* Fix #852 - GZIP Encoding in updater
|
||||
* Fix #853 - APIv2 integration
|
||||
* Fix #858 - Detection FP
|
||||
* Fix #873 - false positive "site has Must Use Plugins"
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 132
|
||||
* Total vulnerable plugins: 1170
|
||||
* Total vulnerable themes: 368
|
||||
* Total version vulnerabilities: 1476
|
||||
* Total plugin vulnerabilities: 1913
|
||||
* Total theme vulnerabilities: 450
|
||||
|
||||
## Version 2.8
|
||||
Released: 2015-06-22
|
||||
|
||||
New
|
||||
* Warn the user to update his DB files
|
||||
* Added last db update to --version option (see #815)
|
||||
* Add db checksum to verbose logging during update
|
||||
* Option to hide banner
|
||||
* Continue if user chooses not to update + db exists
|
||||
* Don't update if user chooses default + no DBs exist
|
||||
* Updates request timeout values to realistic ones (and in seconds)
|
||||
|
||||
Removed
|
||||
* Removed `Time.parse('2000-01-01')` expedient
|
||||
* Removed unnecessary 'return' and '()'
|
||||
* Removed debug output
|
||||
* Removed wpstools
|
||||
|
||||
General core
|
||||
* Update to Ruby 2.2.2
|
||||
* Switch to mitre
|
||||
* Install bundler gem README
|
||||
* Switch from gnutls to openssl
|
||||
|
||||
Fixed issues
|
||||
* Fix #789 - Add blackarch to readme
|
||||
* Fix #790 - Consider the target down after 30 requests timed out requests instead of 10
|
||||
* Fix #791 - Rogue character causing the scan of non-wordpress site to crash
|
||||
* Fix #792 - Adds the HttpError exception
|
||||
* Fix #795 - Remove GHOST warning
|
||||
* Fix #796 - Do not swallow exit code
|
||||
* Fix #797 - Increases the timeout values
|
||||
* Fix #801 - Forces UTF-8 encoding when enumerating usernames
|
||||
* Fix #803 - Increases default connect-timeout to 10s
|
||||
* Fix #804 - Updates the Theme detection pattern
|
||||
* Fix #816 - Ignores potential non version chars in theme version detection
|
||||
* Fix #819 - Removes potential spaces in robots.txt entries
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 98
|
||||
* Total vulnerable plugins: 1076
|
||||
* Total vulnerable themes: 361
|
||||
* Total version vulnerabilities: 1104
|
||||
* Total plugin vulnerabilities: 1763
|
||||
* Total theme vulnerabilities: 443
|
||||
|
||||
## Version 2.7
|
||||
Released: 2015-03-16
|
||||
|
||||
New
|
||||
* Detects version in release date format
|
||||
* Copyrights updated
|
||||
* WP version detection from stylesheets
|
||||
* New license
|
||||
* Global HTTP request counter
|
||||
* Add security-protection plugin detection
|
||||
* Add GHOST warning if XMLRPC enabled
|
||||
* Update databases from wpvulndb.com
|
||||
* Enumerate usernames from WP <= 3.0 (thanks berotti3)
|
||||
|
||||
Removed
|
||||
* README.txt
|
||||
|
||||
General core
|
||||
* Update to Ruby 2.2.1
|
||||
* Update to Ruby 2.2.0
|
||||
* Add addressable gem
|
||||
* Update Typhoeus gem to 0.7.0
|
||||
* IDN support: encode non-ascii domain names (thanks dctabuyz)
|
||||
* Improve page hash calculation (thanks dctabuyz)
|
||||
* Version detection regex improved
|
||||
|
||||
Fixed issues
|
||||
* Fix #745 - Plugin version pattern in readme.txt file not detected
|
||||
* Fix #746 - Add a global counter for all active requests to server.
|
||||
* Fix #747 - Add 'security-protection' plugin to wp_login_protection module
|
||||
* Fix #753 - undefined method `round' for "10":String for request or connect timeouts
|
||||
* Fix #760 - typhoeus issue (infinite loop)
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 89
|
||||
* Total vulnerable plugins: 953
|
||||
* Total vulnerable themes: 329
|
||||
* Total version vulnerabilities: 1070
|
||||
* Total plugin vulnerabilities: 1451
|
||||
* Total theme vulnerabilities: 378
|
||||
|
||||
## Version 2.6
|
||||
Released: 2014-12-19
|
||||
|
||||
New
|
||||
* Updates the readmes to reflect the new --usernames option
|
||||
* Improves plugin/theme version detection by looking at the "Version:"
|
||||
* Solution to avoid mandatory blank newline at the end of the wordlist
|
||||
* Add check for valid credentials
|
||||
* Add Sucuri sponsor to banner
|
||||
* Add protocol to sucuri url in banner
|
||||
* Add response code to proxy error output
|
||||
* Add a statement about mandatory newlines at the end of list
|
||||
* Give warning if default username 'admin' is still used
|
||||
* License amendment to make it more clear about value added usage
|
||||
|
||||
Removed
|
||||
* remove malwares
|
||||
* remove malware folder
|
||||
* Removes the theme version check from the readme, unrealistic scenario
|
||||
|
||||
General core
|
||||
* Update to Ruby 2.1.5 and travis
|
||||
* Prevent parent theme infinite loop
|
||||
* Fixes the progressbar being overriden by next brute forcing attempts
|
||||
|
||||
Fixed issues
|
||||
* Fix UTF-8 encode on security db file download
|
||||
* Fix #703 - Disable logging by default. Implement log option.
|
||||
* Fix #705 - Installation instructions for Ubuntu < 14.04 apparently incomplete
|
||||
* Fix #717 - Expand on readme.html finding output
|
||||
* Fix #716 - Adds the --version in the help
|
||||
* Fix #715 - Add new updating info to docs
|
||||
* Fix #727 - WpItems detection: Perform the passive check and filter only vulnerable results at the end if required
|
||||
* Fix #737 - Adds some readme files to check for plugin versions
|
||||
* Fix #739 - Adds the --usernames option
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 88
|
||||
* Total vulnerable plugins: 901
|
||||
* Total vulnerable themes: 313
|
||||
* Total version vulnerabilities: 1050
|
||||
* Total plugin vulnerabilities: 1355
|
||||
* Total theme vulnerabilities: 349
|
||||
|
||||
## Version 2.5.1
|
||||
Released: 2014-09-29
|
||||
|
||||
Fixes reference URL to WPVDB
|
||||
|
||||
## Version 2.5
|
||||
Released: 2014-09-26 (@ BruCON 2014)
|
||||
|
||||
New
|
||||
* Exit program after --update
|
||||
* Detect directory listing in upload folder
|
||||
* Be more verbose when no version can be detected
|
||||
* Added detection for Yoast Wordpress SEO plugin
|
||||
* Also ensure to not process empty Location headers
|
||||
* Ensures a nil location is not processed when enumerating usernames
|
||||
* Fix #626 - Detect 'Must_Use_Plugins'
|
||||
* better username extraction
|
||||
* Add a --cookie option. Ref #485
|
||||
* Add a --no-color option
|
||||
* Output: Give 'Fixed in' an informational tag
|
||||
* Added ArchAssault distro - WPScan comes pre-installed with this distro
|
||||
* Layout changes with new colors
|
||||
|
||||
Removed
|
||||
* Removes the source code updaters
|
||||
* Removes the ListGenerator plugin from WPStools
|
||||
* Removes all files from data/
|
||||
|
||||
General core
|
||||
* Update docs to reflect new updating logic
|
||||
* Little output change and coloring
|
||||
* Adds a missing verbose output
|
||||
* Re-build redirection url if begin with slash '/'
|
||||
* Fixes the remove_conditional_comments function
|
||||
* Ensures to give a string to Typhoeus
|
||||
* Fix wpstools check-vuln-ref-urls
|
||||
* Fix rspecs for new json
|
||||
* Only output if different from style_url
|
||||
* Add exception so 'ruby wpscan.rb http://domain.com' is detected
|
||||
* Added make to Debian installation, which is needed in minimal installation.
|
||||
* Add build-essentials requirement to Ubuntu > 14.04
|
||||
* Updated installation instr. for GNU/Linux Debian.
|
||||
* Changes VersionCompare#is_newer_or_same? by lesser_or_equal?
|
||||
* Fixes the location of the robots.txt check
|
||||
* Updates the recommended ruby version
|
||||
* Rspec 3.0 support
|
||||
* Adds ruby 2.1.2 to Travis
|
||||
* Updated ruby-progressbar to 1.5.0
|
||||
|
||||
WordPress Fingerprints
|
||||
* Adds WP 4.0 fingerprints
|
||||
* Adds WP 3.9.2, 3.8.4 & 3.7.4 fingerprints - Ref #652
|
||||
* Adds 3.9.1 fingerprints
|
||||
|
||||
Fixed issues
|
||||
* Fix #689 - Adds config file to check
|
||||
* Fix #694 - Output Arrays
|
||||
* Fix #693 - Adds pathname require statement
|
||||
* Fix #657 - generate method
|
||||
* Fix #685 - Potenial fix for 'marshal data too short' error
|
||||
* Fix #686 - Adds specs for relative URI in Location headers
|
||||
* Fix #435 - Update license
|
||||
* Fix #674 - Improves the Plugins & Themes passive detection
|
||||
* Fix #673 - Problem with the output
|
||||
* Fix #661 - Don't hash directories named like a file
|
||||
* Fix #653 - Fix for infinite loop in wpstools
|
||||
* Fix #625 - Only parse styles when needed
|
||||
* Fix #481 - Fix for Jetpack plugin false positive
|
||||
* Fix #480 - Properly removes the colour sequence from log
|
||||
* Fix #472 - WPScan stops after redirection if not WordPress website
|
||||
* Fix #464 - Readmes updated to reflect recent changes about the config file & batch mode
|
||||
|
||||
Vulnerabilities
|
||||
* geoplaces4 also uses name GeoPlaces4beta
|
||||
* Added metasploit module's
|
||||
* Added some timthumb detections
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 87
|
||||
* Total vulnerable plugins: 854
|
||||
* Total vulnerable themes: 303
|
||||
* Total version vulnerabilities: 752
|
||||
* Total plugin vulnerabilities: 1351
|
||||
* Total theme vulnerabilities: 345
|
||||
|
||||
## Version 2.4
|
||||
Released: 2014-04-17
|
||||
|
||||
New
|
||||
* '--batch' switch option added - Fix #454
|
||||
* Add random-agent
|
||||
* Added more CLI options
|
||||
* Switch over to nist - Fix #301
|
||||
* New choice added when a redirection is detected - Fix #438
|
||||
|
||||
Removed
|
||||
* Removed 'Total WordPress Sites in the World' counter from stats
|
||||
* Old wpscan repo links removed - Fix #440
|
||||
* Fingerprinting Dev script removed
|
||||
* Useless code removed
|
||||
|
||||
General core
|
||||
* Rspecs update
|
||||
* Forcing Travis notify the team
|
||||
* Ruby 2.1.1 added to Travis
|
||||
* Equal output layout for interaction questions
|
||||
* Only output error trace if verbose if enabled
|
||||
* Memory improvements during wp-items enumerations
|
||||
* Fixed broken link checker, fixed some broken links
|
||||
* Couple more 404s fixed
|
||||
* Themes & Plugins list updated
|
||||
|
||||
WordPress Fingerprints
|
||||
* WP 3.8.2 & 3.7.2 Fingerprints added - Fix #448
|
||||
* WP 3.8.3 & 3.7.3 fingerprints
|
||||
* WP 3.9 fingerprints
|
||||
|
||||
Fixed issues
|
||||
* Fix #380 - Redirects in WP 3.6-3.0
|
||||
* Fix #413 - Check the version of the Timthumbs files found
|
||||
* Fix #429 - Error WpScan Cache Browser
|
||||
* Fix #431 - Version number comparison between '2.3.3' and '0.42b'
|
||||
* Fix #439 - Detect if the target goes down during the scan
|
||||
* Fix #451 - Do not rely only on files in wp-content for fingerprinting
|
||||
* Fix #453 - Documentation or inplemention of option parameters
|
||||
* Fix #455 - Fails with a message if the target returns a 403 during the wordpress check
|
||||
|
||||
Vulnerabilities
|
||||
* Update WordPress Vulnerabilities
|
||||
* Fixed some duplicate vulnerabilities
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 79; 1 is new
|
||||
* Total vulnerable plugins: 748; 55 are new
|
||||
* Total vulnerable themes: 292; 41 are new
|
||||
* Total version vulnerabilities: 617; 326 are new
|
||||
* Total plugin vulnerabilities: 1162; 146 are new
|
||||
* Total theme vulnerabilities: 330; 47 are new
|
||||
|
||||
## Version 2.3
|
||||
Released: 2014-02-11
|
||||
|
||||
New
|
||||
* Brute forcing over https!
|
||||
* Detect and output parent theme!
|
||||
* Complete fingerprint script & hash search
|
||||
* New spell checker!
|
||||
* Added database modification dates in status report
|
||||
* Added 'Total WordPress Sites in the World' statistics
|
||||
* Added separator between Name and Version in Item
|
||||
* Added a "Work in progress" URL in the CHANGELOG
|
||||
|
||||
Removed
|
||||
* Removed "Exiting!" sentence
|
||||
* Removed Backtrack Linux. Not maintained anymore.
|
||||
|
||||
General core
|
||||
* Ruby 2.1.0 added to Travis
|
||||
* Updated the version of WebMock required
|
||||
* Better string concatenation in code (improves speed)
|
||||
* Some modifications in the output of an item
|
||||
* Output cosmetics
|
||||
* rspec-mocks version constraint released
|
||||
* Tabs replaced by spaces
|
||||
* Rspecs update
|
||||
* Indent code cleanup
|
||||
* Themes & Plugins lists regenerated
|
||||
|
||||
Vulnerabilities
|
||||
* Update WordPress Vulnerabilities
|
||||
* Disabled some fake reported vulnerabilities
|
||||
* Fixed some duplicate vulnerabilities
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 78; 2 are new
|
||||
* Total vulnerable plugins: 693; 83 are new
|
||||
* Total vulnerable themes: 251; 55 are new
|
||||
* Total version vulnerabilities: 291 17 are new
|
||||
* Total plugin vulnerabilities: 1016; 236 are new
|
||||
* Total theme vulnerabilities: 283; 79 are new
|
||||
|
||||
WordPress Fingerprints
|
||||
* Better fingerprints
|
||||
* WP 3.8.1 Fingerprinting
|
||||
* WP 3.8 Fingerprinting
|
||||
|
||||
Fixed issues
|
||||
* Fix #404 - Brute forcing issue over https
|
||||
* Fix #398 - Removed a fake vuln in WP Super Cache
|
||||
* Fix #393 - sudo added to the bundle install cmd for Mac OSX
|
||||
* Fix #228, #327 - Infinite loop when self-redirect
|
||||
* Fix #201 - Incorrect Paramter Parsing when no url was supplied
|
||||
|
||||
## Version 2.2
|
||||
Released: 2013-11-12
|
||||
|
||||
New
|
||||
* Output the vulnerability fix if available
|
||||
* Added 'WordPress Version Vulnerability' statistics
|
||||
* Added Kali Linux on the list of pre-installed Linux distributions
|
||||
* Added hosted wordpress detection. See issue #343.
|
||||
* Add detection for all-in-one-seo-pack
|
||||
* Use less memory when brute forcing with a large wordlist
|
||||
* Memory Usage output
|
||||
* Added cve tag to xml file
|
||||
* Add documentation to readme
|
||||
* Add --version switch
|
||||
* Parse robots.txt
|
||||
* Show twitter usernames
|
||||
* Clean logfile on wpstools too
|
||||
* Added pingback header
|
||||
* Request_timeout and connect_timeout implemented
|
||||
* Output interesting http-headers
|
||||
* Kali Linux detection
|
||||
* Ensure that brute forcing results are output even if an error occurs or the user exits
|
||||
* Added debug output
|
||||
* Fixed Version compare for issue #179
|
||||
* Added ruby-progressbar version to Gemfile
|
||||
* Use the redirect_to parameter on bruteforce
|
||||
* Readded "junk removal" from usernames before output
|
||||
* Add license file
|
||||
* Output the timthumb version if found
|
||||
* New enumeration system
|
||||
* More error details for XSD checks
|
||||
* Added default wp-content dir detection, see Issue #141.
|
||||
* Added checks for well formed xml
|
||||
|
||||
Changed
|
||||
* Trying a fix for Kali Linux
|
||||
* Make a seperator between plugin name and vulnerability name
|
||||
* It's WordPress, not Wordpress
|
||||
* Changed wordpress.com scanning error to warning. See issue #343.
|
||||
* Make output lines consistent
|
||||
* Replace packetstormsecurity.org to packetstormsecurity.com
|
||||
* Same URL syntax for all Packet Storm Security URL's
|
||||
* Packet Storm Security URL's don't need the 'friendly part' of the URL. So it can be neglected.
|
||||
* Use online documentation
|
||||
* User prompt on same line
|
||||
* Don't skip passwords that start with a hash. This is fairly common (see RockYou list for example).
|
||||
* Updated Fedora install instructions as per Issue #92
|
||||
* Slight update to security plugin warning. Issue #212.
|
||||
* Ruby-progressbar Gemfile version bump
|
||||
* Fix error with the -U option (undefined method 'merge' for #WpTarget:)
|
||||
* Banner artwork
|
||||
* Fix hacks.rb conflict
|
||||
* Handle when there are 2 headers of the same name
|
||||
* Releasing the Typhoeus version constraint
|
||||
* Amended Arch Linux install instructions. See issue #183.
|
||||
|
||||
Updated
|
||||
* Plugins & Themes updated
|
||||
* Update README.md
|
||||
* Updated documentation
|
||||
|
||||
Removed
|
||||
* Removed 'smileys' in output messages
|
||||
* Removed 'for WordPress' and 'plugin' in title strings.
|
||||
* Removed reference
|
||||
* Removed useless code
|
||||
* Removed duplicate vulnerabilities
|
||||
|
||||
General core
|
||||
* Code cleaning
|
||||
* Fix typo's
|
||||
* Clean up rspecs
|
||||
* Themes & Plugins lists regenerated
|
||||
* Rspecs update
|
||||
* Code Factoring
|
||||
* Added checks for old ruby. Otherwise there will be syntax errors
|
||||
|
||||
Vulnerabilities
|
||||
* Update WordPress Vulnerabilities
|
||||
* Update timthumb due to Secunia #54801
|
||||
* Added WP vuln: 3.4 - 3.5.1 wp-admin/users.php FPD
|
||||
|
||||
WPScan Database Statistics:
|
||||
* Total vulnerable versions: 76; 4 are new
|
||||
* Total vulnerable plugins: 610; 201 are new
|
||||
* Total vulnerable themes: 196; 47 are new
|
||||
* Total version vulnerabilities: 274; 53 are new
|
||||
* Total plugin vulnerabilities: 780; 286 are new
|
||||
* Total theme vulnerabilities: 204; 52 are new
|
||||
|
||||
Add WP Fingerprints
|
||||
* WP 3.7.1 Fingerprinting
|
||||
* WP 3.7 Fingerprinting
|
||||
* Ref #280 WP 3.6.1 fingerprint
|
||||
* Added WP 3.6 advanced fingerprint hash. See Issue #255.
|
||||
* Updated MD5 hash of WP 3.6 detection. See Issue #277.
|
||||
* WP 3.5.2 Fingerprint
|
||||
* Bug Fix : Wp 3.5 & 3.5.1 not detected from advanced fingerprinting.
|
||||
|
||||
Fixed issues
|
||||
* Fix #249 - [ERROR] "\xF1" on US-ASCII
|
||||
* Fix #275 - [ERROR] "\xC3" on US-ASCII
|
||||
* Fix #271 - Further Instructions added to the Mac Install
|
||||
* Fix #266 - passive detection regex
|
||||
* Fix #265 - remove base64 images before passive detection
|
||||
* Fix #262 - [ERROR] bad component(expected absolute path component)
|
||||
* Fix #260 - Fixes Travis Fail, due to rspec-mock v2.14.3
|
||||
* Fix #208 - Fixed vulnerable plugins still appear in the results
|
||||
* Fix #245 - all theme enumeration error
|
||||
* Fix #241 - Cant convert array to string
|
||||
* Fix #232 - Crash while enumerating usernames
|
||||
* Fix #223 - New wordpress urls for most popular plugins & themes
|
||||
* Fix #177 - Passive Cache plugins detection (no spec)
|
||||
* Fix #169 - False reports
|
||||
* Fix #182 - Remove the progress-bar static length (120), and let it to automatic
|
||||
* Fix #181 - Don't exit if no usernames found during a simple enumeration (but exit if a brute force is asked)
|
||||
* Fix #200 - Log file not recording the list of username retireved
|
||||
* Fix #164 - README.txt detection
|
||||
* Fix #166 - ListGenerator using the old Browser#get method for full generation
|
||||
* Fix #153 - Disable error trace when it's from the main script
|
||||
* Fix #163 - in the proper way
|
||||
* Fix #144 - Use cookie jar to prevent infinite redirections loop
|
||||
* Fix #158 - Add the solution to 'no such file to load -- rubygems' in the README
|
||||
* Fix #152 - invalid ssl_certificate - response code 0
|
||||
* Fix #147 - can't modify frozen string
|
||||
* Fix #140 - xml_rpc_url in the body
|
||||
* Fix #153 - No error trace when 'No argument supplied'
|
||||
|
||||
## Version 2.1
|
||||
Released 2013-3-4
|
||||
10
CREDITS
@@ -1,19 +1,21 @@
|
||||
**CREDITS**
|
||||
|
||||
This file is to give credit to WPScan's contributors. If you feel your name should be in here, email ryandewhurst at gmail.
|
||||
This file is used to state the individual WPScan Team members (core developers) and give credit to WPScan's other contributors. If you feel your name should be in here email team@wpscan.org.
|
||||
|
||||
*WPScan Team*
|
||||
|
||||
Erwan.LR - @erwan_lr - (Project Developer)
|
||||
Christian Mehlmauer - @_FireFart_ - (Project Developer)
|
||||
Gianluca Brindisi - @gbrindisi (Project Developer)
|
||||
Peter van der Laan - pvdl - (Project Developer)
|
||||
Ryan Dewhurst - @ethicalhack3r (Project Lead)
|
||||
|
||||
*Other Contributors*
|
||||
|
||||
Henri Salo AKA fgeek - Reported lots of vulnerabilities
|
||||
Alip AKA Undead - alip.aswalid at gmail.com
|
||||
michee08 - Reported and gave potential solutions to bugs.
|
||||
michee08 - Reported and gave potential solutions to bugs
|
||||
Callum Pember - Implemented proxy support - callumpember at gmail.com
|
||||
g0tmi1k - Additional timthumb checks + bug reports.
|
||||
g0tmi1k - Additional timthumb checks + bug reports
|
||||
Melvin Lammerts - Reported a couple of fake vulnerabilities - melvin at 12k.nl
|
||||
Paolo Perego - @thesp0nge - Basic authentication
|
||||
Gianluca Brindisi - @gbrindisi - Ex Project Developer
|
||||
|
||||
2
DISCLAIMER.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
WPScan is not responsible for misuse or for any damage that you may cause!
|
||||
You agree that you use this software at your own risk.
|
||||
23
Gemfile
@@ -1,11 +1,18 @@
|
||||
source "https://rubygems.org"
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem "typhoeus", "~>0.6.2"
|
||||
gem "nokogiri"
|
||||
gem "json"
|
||||
gem 'typhoeus', '>=0.8.0'
|
||||
gem 'nokogiri', '>=1.6.7.1'
|
||||
gem 'addressable'
|
||||
gem 'yajl-ruby' # Better JSON parser regarding memory usage
|
||||
# TODO: update the below when terminal-table 1.5.3+ is released.
|
||||
# See issue #841 for details
|
||||
# (and delete the Terminal module in lib/common/hacks.rb)
|
||||
gem 'terminal-table', '~>1.4.5'
|
||||
gem 'ruby-progressbar', '>=1.6.0'
|
||||
|
||||
group :development, :test do
|
||||
gem "webmock", "~>1.9.3"
|
||||
gem "simplecov"
|
||||
gem "rspec", :require => "spec"
|
||||
group :test do
|
||||
gem 'webmock', '>=1.17.2'
|
||||
gem 'simplecov'
|
||||
gem 'rspec', '>=3.3.0'
|
||||
gem 'rspec-its'
|
||||
end
|
||||
|
||||
70
LICENSE
Normal file
@@ -0,0 +1,70 @@
|
||||
WPScan Public Source License
|
||||
|
||||
The WPScan software (henceforth referred to simply as "WPScan") is dual-licensed - Copyright 2011-2016 WPScan Team.
|
||||
|
||||
Cases that include commercialization of WPScan require a commercial, non-free license. Otherwise, WPScan can be used without charge under the terms set out below.
|
||||
|
||||
1. Definitions
|
||||
|
||||
1.1 “License” means this document.
|
||||
1.2 “Contributor” means each individual or legal entity that creates, contributes to the creation of, or owns WPScan.
|
||||
1.3 “WPScan Team” means WPScan’s core developers, an updated list of whom can be found within the CREDITS file.
|
||||
|
||||
2. Commercialization
|
||||
|
||||
A commercial use is one intended for commercial advantage or monetary compensation.
|
||||
|
||||
Example cases of commercialization are:
|
||||
|
||||
- Using WPScan to provide commercial managed/Software-as-a-Service services.
|
||||
- Distributing WPScan as a commercial product or as part of one.
|
||||
- Using WPScan as a value added service/product.
|
||||
|
||||
Example cases which do not require a commercial license, and thus fall under the terms set out below, include (but are not limited to):
|
||||
|
||||
- Penetration testers (or penetration testing organizations) using WPScan as part of their assessment toolkit.
|
||||
- Penetration Testing Linux Distributions including but not limited to Kali Linux, SamuraiWTF, BackBox Linux.
|
||||
- Using WPScan to test your own systems.
|
||||
- Any non-commercial use of WPScan.
|
||||
|
||||
If you need to purchase a commercial license or are unsure whether you need to purchase a commercial license contact us - team@wpscan.org.
|
||||
|
||||
We may grant commercial licenses at no monetary cost at our own discretion if the commercial usage is deemed by the WPScan Team to significantly benefit WPScan.
|
||||
|
||||
Free-use Terms and Conditions;
|
||||
|
||||
3. Redistribution
|
||||
|
||||
Redistribution is permitted under the following conditions:
|
||||
|
||||
- Unmodified License is provided with WPScan.
|
||||
- Unmodified Copyright notices are provided with WPScan.
|
||||
- Does not conflict with the commercialization clause.
|
||||
|
||||
4. Copying
|
||||
|
||||
Copying is permitted so long as it does not conflict with the Redistribution clause.
|
||||
|
||||
5. Modification
|
||||
|
||||
Modification is permitted so long as it does not conflict with the Redistribution clause.
|
||||
|
||||
6. Contributions
|
||||
|
||||
Any Contributions assume the Contributor grants the WPScan Team the unlimited, non-exclusive right to reuse, modify and relicense the Contributor's content.
|
||||
|
||||
7. Support
|
||||
|
||||
WPScan is provided under an AS-IS basis and without any support, updates or maintenance. Support, updates and maintenance may be given according to the sole discretion of the WPScan Team.
|
||||
|
||||
8. Disclaimer of Warranty
|
||||
|
||||
WPScan is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the WPScan is free of defects, merchantable, fit for a particular purpose or non-infringing.
|
||||
|
||||
9. Limitation of Liability
|
||||
|
||||
To the extent permitted under Law, WPScan is provided under an AS-IS basis. The WPScan Team shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred as a result of WPScan's actions, failure, bugs and/or any other interaction between WPScan and end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.
|
||||
|
||||
10. Disclaimer
|
||||
|
||||
Running WPScan against websites without prior mutual consent may be illegal in your country. The WPScan Team accept no liability and are not responsible for any misuse or damage caused by WPScan.
|
||||
210
README
@@ -1,210 +0,0 @@
|
||||
__________________________________________________
|
||||
__ _______ _____
|
||||
\ \ / / __ \ / ____|
|
||||
\ \ /\ / /| |__) | (___ ___ __ _ _ __
|
||||
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
|
||||
\ /\ / | | ____) | (__| (_| | | | |
|
||||
\/ \/ |_| |_____/ \___|\__,_|_| |_|
|
||||
__________________________________________________
|
||||
|
||||
==LICENSE==
|
||||
|
||||
WPScan - WordPress Security Scanner
|
||||
Copyright (C) 2011-2013 The WPScan Team
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
ryandewhurst at gmail
|
||||
|
||||
==INSTALL==
|
||||
|
||||
WPScan comes pre-installed on the following Linux distributions:
|
||||
|
||||
* BackBox Linux
|
||||
* BackTrack Linux (outdated WPScan installed, update needed)
|
||||
* Pentoo
|
||||
* SamuraiWTF
|
||||
|
||||
Prerequisites:
|
||||
|
||||
* Windows not supported
|
||||
* Ruby => 1.9
|
||||
* RubyGems
|
||||
* Git
|
||||
|
||||
-> Installing on Debian/Ubuntu:
|
||||
|
||||
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test development
|
||||
|
||||
-> Installing on Fedora:
|
||||
|
||||
sudo yum install libcurl-devel
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test development
|
||||
|
||||
-> Installing on Archlinux:
|
||||
|
||||
pacman -Sy ruby
|
||||
pacman -Sy libyaml
|
||||
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test development
|
||||
|
||||
gem install typhoeus
|
||||
gem install nokogiri
|
||||
|
||||
-> Installing on Mac OS X:
|
||||
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test development
|
||||
|
||||
==KNOWN ISSUES==
|
||||
|
||||
- Typhoeus segmentation fault:
|
||||
Update cURL to version => 7.21 (may have to install from source)
|
||||
See http://code.google.com/p/wpscan/issues/detail?id=81
|
||||
|
||||
- Proxy not working:
|
||||
Update cURL to version => 7.21.7 (may have to install from source).
|
||||
|
||||
Installation from sources :
|
||||
- Grab the sources from http://curl.haxx.se/download.html
|
||||
- Decompress the archive
|
||||
- Open the folder with the extracted files
|
||||
- Run ./configure
|
||||
- Run make
|
||||
- Run sudo make install
|
||||
- Run sudo ldconfig
|
||||
|
||||
- cannot load such file -- readline:
|
||||
Run sudo aptitude install libreadline5-dev libncurses5-dev
|
||||
|
||||
Then, open the directory of the readline gem (you have to locate it)
|
||||
|
||||
cd ~/.rvm/src/ruby-1.9.2-p180/ext/readline
|
||||
ruby extconf.rb
|
||||
make
|
||||
make install
|
||||
|
||||
See http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/ for more details
|
||||
|
||||
|
||||
==WPSCAN ARGUMENTS==
|
||||
|
||||
--update Update to the latest revision
|
||||
|
||||
--url | -u <target url> The WordPress URL/domain to scan.
|
||||
|
||||
--force | -f Forces WPScan to not check if the remote site is running WordPress.
|
||||
|
||||
--enumerate | -e [option(s)] Enumeration.
|
||||
option :
|
||||
u usernames from id 1 to 10
|
||||
u[10-20] usernames from id 10 to 20 (you must write [] chars)
|
||||
p plugins
|
||||
vp only vulnerable plugins
|
||||
ap all plugins (can take a long time)
|
||||
tt timthumbs
|
||||
t themes
|
||||
vp only vulnerable themes
|
||||
at all themes (can take a long time)
|
||||
Multiple values are allowed : '-e tt,p' will enumerate timthumbs and plugins
|
||||
If no option is supplied, the default is 'vt,tt,u,vp'
|
||||
|
||||
--exclude-content-based '<regexp or string>' Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied
|
||||
You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)
|
||||
|
||||
--config-file | -c <config file> Use the specified config file
|
||||
|
||||
--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not
|
||||
|
||||
--wp-content-dir <wp content dir> WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed
|
||||
|
||||
--wp-plugins-dir <wp plugins dir> Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed
|
||||
|
||||
--proxy <[protocol://]host:port> Supply a proxy (will override the one from conf/browser.conf.json).
|
||||
HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used
|
||||
|
||||
--proxy-auth <username:password> Supply the proxy login credentials (will override the one from conf/browser.conf.json).
|
||||
|
||||
--basic-auth <username:password> Set the HTTP Basic authentication
|
||||
|
||||
--wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute.
|
||||
|
||||
--threads | -t <number of threads> The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)
|
||||
|
||||
--username | -U <username> Only brute force the supplied username.
|
||||
|
||||
--help | -h This help screen.
|
||||
|
||||
--verbose | -v Verbose output.
|
||||
|
||||
==WPSCAN EXAMPLES==
|
||||
|
||||
Do 'non-intrusive' checks...
|
||||
|
||||
ruby wpscan.rb --url www.example.com
|
||||
|
||||
Do wordlist password brute force on enumerated users using 50 threads...
|
||||
|
||||
ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50
|
||||
|
||||
Do wordlist password brute force on the 'admin' username only...
|
||||
|
||||
ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin
|
||||
|
||||
Enumerate installed plugins...
|
||||
|
||||
ruby wpscan.rb --url www.example.com --enumerate p
|
||||
|
||||
==WPSTOOLS ARGUMENTS==
|
||||
|
||||
--help | -h This help screen.
|
||||
--Verbose | -v Verbose output.
|
||||
--update | -u Update to the latest revision.
|
||||
--generate_plugin_list [number of pages] Generate a new data/plugins.txt file. (supply number of *pages* to parse, default : 150)
|
||||
--gpl Alias for --generate_plugin_list
|
||||
--check-local-vulnerable-files | --clvf <local directory> Perform a recursive scan in the <local directory> to find vulnerable files or shells
|
||||
|
||||
==WPSTOOLS EXAMPLES==
|
||||
|
||||
- Generate a new 'most popular' plugin list, up to 150 pages ...
|
||||
ruby wpstools.rb --generate_plugin_list 150
|
||||
|
||||
- Locally scan a wordpress installation for vulnerable files or shells :
|
||||
ruby wpstools.rb --check-local-vulnerable-files /var/www/wordpress/
|
||||
|
||||
===PROJECT HOME===
|
||||
|
||||
www.wpscan.org
|
||||
|
||||
===REPOSITORY===
|
||||
|
||||
https://github.com/wpscanteam/wpscan
|
||||
|
||||
===ISSUES===
|
||||
|
||||
https://github.com/wpscanteam/wpscan/issues
|
||||
|
||||
===SPONSOR===
|
||||
|
||||
WPScan is sponsored by the RandomStorm Open Source Initiative.
|
||||
|
||||
Visit RandomStorm at http://www.randomstorm.com
|
||||
309
README.md
@@ -1,98 +1,182 @@
|
||||

|
||||

|
||||
|
||||
|
||||
[](https://travis-ci.org/wpscanteam/wpscan)
|
||||
[](https://codeclimate.com/github/wpscanteam/wpscan)
|
||||
[](https://gemnasium.com/wpscanteam/wpscan)
|
||||
|
||||
#### LICENSE
|
||||
|
||||
WPScan - WordPress Security Scanner
|
||||
Copyright (C), 2011-2013 The WPScan Team
|
||||
#### WPScan Public Source License
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
The WPScan software (henceforth referred to simply as "WPScan") is dual-licensed - Copyright 2011-2016 WPScan Team.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
Cases that include commercialization of WPScan require a commercial, non-free license. Otherwise, WPScan can be used without charge under the terms set out below.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
##### 1. Definitions
|
||||
|
||||
ryandewhurst at gmail
|
||||
1.1 "License" means this document.
|
||||
|
||||
1.2 "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns WPScan.
|
||||
|
||||
1.3 "WPScan Team" means WPScan’s core developers, an updated list of whom can be found within the CREDITS file.
|
||||
|
||||
##### 2. Commercialization
|
||||
|
||||
A commercial use is one intended for commercial advantage or monetary compensation.
|
||||
|
||||
Example cases of commercialization are:
|
||||
|
||||
- Using WPScan to provide commercial managed/Software-as-a-Service services.
|
||||
- Distributing WPScan as a commercial product or as part of one.
|
||||
- Using WPScan as a value added service/product.
|
||||
|
||||
Example cases which do not require a commercial license, and thus fall under the terms set out below, include (but are not limited to):
|
||||
|
||||
- Penetration testers (or penetration testing organizations) using WPScan as part of their assessment toolkit.
|
||||
- Penetration Testing Linux Distributions including but not limited to Kali Linux, SamuraiWTF, BackBox Linux.
|
||||
- Using WPScan to test your own systems.
|
||||
- Any non-commercial use of WPScan.
|
||||
|
||||
If you need to purchase a commercial license or are unsure whether you need to purchase a commercial license contact us - team@wpscan.org.
|
||||
|
||||
We may grant commercial licenses at no monetary cost at our own discretion if the commercial usage is deemed by the WPScan Team to significantly benefit WPScan.
|
||||
|
||||
Free-use Terms and Conditions;
|
||||
|
||||
##### 3. Redistribution
|
||||
|
||||
Redistribution is permitted under the following conditions:
|
||||
|
||||
- Unmodified License is provided with WPScan.
|
||||
- Unmodified Copyright notices are provided with WPScan.
|
||||
- Does not conflict with the commercialization clause.
|
||||
|
||||
##### 4. Copying
|
||||
|
||||
Copying is permitted so long as it does not conflict with the Redistribution clause.
|
||||
|
||||
##### 5. Modification
|
||||
|
||||
Modification is permitted so long as it does not conflict with the Redistribution clause.
|
||||
|
||||
##### 6. Contributions
|
||||
|
||||
Any Contributions assume the Contributor grants the WPScan Team the unlimited, non-exclusive right to reuse, modify and relicense the Contributor's content.
|
||||
|
||||
##### 7. Support
|
||||
|
||||
WPScan is provided under an AS-IS basis and without any support, updates or maintenance. Support, updates and maintenance may be given according to the sole discretion of the WPScan Team.
|
||||
|
||||
##### 8. Disclaimer of Warranty
|
||||
|
||||
WPScan is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the WPScan is free of defects, merchantable, fit for a particular purpose or non-infringing.
|
||||
|
||||
##### 9. Limitation of Liability
|
||||
|
||||
To the extent permitted under Law, WPScan is provided under an AS-IS basis. The WPScan Team shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred as a result of WPScan's actions, failure, bugs and/or any other interaction between WPScan and end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.
|
||||
|
||||
##### 10. Disclaimer
|
||||
|
||||
Running WPScan against websites without prior mutual consent may be illegal in your country. The WPScan Team accept no liability and are not responsible for any misuse or damage caused by WPScan.
|
||||
|
||||
#### INSTALL
|
||||
|
||||
WPScan comes pre-installed on the following Linux distributions:
|
||||
|
||||
- [BackBox Linux](http://www.backbox.org/)
|
||||
- [BackTrack Linux](http://www.backtrack-linux.org/) (outdated WPScan installed, update needed)
|
||||
- [Kali Linux](http://www.kali.org/)
|
||||
- [Pentoo](http://www.pentoo.ch/)
|
||||
- [SamuraiWTF](http://samurai.inguardians.com/)
|
||||
- [BlackArch](http://blackarch.org/)
|
||||
|
||||
Prerequisites:
|
||||
|
||||
- Windows not supported
|
||||
- Ruby => 1.9
|
||||
- RubyGems
|
||||
- Ruby >= 2.1.9 - Recommended: 2.3.1
|
||||
- Curl >= 7.21 - Recommended: latest - FYI the 7.29 has a segfault
|
||||
- RubyGems - Recommended: latest
|
||||
- Git
|
||||
|
||||
*Installing on Debian/Ubuntu:*
|
||||
Windows is not supported.
|
||||
If installed from Github update the code base with ```git pull```. The databases are updated with ```wpscan.rb --update```.
|
||||
|
||||
```sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev```
|
||||
####Installing on Ubuntu:
|
||||
|
||||
```git clone https://github.com/wpscanteam/wpscan.git```
|
||||
Before Ubuntu 14.04:
|
||||
|
||||
```cd wpscan```
|
||||
sudo apt-get install libcurl4-openssl-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test
|
||||
|
||||
```sudo gem install bundler && bundle install --without test development```
|
||||
From Ubuntu 14.04:
|
||||
|
||||
*Installing on Fedora:*
|
||||
sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential libgmp-dev
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test
|
||||
|
||||
```sudo yum install libcurl-devel```
|
||||
####Installing on Debian:
|
||||
|
||||
```git clone https://github.com/wpscanteam/wpscan.git```
|
||||
sudo apt-get install git ruby ruby-dev libcurl4-openssl-dev make zlib1g-dev
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler
|
||||
bundle install --without test --path vendor/bundle
|
||||
|
||||
```cd wpscan```
|
||||
####Installing on Fedora:
|
||||
|
||||
```sudo gem install bundler && bundle install --without test development```
|
||||
sudo dnf install gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel patch rpm-build
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test
|
||||
|
||||
*Installing on Archlinux:*
|
||||
####Installing on Archlinux:
|
||||
|
||||
```pacman -Sy ruby```
|
||||
pacman -Syu ruby
|
||||
pacman -Syu libyaml
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && bundle install --without test
|
||||
gem install typhoeus
|
||||
gem install nokogiri
|
||||
|
||||
```pacman -Sy libyaml```
|
||||
####Installing on Mac OSX:
|
||||
|
||||
```git clone https://github.com/wpscanteam/wpscan.git```
|
||||
Apple Xcode, Command Line Tools and the libffi are needed (to be able to install the FFI gem), See [http://stackoverflow.com/questions/17775115/cant-setup-ruby-environment-installing-fii-gem-error](http://stackoverflow.com/questions/17775115/cant-setup-ruby-environment-installing-fii-gem-error)
|
||||
|
||||
```cd wpscan```
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
sudo gem install bundler && sudo bundle install --without test
|
||||
|
||||
```sudo gem install bundler && bundle install --without test development```
|
||||
####Installing with RVM (recommended):
|
||||
|
||||
```gem install typhoeus```
|
||||
|
||||
```gem install nokogiri```
|
||||
|
||||
*Installing on Mac OSX:*
|
||||
|
||||
```git clone https://github.com/wpscanteam/wpscan.git```
|
||||
|
||||
```cd wpscan```
|
||||
|
||||
```sudo gem install bundler && bundle install --without test development```
|
||||
# Install all prerequisites for your OS (look above)
|
||||
cd ~
|
||||
curl -sSL https://get.rvm.io | bash -s stable
|
||||
source ~/.rvm/scripts/rvm
|
||||
echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc
|
||||
rvm install 2.3.1
|
||||
rvm use 2.3.1 --default
|
||||
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
|
||||
gem install bundler
|
||||
git clone https://github.com/wpscanteam/wpscan.git
|
||||
cd wpscan
|
||||
gem install bundler
|
||||
bundle install --without test
|
||||
|
||||
#### KNOWN ISSUES
|
||||
|
||||
- Typhoeus segmentation fault
|
||||
|
||||
Update cURL to version => 7.21 (may have to install from source)
|
||||
See http://code.google.com/p/wpscan/issues/detail?id=81
|
||||
|
||||
- Proxy not working
|
||||
|
||||
Update cURL to version => 7.21.7 (may have to install from source).
|
||||
|
||||
Installation from sources :
|
||||
```
|
||||
|
||||
Grab the sources from http://curl.haxx.se/download.html
|
||||
Decompress the archive
|
||||
Open the folder with the extracted files
|
||||
@@ -100,31 +184,36 @@ Prerequisites:
|
||||
Run make
|
||||
Run sudo make install
|
||||
Run sudo ldconfig
|
||||
```
|
||||
|
||||
|
||||
- cannot load such file -- readline:
|
||||
|
||||
```sudo aptitude install libreadline5-dev libncurses5-dev```
|
||||
sudo aptitude install libreadline5-dev libncurses5-dev
|
||||
|
||||
Then, open the directory of the readline gem (you have to locate it)
|
||||
```
|
||||
cd ~/.rvm/src/ruby-1.9.2-p180/ext/readline
|
||||
|
||||
cd ~/.rvm/src/ruby-XXXX/ext/readline
|
||||
ruby extconf.rb
|
||||
make
|
||||
make install
|
||||
```
|
||||
|
||||
See http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/ for more details
|
||||
|
||||
See [http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/](http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/) for more details
|
||||
|
||||
- no such file to load -- rubygems
|
||||
|
||||
```update-alternatives --config ruby```
|
||||
|
||||
And select your ruby version
|
||||
|
||||
See [https://github.com/wpscanteam/wpscan/issues/148](https://github.com/wpscanteam/wpscan/issues/148)
|
||||
|
||||
#### WPSCAN ARGUMENTS
|
||||
|
||||
--update Update to the latest revision
|
||||
|
||||
--url | -u <target url> The WordPress URL/domain to scan.
|
||||
|
||||
--force | -f Forces WPScan to not check if the remote site is running WordPress.
|
||||
|
||||
--enumerate | -e [option(s)] Enumeration.
|
||||
--update Update the database to the latest version.
|
||||
--url | -u <target url> The WordPress URL/domain to scan.
|
||||
--force | -f Forces WPScan to not check if the remote site is running WordPress.
|
||||
--enumerate | -e [option(s)] Enumeration.
|
||||
option :
|
||||
u usernames from id 1 to 10
|
||||
u[10-20] usernames from id 10 to 20 (you must write [] chars)
|
||||
@@ -135,36 +224,39 @@ Prerequisites:
|
||||
t themes
|
||||
vt only vulnerable themes
|
||||
at all themes (can take a long time)
|
||||
Multiple values are allowed : '-e tt,p' will enumerate timthumbs and plugins
|
||||
If no option is supplied, the default is 'vt,tt,u,vp'
|
||||
Multiple values are allowed : "-e tt,p" will enumerate timthumbs and plugins
|
||||
If no option is supplied, the default is "vt,tt,u,vp"
|
||||
|
||||
--exclude-content-based '<regexp or string>' Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied
|
||||
You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)
|
||||
|
||||
--config-file | -c <config file> Use the specified config file
|
||||
|
||||
--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not
|
||||
|
||||
--wp-content-dir <wp content dir> WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed
|
||||
|
||||
--wp-plugins-dir <wp plugins dir> Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed
|
||||
|
||||
--proxy <[protocol://]host:port> Supply a proxy (will override the one from conf/browser.conf.json).
|
||||
HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used
|
||||
|
||||
--proxy-auth <username:password> Supply the proxy login credentials (will override the one from conf/browser.conf.json).
|
||||
|
||||
--basic-auth <username:password> Set the HTTP Basic authentication
|
||||
|
||||
--wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute.
|
||||
|
||||
--threads | -t <number of threads> The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)
|
||||
|
||||
--username | -U <username> Only brute force the supplied username.
|
||||
|
||||
--help | -h This help screen.
|
||||
|
||||
--verbose | -v Verbose output.
|
||||
--exclude-content-based "<regexp or string>"
|
||||
Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied.
|
||||
You do not need to provide the regexp delimiters, but you must write the quotes (simple or double).
|
||||
--config-file | -c <config file> Use the specified config file, see the example.conf.json.
|
||||
--user-agent | -a <User-Agent> Use the specified User-Agent.
|
||||
--cookie <String> String to read cookies from.
|
||||
--random-agent | -r Use a random User-Agent.
|
||||
--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not
|
||||
--batch Never ask for user input, use the default behaviour.
|
||||
--no-color Do not use colors in the output.
|
||||
--wp-content-dir <wp content dir> WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it.
|
||||
Subdirectories are allowed.
|
||||
--wp-plugins-dir <wp plugins dir> Same thing than --wp-content-dir but for the plugins directory.
|
||||
If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed
|
||||
--proxy <[protocol://]host:port> Supply a proxy. HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported.
|
||||
If no protocol is given (format host:port), HTTP will be used.
|
||||
--proxy-auth <username:password> Supply the proxy login credentials.
|
||||
--basic-auth <username:password> Set the HTTP Basic authentication.
|
||||
--wordlist | -w <wordlist> Supply a wordlist for the password brute forcer.
|
||||
--username | -U <username> Only brute force the supplied username.
|
||||
--usernames <path-to-file> Only brute force the usernames from the file.
|
||||
--threads | -t <number of threads> The number of threads to use when multi-threading requests.
|
||||
--cache-ttl <cache-ttl> Typhoeus cache TTL.
|
||||
--request-timeout <request-timeout> Request Timeout.
|
||||
--connect-timeout <connect-timeout> Connect Timeout.
|
||||
--max-threads <max-threads> Maximum Threads.
|
||||
--throttle <milliseconds> Milliseconds to wait before doing another web request. If used, the --threads should be set to 1.
|
||||
--help | -h This help screen.
|
||||
--verbose | -v Verbose output.
|
||||
--version Output the current version and exit.
|
||||
|
||||
#### WPSCAN EXAMPLES
|
||||
|
||||
@@ -192,41 +284,34 @@ Use custom content directory...
|
||||
|
||||
```ruby wpscan.rb -u www.example.com --wp-content-dir custom-content```
|
||||
|
||||
Update WPScan...
|
||||
Update WPScan's databases...
|
||||
|
||||
```ruby wpscan.rb --update```
|
||||
|
||||
#### WPSTOOLS ARGUMENTS
|
||||
|
||||
--help | -h This help screen.
|
||||
--Verbose | -v Verbose output.
|
||||
--update | -u Update to the latest revision.
|
||||
--generate_plugin_list [number of pages] Generate a new data/plugins.txt file. (supply number of *pages* to parse, default : 150)
|
||||
--gpl Alias for --generate_plugin_list
|
||||
--check-local-vulnerable-files | --clvf <local directory> Perform a recursive scan in the <local directory> to find vulnerable files or shells
|
||||
|
||||
#### WPSTOOLS EXAMPLES
|
||||
|
||||
Generate a new 'most popular' plugin list, up to 150 pages...
|
||||
|
||||
```ruby wpstools.rb --generate_plugin_list 150```
|
||||
|
||||
Locally scan a wordpress installation for vulnerable files or shells :
|
||||
```ruby wpstools.rb --check-local-vulnerable-files /var/www/wordpress/```
|
||||
Debug output...
|
||||
|
||||
```ruby wpscan.rb --url www.example.com --debug-output 2>debug.log```
|
||||
|
||||
#### PROJECT HOME
|
||||
|
||||
www.wpscan.org
|
||||
[http://www.wpscan.org](http://www.wpscan.org)
|
||||
|
||||
#### VULNERABILITY DATABASE
|
||||
|
||||
[https://wpvulndb.com](https://wpvulndb.com)
|
||||
|
||||
#### GIT REPOSITORY
|
||||
|
||||
https://github.com/wpscanteam/wpscan
|
||||
[https://github.com/wpscanteam/wpscan](https://github.com/wpscanteam/wpscan)
|
||||
|
||||
#### ISSUES
|
||||
|
||||
https://github.com/wpscanteam/wpscan/issues
|
||||
[https://github.com/wpscanteam/wpscan/issues](https://github.com/wpscanteam/wpscan/issues)
|
||||
|
||||
#### SPONSOR
|
||||
#### DEVELOPER DOCUMENTATION
|
||||
|
||||
WPScan is sponsored by the [RandomStorm](http://www.randomstorm.com) Open Source Initiative.
|
||||
[http://rdoc.info/github/wpscanteam/wpscan/frames](http://rdoc.info/github/wpscanteam/wpscan/frames)
|
||||
|
||||
#### SPECIAL THANKS
|
||||
|
||||
[RandomStorm](https://www.randomstorm.com)
|
||||
|
||||
4
cache/.gitignore
vendored
@@ -1,4 +0,0 @@
|
||||
# Ignore everything in this directory
|
||||
*
|
||||
# Except this file
|
||||
!.gitignore
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0) Gecko/20100101 Firefox/9.0",
|
||||
/* Modes :
|
||||
static : will use the defined user_agent for each request
|
||||
semi-static : will randomly choose a user agent into available_user_agents before each scan
|
||||
random : each request will choose a random user agent in available_user_agents
|
||||
*/
|
||||
"user_agent_mode": "static",
|
||||
|
||||
/* Uncomment the "proxy" line to use the proxy
|
||||
SOCKS proxies (4, 4A, 5) are supported, ie : "proxy": "socks5://127.0.0.1:9000"
|
||||
If you do not specify the protocol, http will be used
|
||||
*/
|
||||
//"proxy": "127.0.0.1:3128",
|
||||
//"proxy_auth": "username:password",
|
||||
|
||||
"cache_ttl": 600, // 10 minutes, at this time the cache is cleaned before each scan. If this value is set to 0, the cache will be disabled
|
||||
|
||||
"request_timeout": 2000, // 2s
|
||||
|
||||
"max_threads": 20,
|
||||
|
||||
// Some user_agents can be found there http://techpatterns.com/downloads/firefox/useragentswitcher.xml (thx to Gianluca Brindisi)
|
||||
"available_user_agents":
|
||||
[
|
||||
// Windows
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.601.0 Safari/534.14",
|
||||
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27",
|
||||
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0E)",
|
||||
"Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
|
||||
"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
|
||||
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1",
|
||||
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",
|
||||
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1",
|
||||
"Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120403211507 Firefox/12.0",
|
||||
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1",
|
||||
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)",
|
||||
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
||||
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0)",
|
||||
"Opera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.9.181 Version/12.00",
|
||||
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5",
|
||||
|
||||
// MAC
|
||||
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.15 Safari/534.13",
|
||||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
|
||||
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2; rv:10.0.1) Gecko/20100101 Firefox/10.0.1",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10",
|
||||
|
||||
// Linux
|
||||
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.20 Safari/535.1",
|
||||
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.703.0 Chrome/12.0.703.0 Safari/534.24",
|
||||
"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100915 Gentoo Firefox/3.6.9",
|
||||
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20120421 Gecko Firefox/11.0",
|
||||
"Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0",
|
||||
"Opera/9.80 (X11; Linux x86_64; U; pl) Presto/2.7.62 Version/11.00",
|
||||
"Mozilla/5.0 (X11; U; Linux x86_64; us; rv:1.9.1.19) Gecko/20110430 shadowfox/7.0 (like Firefox/7.0"
|
||||
]
|
||||
}
|
||||
2
data/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
@@ -1,66 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
# WPScan - WordPress Security Scanner
|
||||
# Copyright (C) 2012-2013
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Only he following extensions are scanned : js, php, swf, html, htm
|
||||
If you want to add one, modify the variable file_extension_to_scan, line 191 in wpstools.rb
|
||||
-->
|
||||
|
||||
<hashes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="local_vulnerable_files.xsd">
|
||||
|
||||
<hash sha1="17c372678aafb3bc1a7b37320b5cc1d8af433527">
|
||||
<title>XSS in swfupload.swf</title>
|
||||
<file>swfupload.swf</file>
|
||||
<reference>http://brindi.si/g/blog/vulnerable-swf-bundled-in-wordpress-plugins.html</reference>
|
||||
</hash>
|
||||
|
||||
<hash sha1="775dc1089829ef07838406def28a4d8bfef69d66">
|
||||
<title>Arbitrary File Upload Vulnerability</title>
|
||||
<file>php.php</file>
|
||||
<reference>http://packetstormsecurity.com/files/119241/wpvalums-shell.txt</reference>
|
||||
</hash>
|
||||
|
||||
<!-- This one a is the same as above, but the postSize verification has been removed -->
|
||||
<hash sha1="5e8f0d5a917d2937318a9bafd0529135bd473e70">
|
||||
<title>Arbitrary File Upload Vulnerability</title>
|
||||
<file>php.php</file>
|
||||
<reference>http://packetstormsecurity.com/files/119218/wpreflexgallery-shell.txt</reference>
|
||||
</hash>
|
||||
|
||||
<hash sha1="3f9ad05b05b65ee2b6efa1373f708293dd2005c7">
|
||||
<title>Arbitrary File Upload Vulnerability</title>
|
||||
<file>uploadify.php</file>
|
||||
<reference>http://packetstormsecurity.com/files/119219/wpuploader104-shell.txt</reference>
|
||||
</hash>
|
||||
|
||||
<hash sha1="ac638cc38f011b74a8d9a4e7d3d60358e472166c">
|
||||
<title>Inline phpinfo()</title>
|
||||
<file>phpinfo.php</file>
|
||||
<reference>http://php.net/manual/en/function.phpinfo.php</reference>
|
||||
</hash>
|
||||
|
||||
<hash sha1="012ee25cceff745e681fbb3697a06f3712f55554">
|
||||
<title>phpinfo()</title>
|
||||
<file>phpinfo.php</file>
|
||||
<reference>http://php.net/manual/en/function.phpinfo.php</reference>
|
||||
</hash>
|
||||
|
||||
</hashes>
|
||||
@@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
# WPScan - WordPress Security Scanner
|
||||
# Copyright (C) 2012-2013
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:simpleType name="stringtype">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="uritype">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="sha1type">
|
||||
<xs:restriction base="stringtype">
|
||||
<xs:pattern value="[0-9a-f]{40}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="hashtype">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="title" type="stringtype"/>
|
||||
<xs:element name="file" type="stringtype"/>
|
||||
<xs:element name="reference" type="uritype"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="sha1type" name="sha1" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="hashes">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="hash" type="hashtype" maxOccurs="unbounded" minOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
||||
@@ -1,3 +0,0 @@
|
||||
http://.*\.rr\.nu
|
||||
http://www\.thesea\.org/media\.php
|
||||
|
||||
2200
data/plugins.txt
33640
data/plugins_full.txt
1235
data/theme_vulns.xml
1555
data/themes.txt
6542
data/themes_full.txt
2446
data/timthumbs.txt
@@ -1,97 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
# WPScan - WordPress Security Scanner
|
||||
# Copyright (C) 2012-2013
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:simpleType name="stringtype">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="uritype">
|
||||
<xs:restriction base="xs:anyURI">
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="typetype">
|
||||
<xs:restriction base="stringtype">
|
||||
<xs:enumeration value="SQLI"/>
|
||||
<xs:enumeration value="MULTI"/>
|
||||
<xs:enumeration value="REDIRECT"/>
|
||||
<xs:enumeration value="RCE"/>
|
||||
<xs:enumeration value="RFI"/>
|
||||
<xs:enumeration value="LFI"/>
|
||||
<xs:enumeration value="UPLOAD"/>
|
||||
<xs:enumeration value="UNKNOWN"/>
|
||||
<xs:enumeration value="XSS"/>
|
||||
<xs:enumeration value="CSRF"/>
|
||||
<xs:enumeration value="AUTHBYPASS"/>
|
||||
<xs:enumeration value="FPD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="itemtype">
|
||||
<xs:sequence>
|
||||
<xs:element name="vulnerability" type="vulntype" maxOccurs="unbounded" minOccurs="1" />
|
||||
</xs:sequence>
|
||||
<xs:attribute type="stringtype" name="name" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="wordpresstype">
|
||||
<xs:sequence>
|
||||
<xs:element name="vulnerability" type="vulntype" maxOccurs="unbounded" minOccurs="1" />
|
||||
</xs:sequence>
|
||||
<xs:attribute type="stringtype" name="version" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="vulntype">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="title" type="stringtype"/>
|
||||
<xs:element name="reference" type="uritype" maxOccurs="unbounded" minOccurs="1"/>
|
||||
<xs:element name="metasploit" type="stringtype" maxOccurs="unbounded" minOccurs="0"/>
|
||||
<xs:element name="type" type="typetype"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="vulnerabilities">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="plugin" type="itemtype" maxOccurs="unbounded" minOccurs="0"/>
|
||||
<xs:element name="theme" type="itemtype" maxOccurs="unbounded" minOccurs="0"/>
|
||||
<xs:element name="wordpress" type="wordpresstype" maxOccurs="unbounded" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:unique name="uniquePlugin">
|
||||
<xs:selector xpath="plugin"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:unique>
|
||||
<xs:unique name="uniqueTheme">
|
||||
<xs:selector xpath="theme"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:unique>
|
||||
<xs:unique name="uniqueWordpress">
|
||||
<xs:selector xpath="wordpress"/>
|
||||
<xs:field xpath="@version"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
||||
@@ -1,224 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
# WPScan - WordPress Security Scanner
|
||||
# Copyright (C) 2012-2013
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--
|
||||
This file contains identification data to identify WordPress verions.
|
||||
http://wordpress.org/download/release-archive/
|
||||
|
||||
Position is important, DO NOT change anything unless you know what you are doing :p
|
||||
-->
|
||||
|
||||
<wp-versions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="wp_versions.xsd">
|
||||
|
||||
<file src="wp-includes/js/tiny_mce.js">
|
||||
<hash md5="6e79ab6d786c5c95920064add33ee599">
|
||||
<version>3.5.1</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="55cd8e5ceca9c1763b1401164d70df50">
|
||||
<version>3.5</version>
|
||||
</hash>
|
||||
</file>
|
||||
|
||||
<file src="wp-includes/js/wp-lists.js">
|
||||
<hash md5="46e1341cd4ea49f31046f7d7962adc7f">
|
||||
<version>3.4.2</version>
|
||||
</hash>
|
||||
</file>
|
||||
|
||||
<file src="wp-includes/js/customize-preview.js">
|
||||
<hash md5="617d9fd858e117c7d1d087be168b5643">
|
||||
<version>3.4.1</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="da36bc2dfcb13350c799b62de68dfa4b">
|
||||
<version>3.4</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="a8a259fc5197a78ffe62d6be38dc52f8">
|
||||
<version>3.4-beta4</version>
|
||||
</hash>
|
||||
</file>
|
||||
|
||||
<file src="wp-includes/js/plupload/plupload.js">
|
||||
|
||||
<hash md5="85199c05db63fcb5880de4af8be7b571">
|
||||
<version>3.3.2</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="$wp-content$/themes/twentyeleven/style.css">
|
||||
|
||||
<!-- same md5 for 3.3.2 -->
|
||||
<hash md5="030d3bac906ba69e9fbc99c5bac54a8e">
|
||||
<version>3.3.1</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-admin/js/wp-fullscreen.js">
|
||||
|
||||
<hash md5="5675f7793f171b6424bf72f9d7bf4d9a">
|
||||
<version>3.2.1</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="7b423e0b7c9221092737ad5271d09863">
|
||||
<version>3.2</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-admin/js/common.js">
|
||||
|
||||
<hash md5="4516252d47a73630280869994d510180">
|
||||
<version>3.3</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-includes/css/admin-bar.css">
|
||||
|
||||
<hash md5="181250fab3a7e2549a7e7fa21c2e6079">
|
||||
<version>3.1</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="$wp-content$/themes/twentyten/style.css">
|
||||
|
||||
<hash md5="6211e2ac1463bf99e98f28ab63e47c54">
|
||||
<version>3.0</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="$wp-plugins$/akismet/readme.txt">
|
||||
|
||||
<hash md5="4d5e52da417aa0101054bd41e6243389">
|
||||
<version>2.8.6</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="58e086dea9d24ed074fe84ba87386c69">
|
||||
<version>2.8.5</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="48c52025b5f28731e9a0c864c189c2e7">
|
||||
<version>2.8.2</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-includes/js/wp-ajax-response.js">
|
||||
|
||||
<hash md5="0289d1c13821599764774d55516ab81a">
|
||||
<version>2.7.1</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-includes/js/thickbox/thickbox.css">
|
||||
|
||||
<hash md5="9c2bd2be0893adbe02a0f864526734c2">
|
||||
<version>2.7</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js">
|
||||
|
||||
<hash md5="5b140ddf0f08034402ae78b31d8a1a28">
|
||||
<version>2.6</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-includes/js/tinymce/themes/advanced/js/image.js">
|
||||
|
||||
<hash md5="088245408531c58bb52cc092294cc384">
|
||||
<version>2.5.1</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-includes/js/tinymce/themes/advanced/js/link.js">
|
||||
|
||||
<hash md5="19c6f3118728c38eb7779aab4847d2d9">
|
||||
<version>2.5</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-includes/js/wp-ajax.js">
|
||||
|
||||
<hash md5="c5dbce0c3232c477033e0ce486c62755">
|
||||
<version>2.2</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="$wp-content$/themes/default/style.css">
|
||||
|
||||
<hash md5="e44545f529a54de88209ce588676231c">
|
||||
<version>2.0.1</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="f786f66d3a40846aa22dcdfeb44fa562">
|
||||
<version>2.0</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
|
||||
<file src="wp-layout.css">
|
||||
|
||||
<hash md5="7140e06c00ed03d2bb3dad7672557510">
|
||||
<version>1.2.1</version>
|
||||
</hash>
|
||||
|
||||
<hash md5="1bcc9253506c067eb130c9fc4f211a2f">
|
||||
<version>1.2-delta</version>
|
||||
</hash>
|
||||
</file>
|
||||
|
||||
|
||||
<file src="layout2b.css">
|
||||
|
||||
<hash md5="baec6b6ccbf71d8dced9f1bf67c751e1">
|
||||
<version>0.71-gold</version>
|
||||
</hash>
|
||||
|
||||
</file>
|
||||
|
||||
</wp-versions>
|
||||
@@ -1,57 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
# WPScan - WordPress Security Scanner
|
||||
# Copyright (C) 2012-2013
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:simpleType name="stringtype">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="filetype">
|
||||
<xs:sequence>
|
||||
<xs:element name="hash" type="hashtype" maxOccurs="unbounded" minOccurs="1"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="stringtype" name="src" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="md5type">
|
||||
<xs:restriction base="stringtype">
|
||||
<xs:pattern value="[0-9a-f]{32}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="hashtype">
|
||||
<xs:sequence minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="version" type="stringtype"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="md5type" name="md5" use="required"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:element name="wp-versions">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="file" type="filetype" maxOccurs="unbounded" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
||||
1346
data/wp_vulns.xml
41
dev/pre-commit-hook.rb
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
# from the top level dir:
|
||||
# ln -sf ../../dev/pre-commit-hook.rb .git/hooks/pre-commit
|
||||
|
||||
require 'pty'
|
||||
html_path = 'rspec_results.html'
|
||||
|
||||
begin
|
||||
PTY.spawn( "rspec spec --format h > #{html_path}" ) do |stdin, stdout, pid|
|
||||
begin
|
||||
stdin.each { |line| print line }
|
||||
rescue Errno::EIO => e
|
||||
puts "Error: #{e.to.s}"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
rescue PTY::ChildExited
|
||||
puts 'Child process exit!'
|
||||
end
|
||||
|
||||
# find out if there were any errors
|
||||
html = open(html_path).read
|
||||
examples = html.match(/(\d+) examples/)[0].to_i rescue 0
|
||||
errors = html.match(/(\d+) errors/)[0].to_i rescue 0
|
||||
if errors == 0
|
||||
errors = html.match(/(\d+) failure/)[0].to_i rescue 0
|
||||
end
|
||||
pending = html.match(/(\d+) pending/)[0].to_i rescue 0
|
||||
|
||||
if errors.zero?
|
||||
puts "0 failed! #{examples} run, #{pending} pending"
|
||||
sleep 1
|
||||
exit 0
|
||||
else
|
||||
puts "\aCOMMIT FAILED!!"
|
||||
puts "View your rspec results at #{File.expand_path(html_path)}"
|
||||
puts
|
||||
puts "#{errors} failed! #{examples} run, #{pending} pending"
|
||||
exit 1
|
||||
end
|
||||
19
dev/stats.rb
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env ruby
|
||||
# encoding: UTF-8
|
||||
|
||||
require File.dirname(__FILE__) + '/../lib/wpscan/wpscan_helper'
|
||||
|
||||
wordpress_json = json(WORDPRESSES_FILE)
|
||||
plugins_json = json(PLUGINS_FILE)
|
||||
themes_json = json(THEMES_FILE)
|
||||
|
||||
puts 'WPScan Database Statistics:'
|
||||
puts "* Total tracked wordpresses: #{wordpress_json.count}"
|
||||
puts "* Total tracked plugins: #{plugins_json.count}"
|
||||
puts "* Total tracked themes: #{themes_json.count}"
|
||||
puts "* Total vulnerable wordpresses: #{wordpress_json.select { |item| !wordpress_json[item]['vulnerabilities'].empty? }.count}"
|
||||
puts "* Total vulnerable plugins: #{plugins_json.select { |item| !plugins_json[item]['vulnerabilities'].empty? }.count}"
|
||||
puts "* Total vulnerable themes: #{themes_json.select { |item| !themes_json[item]['vulnerabilities'].empty? }.count}"
|
||||
puts "* Total wordpress vulnerabilities: #{}"
|
||||
puts "* Total plugin vulnerabilities: #{}"
|
||||
puts "* Total theme vulnerabilities: #{}"
|
||||
291
doc/Array.html
@@ -1,291 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class Array - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/common_helper.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-_grep_">#_grep_</a>
|
||||
|
||||
<li><a href="#method-i-grep">#grep</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class Array</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-_grep_" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">_grep_</span><span
|
||||
class="method-args">(regexp)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Fix for grep with symbols in ruby <= 1.8.7</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="_grep_-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 111</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_grep_</span>(<span class="ruby-identifier">regexp</span>)
|
||||
<span class="ruby-identifier">matches</span> = []
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">matches</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">value</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">regexp</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">matches</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- _grep_-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="aliases">
|
||||
Also aliased as: <a href="Array.html#method-i-grep">grep</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div><!-- _grep_-method -->
|
||||
|
||||
|
||||
<div id="method-i-grep" class="method-detail method-alias">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">grep</span><span
|
||||
class="method-args">(regexp)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="aliases">
|
||||
Alias for: <a href="Array.html#method-i-_grep_">_grep_</a>
|
||||
</div>
|
||||
|
||||
</div><!-- grep-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
756
doc/Browser.html
@@ -1,756 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class Browser - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/browser.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-instance">::instance</a>
|
||||
|
||||
<li><a href="#method-c-reset">::reset</a>
|
||||
|
||||
<li><a href="#method-i-forge_request">#forge_request</a>
|
||||
|
||||
<li><a href="#method-i-get">#get</a>
|
||||
|
||||
<li><a href="#method-i-load_config">#load_config</a>
|
||||
|
||||
<li><a href="#method-i-max_threads-3D">#max_threads=</a>
|
||||
|
||||
<li><a href="#method-i-merge_request_params">#merge_request_params</a>
|
||||
|
||||
<li><a href="#method-i-post">#post</a>
|
||||
|
||||
<li><a href="#method-i-proxy_auth-3D">#proxy_auth=</a>
|
||||
|
||||
<li><a href="#method-i-raise_invalid_proxy_auth_format">#raise_invalid_proxy_auth_format</a>
|
||||
|
||||
<li><a href="#method-i-user_agent">#user_agent</a>
|
||||
|
||||
<li><a href="#method-i-user_agent_mode-3D">#user_agent_mode=</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class Browser</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Constants -->
|
||||
<section id="constants-list" class="section">
|
||||
<h3 class="section-header">Constants</h3>
|
||||
<dl>
|
||||
|
||||
<dt id="ACCESSOR_OPTIONS">ACCESSOR_OPTIONS
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="USER_AGENT_MODES">USER_AGENT_MODES
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-config_file" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">config_file</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-hydra" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">hydra</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-instance" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">instance</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="instance-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 64</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">@@instance</span>
|
||||
<span class="ruby-identifier">@@instance</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">@@instance</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- instance-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- instance-method -->
|
||||
|
||||
|
||||
<div id="method-c-reset" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">reset</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="reset-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 71</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">reset</span>
|
||||
<span class="ruby-identifier">@@instance</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- reset-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- reset-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-forge_request" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">forge_request</span><span
|
||||
class="method-args">(url, params = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="forge_request-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 178</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">params</span> = {})
|
||||
<span class="ruby-constant">Typhoeus</span><span class="ruby-operator">::</span><span class="ruby-constant">Request</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">url</span>.<span class="ruby-identifier">to_s</span>,
|
||||
<span class="ruby-identifier">merge_request_params</span>(<span class="ruby-identifier">params</span>)
|
||||
)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- forge_request-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- forge_request-method -->
|
||||
|
||||
|
||||
<div id="method-i-get" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get</span><span
|
||||
class="method-args">(url, params = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 166</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">params</span> = {})
|
||||
<span class="ruby-identifier">run_request</span>(
|
||||
<span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:method</span> =<span class="ruby-operator">></span> <span class="ruby-value">:get</span>))
|
||||
)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get-method -->
|
||||
|
||||
|
||||
<div id="method-i-load_config" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">load_config</span><span
|
||||
class="method-args">(config_file = nil)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>TODO reload hydra (if the .<a
|
||||
href="Browser.html#method-i-load_config">#load_config</a> is called on a
|
||||
browser object, hydra will not have the new @max_threads and
|
||||
@request_timeout)</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="load_config-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 136</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">load_config</span>(<span class="ruby-identifier">config_file</span> = <span class="ruby-keyword">nil</span>)
|
||||
<span class="ruby-ivar">@config_file</span> = <span class="ruby-identifier">config_file</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@config_file</span>
|
||||
|
||||
<span class="ruby-identifier">data</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-ivar">@config_file</span>))
|
||||
|
||||
<span class="ruby-constant">ACCESSOR_OPTIONS</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">option_name</span> = <span class="ruby-identifier">option</span>.<span class="ruby-identifier">to_s</span>
|
||||
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:"#{option_name}="</span>, <span class="ruby-identifier">data</span>[<span class="ruby-identifier">option_name</span>])
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- load_config-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- load_config-method -->
|
||||
|
||||
|
||||
<div id="method-i-max_threads-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">max_threads=</span><span
|
||||
class="method-args">(max_threads)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="max_threads-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 101</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">max_threads=</span>(<span class="ruby-identifier">max_threads</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max_threads</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">max_threads</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">max_threads</span> = <span class="ruby-value">1</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@max_threads</span> = <span class="ruby-identifier">max_threads</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- max_threads-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- max_threads-3D-method -->
|
||||
|
||||
|
||||
<div id="method-i-merge_request_params" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">merge_request_params</span><span
|
||||
class="method-args">(params = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="merge_request_params-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 185</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">merge_request_params</span>(<span class="ruby-identifier">params</span> = {})
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@proxy</span>
|
||||
<span class="ruby-identifier">params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:proxy</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@proxy</span>)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@proxy_auth</span>
|
||||
<span class="ruby-identifier">params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-ivar">@proxy_auth</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@basic_auth</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">params</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:headers</span>)
|
||||
<span class="ruby-identifier">params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:headers</span> =<span class="ruby-operator">></span> {<span class="ruby-string">'Authorization'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@basic_auth</span>})
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">params</span>[<span class="ruby-value">:headers</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-string">'Authorization'</span>)
|
||||
<span class="ruby-identifier">params</span>[<span class="ruby-value">:headers</span>][<span class="ruby-string">'Authorization'</span>] = <span class="ruby-ivar">@basic_auth</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">params</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:disable_ssl_host_verification</span>)
|
||||
<span class="ruby-identifier">params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:disable_ssl_host_verification</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">true</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">params</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:disable_ssl_peer_verification</span>)
|
||||
<span class="ruby-identifier">params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:disable_ssl_peer_verification</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">true</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">params</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:headers</span>)
|
||||
<span class="ruby-identifier">params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:headers</span> =<span class="ruby-operator">></span> {<span class="ruby-string">'user-agent'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">user_agent</span>})
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">params</span>[<span class="ruby-value">:headers</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-string">'user-agent'</span>)
|
||||
<span class="ruby-identifier">params</span>[<span class="ruby-value">:headers</span>][<span class="ruby-string">'user-agent'</span>] = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">user_agent</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-comment"># Used to enable the cache system if :cache_timeout > 0</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">params</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:cache_timeout</span>)
|
||||
<span class="ruby-identifier">params</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:cache_timeout</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@cache_timeout</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">params</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- merge_request_params-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- merge_request_params-method -->
|
||||
|
||||
|
||||
<div id="method-i-post" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">post</span><span
|
||||
class="method-args">(url, params = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="post-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 172</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">post</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">params</span> = {})
|
||||
<span class="ruby-identifier">run_request</span>(
|
||||
<span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">params</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:method</span> =<span class="ruby-operator">></span> <span class="ruby-value">:post</span>))
|
||||
)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- post-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- post-method -->
|
||||
|
||||
|
||||
<div id="method-i-proxy_auth-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">proxy_auth=</span><span
|
||||
class="method-args">(auth)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="proxy_auth-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 108</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">proxy_auth=</span>(<span class="ruby-identifier">auth</span>)
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">nil?</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">auth</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:proxy_username</span>) <span class="ruby-keyword">or</span> <span class="ruby-operator">!</span><span class="ruby-identifier">auth</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:proxy_password</span>)
|
||||
<span class="ruby-identifier">raise_invalid_proxy_format</span>()
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@proxy_auth</span> = <span class="ruby-identifier">auth</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span> = <span class="ruby-regexp">%r{([^:]+):(.*)}</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">auth</span>)
|
||||
<span class="ruby-ivar">@proxy_auth</span> = {
|
||||
<span class="ruby-identifier">proxy_username</span><span class="ruby-operator">:</span> <span class="ruby-identifier">matches</span>[<span class="ruby-value">1</span>],
|
||||
<span class="ruby-identifier">proxy_password</span><span class="ruby-operator">:</span> <span class="ruby-identifier">matches</span>[<span class="ruby-value">2</span>]
|
||||
}
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise_invalid_proxy_auth_format</span>()
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise_invalid_proxy_auth_format</span>()
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- proxy_auth-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- proxy_auth-3D-method -->
|
||||
|
||||
|
||||
<div id="method-i-raise_invalid_proxy_auth_format" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">raise_invalid_proxy_auth_format</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="raise_invalid_proxy_auth_format-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 130</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">raise_invalid_proxy_auth_format</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-string">'Invalid proxy auth format, expected username:password or {proxy_username: username, proxy_password: password}'</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- raise_invalid_proxy_auth_format-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- raise_invalid_proxy_auth_format-method -->
|
||||
|
||||
|
||||
<div id="method-i-user_agent" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">user_agent</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>return the user agent, according to the user_agent_mode</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="user_agent-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 89</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">user_agent</span>
|
||||
<span class="ruby-keyword">case</span> <span class="ruby-ivar">@user_agent_mode</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'semi-static'</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@user_agent</span>
|
||||
<span class="ruby-ivar">@user_agent</span> = <span class="ruby-ivar">@available_user_agents</span>.<span class="ruby-identifier">sample</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'random'</span>
|
||||
<span class="ruby-ivar">@user_agent</span> = <span class="ruby-ivar">@available_user_agents</span>.<span class="ruby-identifier">sample</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@user_agent</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- user_agent-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- user_agent-method -->
|
||||
|
||||
|
||||
<div id="method-i-user_agent_mode-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">user_agent_mode=</span><span
|
||||
class="method-args">(ua_mode)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="user_agent_mode-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/browser.rb, line 75</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">user_agent_mode=</span>(<span class="ruby-identifier">ua_mode</span>)
|
||||
<span class="ruby-identifier">ua_mode</span> <span class="ruby-operator">||=</span> <span class="ruby-string">'static'</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-constant">USER_AGENT_MODES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">ua_mode</span>)
|
||||
<span class="ruby-ivar">@user_agent_mode</span> = <span class="ruby-identifier">ua_mode</span>
|
||||
<span class="ruby-comment"># For semi-static user agent mode, the user agent has to</span>
|
||||
<span class="ruby-comment"># be nil the first time (it will be set with the getter)</span>
|
||||
<span class="ruby-ivar">@user_agent</span> = <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">ua_mode</span> <span class="ruby-operator">===</span> <span class="ruby-string">'semi-static'</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknow user agent mode : '#{ua_mode}'"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- user_agent_mode-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- user_agent_mode-3D-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,375 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module BruteForce - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/brute_force.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-lines_in_file">::lines_in_file</a>
|
||||
|
||||
<li><a href="#method-i-brute_force">#brute_force</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module BruteForce</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-lines_in_file" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">lines_in_file</span><span
|
||||
class="method-args">(file_path)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Counts the number of lines in the wordlist It can take a couple of minutes
|
||||
on large wordlists, although bareable.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="lines_in_file-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/brute_force.rb, line 117</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">lines_in_file</span>(<span class="ruby-identifier">file_path</span>)
|
||||
<span class="ruby-identifier">lines</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file_path</span>, <span class="ruby-string">'r'</span>).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">_</span><span class="ruby-operator">|</span> <span class="ruby-identifier">lines</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> }
|
||||
<span class="ruby-identifier">lines</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- lines_in_file-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- lines_in_file-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-brute_force" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">brute_force</span><span
|
||||
class="method-args">(logins, wordlist_path, options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>param array of string logins param string wordlist_path param hash options</p>
|
||||
|
||||
<pre>boolean :show_progression If true, will output the details (Sucess, error etc)</pre>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="brute_force-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/brute_force.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">brute_force</span>(<span class="ruby-identifier">logins</span>, <span class="ruby-identifier">wordlist_path</span>, <span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-identifier">hydra</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">hydra</span>
|
||||
<span class="ruby-identifier">number_of_passwords</span> = <span class="ruby-constant">BruteForce</span>.<span class="ruby-identifier">lines_in_file</span>(<span class="ruby-identifier">wordlist_path</span>)
|
||||
<span class="ruby-identifier">login_url</span> = <span class="ruby-identifier">login_url</span>()
|
||||
<span class="ruby-identifier">found</span> = []
|
||||
<span class="ruby-identifier">show_progression</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:show_progression</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword">false</span>
|
||||
|
||||
<span class="ruby-identifier">logins</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">login</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">request_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">password_found</span> = <span class="ruby-keyword">false</span>
|
||||
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">wordlist_path</span>, <span class="ruby-string">'r'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">password</span><span class="ruby-operator">|</span>
|
||||
|
||||
<span class="ruby-comment"># ignore file comments, but will miss passwords if they start with a hash...</span>
|
||||
<span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">password</span>[<span class="ruby-value">0</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'#'</span>
|
||||
|
||||
<span class="ruby-comment"># keep a count of the amount of requests to be sent</span>
|
||||
<span class="ruby-identifier">request_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
<span class="ruby-identifier">queue_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
|
||||
<span class="ruby-comment"># create local vars for on_complete call back, Issue 51.</span>
|
||||
<span class="ruby-identifier">username</span> = <span class="ruby-identifier">login</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-string">'empty'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">login</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">login</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-comment"># Issue #66</span>
|
||||
<span class="ruby-identifier">password</span> = <span class="ruby-identifier">password</span>
|
||||
|
||||
<span class="ruby-comment"># the request object</span>
|
||||
<span class="ruby-identifier">request</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">login_url</span>,
|
||||
{
|
||||
<span class="ruby-identifier">method</span><span class="ruby-operator">:</span> <span class="ruby-value">:post</span>,
|
||||
<span class="ruby-identifier">params</span><span class="ruby-operator">:</span> { <span class="ruby-identifier">log</span><span class="ruby-operator">:</span> <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-identifier">encode</span>(<span class="ruby-identifier">username</span>), <span class="ruby-identifier">pwd</span><span class="ruby-operator">:</span> <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-identifier">encode</span>(<span class="ruby-identifier">password</span>) },
|
||||
<span class="ruby-identifier">cache_timeout</span><span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
||||
}
|
||||
)
|
||||
|
||||
<span class="ruby-comment"># tell hydra what to do when the request completes</span>
|
||||
<span class="ruby-identifier">request</span>.<span class="ruby-identifier">on_complete</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"\n Trying Username : #{username} Password : #{password}"</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rlogin_error/</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">"\nIncorrect username and/or password."</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">302</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">"\n "</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">green</span>(<span class="ruby-string">'[SUCCESS]'</span>) <span class="ruby-operator">+</span> <span class="ruby-node">" Username : #{username} Password : #{password}\n"</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">show_progression</span>
|
||||
<span class="ruby-identifier">found</span> <span class="ruby-operator"><<</span> { <span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">username</span>, <span class="ruby-identifier">password</span><span class="ruby-operator">:</span> <span class="ruby-identifier">password</span> }
|
||||
<span class="ruby-identifier">password_found</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">timed_out?</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">red</span>(<span class="ruby-string">'ERROR:'</span>) <span class="ruby-operator">+</span> <span class="ruby-string">' Request timed out.'</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">show_progression</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">red</span>(<span class="ruby-string">'ERROR:'</span>) <span class="ruby-operator">+</span> <span class="ruby-string">' No response from remote server. WAF/IPS?'</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">show_progression</span>
|
||||
<span class="ruby-comment"># code is a fixnum, needs a string for regex</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r^50/</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">red</span>(<span class="ruby-string">'ERROR:'</span>) <span class="ruby-operator">+</span> <span class="ruby-string">' Server error, try reducing the number of threads.'</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">show_progression</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">"\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">red</span>(<span class="ruby-string">'ERROR:'</span>) <span class="ruby-operator">+</span> <span class="ruby-node">" We recieved an unknown response for #{password}..."</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">show_progression</span>
|
||||
|
||||
<span class="ruby-comment"># HACK to get the coverage :/ (otherwise some output is present in the rspec)</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"Code: #{response.code.to_s}"</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"Body: #{response.body}"</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-comment"># move onto the next username if we have found a valid password</span>
|
||||
<span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">password_found</span>
|
||||
|
||||
<span class="ruby-comment"># queue the request to be sent later</span>
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-identifier">request</span>)
|
||||
|
||||
<span class="ruby-comment"># progress indicator</span>
|
||||
<span class="ruby-identifier">print</span> <span class="ruby-node">"\r Brute forcing user '#{username}' with #{number_of_passwords} passwords... #{(request_count * 100) / number_of_passwords}% complete."</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">show_progression</span>
|
||||
|
||||
<span class="ruby-comment"># it can take a long time to queue 2 million requests,</span>
|
||||
<span class="ruby-comment"># for that reason, we queue @threads, send @threads, queue @threads and so on.</span>
|
||||
<span class="ruby-comment"># hydra.run only returns when it has recieved all of its,</span>
|
||||
<span class="ruby-comment"># responses. This means that while we are waiting for @threads,</span>
|
||||
<span class="ruby-comment"># responses, we are waiting...</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">queue_count</span> <span class="ruby-operator">>=</span> <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">max_threads</span>
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">run</span>
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"Sent #{Browser.instance.max_threads} requests ..."</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-comment"># run all of the remaining requests</span>
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">run</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">found</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- brute_force-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- brute_force-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
182
doc/CREDITS.html
@@ -1,182 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>CREDITS - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body class="file">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation" class="description">
|
||||
|
||||
<p>*<strong><a href="CREDITS.html">CREDITS</a></strong>*</p>
|
||||
|
||||
<p>This file is to give credit to WPScan’s contributors. If you feel your name
|
||||
should be in here, email ryandewhurst at gmail.</p>
|
||||
|
||||
<p>*WPScan Team*</p>
|
||||
|
||||
<p>Erwan.LR - @erwan_lr - (Project Developer) Christian Mehlmauer -
|
||||
@<em>FireFart</em> - (Project Developer) Gianluca Brindisi - @gbrindisi
|
||||
(Project Developer) Ryan Dewhurst - @ethicalhack3r (Project Lead)</p>
|
||||
|
||||
<p>*Other Contributors*</p>
|
||||
|
||||
<p>Alip AKA Undead - alip.aswalid at gmail.com michee08 - Reported and gave
|
||||
potential solutions to bugs. Callum Pember - Implemented proxy support -
|
||||
callumpember at gmail.com g0tmi1k - Additional timthumb checks + bug
|
||||
reports. Melvin Lammerts - Reported a couple of fake vulnerabilities -
|
||||
melvin at 12k.nl Paolo Perego - @thesp0nge - Basic authentification</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,442 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class CacheFileStore - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/cache_file_store.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-clean">#clean</a>
|
||||
|
||||
<li><a href="#method-i-get_entry_file_path">#get_entry_file_path</a>
|
||||
|
||||
<li><a href="#method-i-read_entry">#read_entry</a>
|
||||
|
||||
<li><a href="#method-i-write_entry">#write_entry</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class CacheFileStore</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-serializer" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">serializer</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-storage_path" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">storage_path</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(storage_path, serializer = Marshal)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>The serializer must have the 2 methods .load and .dump</p>
|
||||
|
||||
<pre>(Marshal and YAML have them)</pre>
|
||||
|
||||
<p>YAML is Human Readable, contrary to Marshal which store in a binary format
|
||||
Marshal does not need any “require”</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/cache_file_store.rb, line 36</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">storage_path</span>, <span class="ruby-identifier">serializer</span> = <span class="ruby-constant">Marshal</span>)
|
||||
<span class="ruby-ivar">@storage_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">storage_path</span>)
|
||||
<span class="ruby-ivar">@serializer</span> = <span class="ruby-identifier">serializer</span>
|
||||
|
||||
<span class="ruby-comment"># File.directory? for ruby <= 1.9 otherwise,</span>
|
||||
<span class="ruby-comment"># it makes more sense to do Dir.exist? :/</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-ivar">@storage_path</span>)
|
||||
<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span>(<span class="ruby-ivar">@storage_path</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-clean" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">clean</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="clean-source">
|
||||
<pre><span class="ruby-comment"># File lib/cache_file_store.rb, line 47</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">clean</span>
|
||||
<span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@storage_path</span>, <span class="ruby-string">'*'</span>)].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">f</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- clean-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- clean-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_entry_file_path" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_entry_file_path</span><span
|
||||
class="method-args">(key)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_entry_file_path-source">
|
||||
<pre><span class="ruby-comment"># File lib/cache_file_store.rb, line 69</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_entry_file_path</span>(<span class="ruby-identifier">key</span>)
|
||||
<span class="ruby-ivar">@storage_path</span> <span class="ruby-operator">+</span> <span class="ruby-string">'/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">key</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_entry_file_path-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_entry_file_path-method -->
|
||||
|
||||
|
||||
<div id="method-i-read_entry" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">read_entry</span><span
|
||||
class="method-args">(key)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="read_entry-source">
|
||||
<pre><span class="ruby-comment"># File lib/cache_file_store.rb, line 53</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">read_entry</span>(<span class="ruby-identifier">key</span>)
|
||||
<span class="ruby-identifier">entry_file_path</span> = <span class="ruby-identifier">get_entry_file_path</span>(<span class="ruby-identifier">key</span>)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">entry_file_path</span>)
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-ivar">@serializer</span>.<span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">entry_file_path</span>))
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- read_entry-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- read_entry-method -->
|
||||
|
||||
|
||||
<div id="method-i-write_entry" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">write_entry</span><span
|
||||
class="method-args">(key, data_to_store, cache_timeout)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="write_entry-source">
|
||||
<pre><span class="ruby-comment"># File lib/cache_file_store.rb, line 61</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_entry</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">data_to_store</span>, <span class="ruby-identifier">cache_timeout</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">cache_timeout</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">get_entry_file_path</span>(<span class="ruby-identifier">key</span>), <span class="ruby-string">'w'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span>(<span class="ruby-ivar">@serializer</span>.<span class="ruby-identifier">dump</span>(<span class="ruby-identifier">data_to_store</span>))
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- write_entry-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- write_entry-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,483 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class CheckerPlugin - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpstools/plugins/checker/checker_plugin.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Plugin.html">Plugin</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-check_local_vulnerable_files">#check_local_vulnerable_files</a>
|
||||
|
||||
<li><a href="#method-i-check_vuln_ref_urls">#check_vuln_ref_urls</a>
|
||||
|
||||
<li><a href="#method-i-run">#run</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class CheckerPlugin</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<pre>WPScan - WordPress Security Scanner
|
||||
Copyright (C) 2012-2013
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.</pre>
|
||||
|
||||
<p>++</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/checker/checker_plugin.rb, line 21</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
|
||||
<span class="ruby-keyword">super</span>(<span class="ruby-identifier">author</span><span class="ruby-operator">:</span> <span class="ruby-string">'WPScanTeam - @erwanlr'</span>)
|
||||
|
||||
<span class="ruby-identifier">register_options</span>(
|
||||
[<span class="ruby-string">'--check-vuln-ref-urls'</span>, <span class="ruby-string">'--cvru'</span>, <span class="ruby-string">'Check all the vulnerabilities reference urls for 404'</span>],
|
||||
[<span class="ruby-string">'--check-local-vulnerable-files LOCAL_DIRECTORY'</span>, <span class="ruby-string">'--clvf'</span>, <span class="ruby-string">'Perform a recursive scan in the LOCAL_DIRECTORY to find vulnerable files or shells'</span>]
|
||||
)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-check_local_vulnerable_files" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">check_local_vulnerable_files</span><span
|
||||
class="method-args">(dir_to_scan)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="check_local_vulnerable_files-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/checker/checker_plugin.rb, line 93</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">check_local_vulnerable_files</span>(<span class="ruby-identifier">dir_to_scan</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-constant">Dir</span><span class="ruby-operator">::</span><span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">dir_to_scan</span>)
|
||||
<span class="ruby-identifier">xml_file</span> = <span class="ruby-constant">LOCAL_FILES_FILE</span>
|
||||
<span class="ruby-identifier">local_hashes</span> = {}
|
||||
<span class="ruby-identifier">file_extension_to_scan</span> = <span class="ruby-string">'*.{js,php,swf,html,htm}'</span>
|
||||
|
||||
<span class="ruby-identifier">print</span> <span class="ruby-string">'[+] Generating local hashes ... '</span>
|
||||
|
||||
<span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-identifier">join</span>(<span class="ruby-identifier">dir_to_scan</span>, <span class="ruby-string">'**'</span>, <span class="ruby-identifier">file_extension_to_scan</span>)].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">filename</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">sha1sum</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">file</span>(<span class="ruby-identifier">filename</span>).<span class="ruby-identifier">hexdigest</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">local_hashes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">sha1sum</span>)
|
||||
<span class="ruby-identifier">local_hashes</span>[<span class="ruby-identifier">sha1sum</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">filename</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">local_hashes</span>[<span class="ruby-identifier">sha1sum</span>] = [<span class="ruby-identifier">filename</span>]
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'done.'</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[+] Checking for vulnerable files ...'</span>
|
||||
|
||||
<span class="ruby-identifier">xml</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">xml_file</span>)) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">config</span>.<span class="ruby-identifier">noblanks</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">xml</span>.<span class="ruby-identifier">xpath</span>(<span class="ruby-string">'//hash'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">sha1sum</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-string">'sha1'</span>).<span class="ruby-identifier">text</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">local_hashes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">sha1sum</span>)
|
||||
<span class="ruby-identifier">local_filenames</span> = <span class="ruby-identifier">local_hashes</span>[<span class="ruby-identifier">sha1sum</span>]
|
||||
<span class="ruby-identifier">vuln_title</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'title'</span>).<span class="ruby-identifier">text</span>
|
||||
<span class="ruby-identifier">vuln_filename</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'file'</span>).<span class="ruby-identifier">text</span>
|
||||
<span class="ruby-identifier">vuln_refrence</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'reference'</span>).<span class="ruby-identifier">text</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">" #{vuln_filename} found :"</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' | Location(s):'</span>
|
||||
<span class="ruby-identifier">local_filenames</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">" | - #{file}"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' |'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">" | Title: #{vuln_title}"</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">" | Refrence: #{vuln_refrence}"</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">vuln_refrence</span>.<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'done.'</span>
|
||||
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"The supplied directory '#{dir_to_scan}' does not exist"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- check_local_vulnerable_files-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- check_local_vulnerable_files-method -->
|
||||
|
||||
|
||||
<div id="method-i-check_vuln_ref_urls" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">check_vuln_ref_urls</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="check_vuln_ref_urls-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/checker/checker_plugin.rb, line 40</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">check_vuln_ref_urls</span>
|
||||
<span class="ruby-identifier">vuln_ref_files</span> = [<span class="ruby-constant">PLUGINS_VULNS_FILE</span>, <span class="ruby-constant">THEMES_VULNS_FILE</span>, <span class="ruby-constant">WP_VULNS_FILE</span>]
|
||||
<span class="ruby-identifier">error_codes</span> = [<span class="ruby-value">404</span>, <span class="ruby-value">500</span>, <span class="ruby-value">403</span>]
|
||||
<span class="ruby-identifier">not_found_regexp</span> = <span class="ruby-regexp">%r{No Results Found|error 404|ID Invalid or Not Found}</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[+] Checking vulnerabilities reference urls'</span>
|
||||
|
||||
<span class="ruby-identifier">vuln_ref_files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">vuln_ref_file</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">xml</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">vuln_ref_file</span>)) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">config</span>.<span class="ruby-identifier">noblanks</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">urls</span> = []
|
||||
<span class="ruby-identifier">xml</span>.<span class="ruby-identifier">xpath</span>(<span class="ruby-string">'//reference'</span>).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span> <span class="ruby-identifier">urls</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">text</span> }
|
||||
|
||||
<span class="ruby-identifier">urls</span>.<span class="ruby-identifier">uniq!</span>
|
||||
|
||||
<span class="ruby-identifier">dead_urls</span> = []
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">request_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">browser</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>
|
||||
<span class="ruby-identifier">hydra</span> = <span class="ruby-identifier">browser</span>.<span class="ruby-identifier">hydra</span>
|
||||
<span class="ruby-identifier">number_of_urls</span> = <span class="ruby-identifier">urls</span>.<span class="ruby-identifier">size</span>
|
||||
|
||||
<span class="ruby-identifier">urls</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">request</span> = <span class="ruby-identifier">browser</span>.<span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">url</span>, { <span class="ruby-identifier">cache_timeout</span><span class="ruby-operator">:</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span> })
|
||||
<span class="ruby-identifier">request_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
|
||||
<span class="ruby-identifier">request</span>.<span class="ruby-identifier">on_complete</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">print</span> <span class="ruby-node">"\r [+] Checking #{vuln_ref_file} #{number_of_urls} total ... #{(request_count * 100) / number_of_urls}% complete."</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">error_codes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span>) <span class="ruby-keyword">or</span> <span class="ruby-identifier">not_found_regexp</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-identifier">dead_urls</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">url</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-identifier">request</span>)
|
||||
<span class="ruby-identifier">queue_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">queue_count</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">browser</span>.<span class="ruby-identifier">max_threads</span>
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">run</span>
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">run</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">dead_urls</span>.<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-identifier">dead_urls</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">url</span><span class="ruby-operator">|</span> <span class="ruby-identifier">puts</span> <span class="ruby-node">" Not Found #{url}"</span> }
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- check_vuln_ref_urls-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- check_vuln_ref_urls-method -->
|
||||
|
||||
|
||||
<div id="method-i-run" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">run</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="run-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/checker/checker_plugin.rb, line 30</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:check_vuln_ref_urls</span>]
|
||||
<span class="ruby-identifier">check_vuln_ref_urls</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:check_local_vulnerable_files</span>]
|
||||
<span class="ruby-identifier">check_local_vulnerable_files</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:check_local_vulnerable_files</span>])
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- run-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- run-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,474 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class CustomOptionParser - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/common/custom_option_parser.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link">OptionParser
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-c-option_to_symbol">::option_to_symbol</a>
|
||||
|
||||
<li><a href="#method-i-add">#add</a>
|
||||
|
||||
<li><a href="#method-i-add_option">#add_option</a>
|
||||
|
||||
<li><a href="#method-i-results">#results</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class CustomOptionParser</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<pre>WPScan - WordPress Security Scanner
|
||||
Copyright (C) 2012-2013
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.</pre>
|
||||
|
||||
<p>++</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-symbols_used" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">symbols_used</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(banner = nil, width = 32, indent = ' ' * 4)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/custom_option_parser.rb, line 23</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">banner</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">width</span> = <span class="ruby-value">32</span>, <span class="ruby-identifier">indent</span> = <span class="ruby-string">' '</span> * <span class="ruby-value">4</span>)
|
||||
<span class="ruby-ivar">@results</span> = {}
|
||||
<span class="ruby-ivar">@symbols_used</span> = []
|
||||
<span class="ruby-keyword">super</span>(<span class="ruby-identifier">banner</span>, <span class="ruby-identifier">width</span>, <span class="ruby-identifier">indent</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="protected-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-option_to_symbol" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">option_to_symbol</span><span
|
||||
class="method-args">(option)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>param <a href="Array.html">Array</a> option</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="option_to_symbol-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/custom_option_parser.rb, line 73</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">option_to_symbol</span>(<span class="ruby-identifier">option</span>)
|
||||
<span class="ruby-identifier">option_name</span> = <span class="ruby-keyword">nil</span>
|
||||
|
||||
<span class="ruby-identifier">option</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option_attr</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">option_attr</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r^--/</span>
|
||||
<span class="ruby-identifier">option_name</span> = <span class="ruby-identifier">option_attr</span>
|
||||
<span class="ruby-keyword">break</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">option_name</span>
|
||||
<span class="ruby-identifier">option_name</span> = <span class="ruby-identifier">option_name</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r^--/</span>, <span class="ruby-string">''</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r-/</span>, <span class="ruby-string">'_'</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r .*$/</span>, <span class="ruby-string">''</span>)
|
||||
<span class="ruby-value">:"#{option_name}"</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Could not find the option name for #{option}"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- option_to_symbol-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- option_to_symbol-method -->
|
||||
|
||||
|
||||
</section><!-- protected-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-add" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">add</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>param Array(<a href="Array.html">Array</a>) or <a
|
||||
href="Array.html">Array</a> options</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="add-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/custom_option_parser.rb, line 31</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
|
||||
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">add_option</span>(<span class="ruby-identifier">option</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">add_option</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Options must be at least an Array, or an Array(Array). #{options.class} supplied"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- add-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- add-method -->
|
||||
|
||||
|
||||
<div id="method-i-add_option" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">add_option</span><span
|
||||
class="method-args">(option)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>param <a href="Array.html">Array</a> option</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="add_option-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/custom_option_parser.rb, line 46</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_option</span>(<span class="ruby-identifier">option</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">option</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
|
||||
<span class="ruby-identifier">option_symbol</span> = <span class="ruby-constant">CustomOptionParser</span><span class="ruby-operator">::</span><span class="ruby-identifier">option_to_symbol</span>(<span class="ruby-identifier">option</span>)
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@symbols_used</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">option_symbol</span>)
|
||||
<span class="ruby-ivar">@symbols_used</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">option_symbol</span>
|
||||
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">on</span>(*<span class="ruby-identifier">option</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-ivar">@results</span>[<span class="ruby-identifier">option_symbol</span>] = <span class="ruby-identifier">arg</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"The option #{option_symbol} is already used !"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"The option must be an array, #{option.class} supplied : '#{option}'"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- add_option-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- add_option-method -->
|
||||
|
||||
|
||||
<div id="method-i-results" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">results</span><span
|
||||
class="method-args">(argv = default_argv)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>return Hash</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="results-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/custom_option_parser.rb, line 65</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">results</span>(<span class="ruby-identifier">argv</span> = <span class="ruby-identifier">default_argv</span>)
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">parse!</span>(<span class="ruby-identifier">argv</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@results</span>.<span class="ruby-identifier">empty?</span>
|
||||
|
||||
<span class="ruby-ivar">@results</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- results-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- results-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
176
doc/Gemfile.html
@@ -1,176 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>Gemfile - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body class="file">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation" class="description">
|
||||
|
||||
<p>source “<a href="https://rubygems.org">rubygems.org</a>”</p>
|
||||
|
||||
<p>gem “typhoeus”, “0.4.2” gem “nokogiri” gem “json”</p>
|
||||
|
||||
<p>group :development, :test do</p>
|
||||
|
||||
<pre class="ruby"><span class="ruby-identifier">gem</span> <span class="ruby-string">"webmock"</span>, <span class="ruby-string">"1.8.11"</span>
|
||||
<span class="ruby-identifier">gem</span> <span class="ruby-string">"simplecov"</span>
|
||||
<span class="ruby-identifier">gem</span> <span class="ruby-string">"rspec"</span>, :<span class="ruby-identifier">require</span> =<span class="ruby-operator">></span> <span class="ruby-string">"spec"</span>
|
||||
</pre>
|
||||
|
||||
<p>end</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,518 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class GenerateList - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpstools/plugins/list_generator/generate_list.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-generate_full_list">#generate_full_list</a>
|
||||
|
||||
<li><a href="#method-i-generate_popular_list">#generate_popular_list</a>
|
||||
|
||||
<li><a href="#method-i-get_popular_items">#get_popular_items</a>
|
||||
|
||||
<li><a href="#method-i-save">#save</a>
|
||||
|
||||
<li><a href="#method-i-set_file_name">#set_file_name</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class GenerateList</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<p>This tool generates a list to use for plugin and theme enumeration</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-verbose" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">verbose</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(type, verbose)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>type = themes | plugins</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/generate_list.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">verbose</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rplugins/</span>
|
||||
<span class="ruby-ivar">@type</span> = <span class="ruby-string">'plugin'</span>
|
||||
<span class="ruby-ivar">@svn_url</span> = <span class="ruby-string">'http://plugins.svn.wordpress.org/'</span>
|
||||
<span class="ruby-ivar">@popular_url</span> = <span class="ruby-string">'http://wordpress.org/extend/plugins/browse/popular/'</span>
|
||||
<span class="ruby-ivar">@popular_regex</span> = <span class="ruby-regexp">%r{<h3><a href="http://wordpress.org/extend/plugins/(.+)/">.+</a></h3>}</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rthemes/</span>
|
||||
<span class="ruby-ivar">@type</span> = <span class="ruby-string">'theme'</span>
|
||||
<span class="ruby-ivar">@svn_url</span> = <span class="ruby-string">'http://themes.svn.wordpress.org/'</span>
|
||||
<span class="ruby-ivar">@popular_url</span> = <span class="ruby-string">'http://wordpress.org/extend/themes/browse/popular/'</span>
|
||||
<span class="ruby-ivar">@popular_regex</span> = <span class="ruby-regexp">%r{<h3><a href="http://wordpress.org/extend/themes/(.+)">.+</a></h3>}</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Type #{type} not defined"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@verbose</span> = <span class="ruby-identifier">verbose</span>
|
||||
<span class="ruby-ivar">@browser</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>
|
||||
<span class="ruby-ivar">@hydra</span> = <span class="ruby-ivar">@browser</span>.<span class="ruby-identifier">hydra</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-generate_full_list" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">generate_full_list</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="generate_full_list-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/generate_list.rb, line 69</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_full_list</span>
|
||||
<span class="ruby-identifier">set_file_name</span>(<span class="ruby-value">:full</span>)
|
||||
<span class="ruby-identifier">items</span> = <span class="ruby-constant">SvnParser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@svn_url</span>).<span class="ruby-identifier">parse</span>
|
||||
<span class="ruby-identifier">save</span> <span class="ruby-identifier">items</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- generate_full_list-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- generate_full_list-method -->
|
||||
|
||||
|
||||
<div id="method-i-generate_popular_list" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">generate_popular_list</span><span
|
||||
class="method-args">(pages)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="generate_popular_list-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/generate_list.rb, line 75</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_popular_list</span>(<span class="ruby-identifier">pages</span>)
|
||||
<span class="ruby-identifier">set_file_name</span>(<span class="ruby-value">:popular</span>)
|
||||
<span class="ruby-identifier">items</span> = <span class="ruby-identifier">get_popular_items</span>(<span class="ruby-identifier">pages</span>)
|
||||
<span class="ruby-identifier">save</span> <span class="ruby-identifier">items</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- generate_popular_list-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- generate_popular_list-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_popular_items" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_popular_items</span><span
|
||||
class="method-args">(pages)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Send a HTTP request to the WordPress most popular theme or plugin webpage
|
||||
parse the response for the names.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_popular_items-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/generate_list.rb, line 83</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_popular_items</span>(<span class="ruby-identifier">pages</span>)
|
||||
<span class="ruby-identifier">found_items</span> = []
|
||||
<span class="ruby-identifier">page_count</span> = <span class="ruby-value">1</span>
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
|
||||
(<span class="ruby-value">1</span><span class="ruby-operator">...</span>(<span class="ruby-identifier">pages</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">page</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-comment"># First page has another URL</span>
|
||||
<span class="ruby-identifier">url</span> = (<span class="ruby-identifier">page</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>) <span class="ruby-operator">?</span> <span class="ruby-ivar">@popular_url</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@popular_url</span> <span class="ruby-operator">+</span> <span class="ruby-string">'page/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">page</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-string">'/'</span>
|
||||
<span class="ruby-identifier">request</span> = <span class="ruby-ivar">@browser</span>.<span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">url</span>)
|
||||
|
||||
<span class="ruby-identifier">queue_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
|
||||
<span class="ruby-identifier">request</span>.<span class="ruby-identifier">on_complete</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"[+] Parsing page #{page_count}"</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
<span class="ruby-identifier">page_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-ivar">@popular_regex</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"[+] Found popular #@type: #{item}"</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@verbose</span>
|
||||
<span class="ruby-identifier">found_items</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">item</span>[<span class="ruby-value">0</span>]
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-ivar">@hydra</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-identifier">request</span>)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">queue_count</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@browser</span>.<span class="ruby-identifier">max_threads</span>
|
||||
<span class="ruby-ivar">@hydra</span>.<span class="ruby-identifier">run</span>
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-ivar">@hydra</span>.<span class="ruby-identifier">run</span>
|
||||
|
||||
<span class="ruby-identifier">found_items</span>.<span class="ruby-identifier">sort!</span>
|
||||
<span class="ruby-identifier">found_items</span>.<span class="ruby-identifier">uniq</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_popular_items-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_popular_items-method -->
|
||||
|
||||
|
||||
<div id="method-i-save" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">save</span><span
|
||||
class="method-args">(items)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Save the file</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="save-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/generate_list.rb, line 120</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">save</span>(<span class="ruby-identifier">items</span>)
|
||||
<span class="ruby-identifier">items</span>.<span class="ruby-identifier">sort!</span>
|
||||
<span class="ruby-identifier">items</span>.<span class="ruby-identifier">uniq!</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"[*] We have parsed #{items.length} #@types"</span>
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-ivar">@file_name</span>, <span class="ruby-string">'w'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">items</span>) }
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"New #@file_name file created"</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- save-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- save-method -->
|
||||
|
||||
|
||||
<div id="method-i-set_file_name" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">set_file_name</span><span
|
||||
class="method-args">(type)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="set_file_name-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/generate_list.rb, line 44</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">set_file_name</span>(<span class="ruby-identifier">type</span>)
|
||||
<span class="ruby-keyword">case</span> <span class="ruby-ivar">@type</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'plugin'</span>
|
||||
<span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-value">:full</span>
|
||||
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">PLUGINS_FULL_FILE</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-value">:popular</span>
|
||||
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">PLUGINS_FILE</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-string">'Unknown type'</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'theme'</span>
|
||||
<span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-value">:full</span>
|
||||
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">THEMES_FULL_FILE</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-value">:popular</span>
|
||||
<span class="ruby-ivar">@file_name</span> = <span class="ruby-constant">THEMES_FILE</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-string">'Unknown type'</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown type #@type"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- set_file_name-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- set_file_name-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,423 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class GitUpdater - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/updater/git_updater.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Updater.html">Updater</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-has_local_changes-3F">#has_local_changes?</a>
|
||||
|
||||
<li><a href="#method-i-is_installed-3F">#is_installed?</a>
|
||||
|
||||
<li><a href="#method-i-local_revision_number">#local_revision_number</a>
|
||||
|
||||
<li><a href="#method-i-repo_directory_arguments">#repo_directory_arguments</a>
|
||||
|
||||
<li><a href="#method-i-reset_head">#reset_head</a>
|
||||
|
||||
<li><a href="#method-i-update">#update</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class GitUpdater</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-has_local_changes-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_local_changes?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_local_changes-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/git_updater.rb, line 38</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_local_changes?</span>
|
||||
<span class="ruby-node">%x[git #{repo_directory_arguments()} diff --exit-code 2>&1]</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rdiff/</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_local_changes-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_local_changes-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-is_installed-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">is_installed?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="is_installed-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/git_updater.rb, line 23</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">is_installed?</span>
|
||||
<span class="ruby-node">%x[git #{repo_directory_arguments()} status 2>&1]</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rOn branch/</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- is_installed-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- is_installed-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-local_revision_number" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">local_revision_number</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Git has not a revsion number like SVN, so we will take the 7 first chars of
|
||||
the last commit hash</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="local_revision_number-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/git_updater.rb, line 29</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">local_revision_number</span>
|
||||
<span class="ruby-identifier">git_log</span> = <span class="ruby-node">%x[git #{repo_directory_arguments()} log -1 2>&1]</span>
|
||||
<span class="ruby-identifier">git_log</span>[<span class="ruby-regexp">%rcommit ([0-9a-z]{7})/</span>, <span class="ruby-value">1</span>].<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- local_revision_number-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- local_revision_number-method -->
|
||||
|
||||
|
||||
<div id="method-i-reset_head" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">reset_head</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="reset_head-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/git_updater.rb, line 42</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset_head</span>
|
||||
<span class="ruby-node">%x[git #{repo_directory_arguments()} reset --hard HEAD]</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- reset_head-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- reset_head-method -->
|
||||
|
||||
|
||||
<div id="method-i-update" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">update</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="update-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/git_updater.rb, line 34</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">update</span>
|
||||
<span class="ruby-node">%x[git #{repo_directory_arguments()} pull]</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- update-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- update-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
<section id="protected-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-repo_directory_arguments" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">repo_directory_arguments</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="repo_directory_arguments-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/git_updater.rb, line 47</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">repo_directory_arguments</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@repo_directory</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-node">"--git-dir=\"#{@repo_directory}/.git\" --work-tree=\"#{@repo_directory}\""</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- repo_directory_arguments-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- repo_directory_arguments-method -->
|
||||
|
||||
|
||||
</section><!-- protected-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,348 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class ListGeneratorPlugin - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpstools/plugins/list_generator/list_generator_plugin.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Plugin.html">Plugin</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-run">#run</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class ListGeneratorPlugin</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<pre>WPScan - WordPress Security Scanner
|
||||
Copyright (C) 2012-2013
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.</pre>
|
||||
|
||||
<p>++</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/list_generator_plugin.rb, line 21</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
|
||||
<span class="ruby-keyword">super</span>(<span class="ruby-identifier">author</span><span class="ruby-operator">:</span> <span class="ruby-string">'WPScanTeam - @FireFart'</span>)
|
||||
|
||||
<span class="ruby-identifier">register_options</span>(
|
||||
[<span class="ruby-string">'--generate-plugin-list [NUMBER_OF_PAGES]'</span>, <span class="ruby-string">'--gpl'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-string">'Generate a new data/plugins.txt file. (supply number of *pages* to parse, default : 150)'</span>],
|
||||
[<span class="ruby-string">'--generate-full-plugin-list'</span>, <span class="ruby-string">'--gfpl'</span>, <span class="ruby-string">'Generate a new full data/plugins.txt file'</span>],
|
||||
|
||||
[<span class="ruby-string">'--generate-theme-list [NUMBER_OF_PAGES]'</span>, <span class="ruby-string">'--gtl'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-string">'Generate a new data/themes.txt file. (supply number of *pages* to parse, default : 150)'</span>],
|
||||
[<span class="ruby-string">'--generate-full-theme-list'</span>, <span class="ruby-string">'--gftl'</span>, <span class="ruby-string">'Generate a new full data/themes.txt file'</span>],
|
||||
|
||||
[<span class="ruby-string">'--generate-all'</span>, <span class="ruby-string">'--ga'</span>, <span class="ruby-string">'Generate a new full plugins, full themes, popular plugins and popular themes list'</span>]
|
||||
)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-run" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">run</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="run-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/list_generator_plugin.rb, line 35</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-identifier">verbose</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:verbose</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-identifier">generate_all</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:generate_all</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword">false</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:generate_plugin_list</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">generate_all</span>
|
||||
<span class="ruby-identifier">number_of_pages</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:generate_plugin_list</span>] <span class="ruby-operator">||</span> <span class="ruby-value">150</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[+] Generating new most popular plugin list'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-constant">GenerateList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">'plugins'</span>, <span class="ruby-identifier">verbose</span>).<span class="ruby-identifier">generate_popular_list</span>(<span class="ruby-identifier">number_of_pages</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:generate_full_plugin_list</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">generate_all</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[+] Generating new full plugin list'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-constant">GenerateList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">'plugins'</span>, <span class="ruby-identifier">verbose</span>).<span class="ruby-identifier">generate_full_list</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:generate_theme_list</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">generate_all</span>
|
||||
<span class="ruby-identifier">number_of_pages</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:generate_theme_list</span>] <span class="ruby-operator">||</span> <span class="ruby-value">150</span>
|
||||
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[+] Generating new most popular theme list'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-constant">GenerateList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">'themes'</span>, <span class="ruby-identifier">verbose</span>).<span class="ruby-identifier">generate_popular_list</span>(<span class="ruby-identifier">number_of_pages</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:generate_full_theme_list</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">generate_all</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[+] Generating new full theme list'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-constant">GenerateList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">'themes'</span>, <span class="ruby-identifier">verbose</span>).<span class="ruby-identifier">generate_full_list</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- run-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- run-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,370 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module Malwares - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/malwares.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-malware_pattern">::malware_pattern</a>
|
||||
|
||||
<li><a href="#method-c-malwares_file">::malwares_file</a>
|
||||
|
||||
<li><a href="#method-i-has_malwares-3F">#has_malwares?</a>
|
||||
|
||||
<li><a href="#method-i-malwares">#malwares</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module Malwares</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-malware_pattern" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">malware_pattern</span><span
|
||||
class="method-args">(url_regex)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="malware_pattern-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/malwares.rb, line 59</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">malware_pattern</span>(<span class="ruby-identifier">url_regex</span>)
|
||||
<span class="ruby-comment"># no need to escape regex here, because malware.txt contains regex</span>
|
||||
<span class="ruby-node">%r{<(?:script|iframe).* src=(?:"|')(#{url_regex}[^"']*)(?:"|')[^>]*>}</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- malware_pattern-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- malware_pattern-method -->
|
||||
|
||||
|
||||
<div id="method-c-malwares_file" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">malwares_file</span><span
|
||||
class="method-args">(malwares_file_path)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="malwares_file-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/malwares.rb, line 55</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">malwares_file</span>(<span class="ruby-identifier">malwares_file_path</span>)
|
||||
<span class="ruby-identifier">malwares_file_path</span> <span class="ruby-operator">||</span> <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">'/malwares.txt'</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- malwares_file-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- malwares_file-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-has_malwares-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_malwares?</span><span
|
||||
class="method-args">(malwares_file_path = nil)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_malwares-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/malwares.rb, line 26</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_malwares?</span>(<span class="ruby-identifier">malwares_file_path</span> = <span class="ruby-keyword">nil</span>)
|
||||
<span class="ruby-operator">!</span><span class="ruby-identifier">malwares</span>(<span class="ruby-identifier">malwares_file_path</span>).<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_malwares-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_malwares-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-malwares" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">malwares</span><span
|
||||
class="method-args">(malwares_file_path = nil)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>return array of string (url of malwares found)</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="malwares-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/malwares.rb, line 31</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">malwares</span>(<span class="ruby-identifier">malwares_file_path</span> = <span class="ruby-keyword">nil</span>)
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@malwares</span>
|
||||
<span class="ruby-identifier">malwares_found</span> = []
|
||||
<span class="ruby-identifier">malwares_file</span> = <span class="ruby-constant">Malwares</span>.<span class="ruby-identifier">malwares_file</span>(<span class="ruby-identifier">malwares_file_path</span>)
|
||||
<span class="ruby-identifier">index_page_body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>
|
||||
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">malwares_file</span>, <span class="ruby-string">'r'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">file</span>.<span class="ruby-identifier">readlines</span>.<span class="ruby-identifier">collect</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">chomped_url</span> = <span class="ruby-identifier">url</span>.<span class="ruby-identifier">chomp</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">chomped_url</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">malwares_found</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">index_page_body</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-constant">Malwares</span>.<span class="ruby-identifier">malware_pattern</span>(<span class="ruby-identifier">chomped_url</span>))
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">malwares_found</span>.<span class="ruby-identifier">flatten!</span>
|
||||
<span class="ruby-identifier">malwares_found</span>.<span class="ruby-identifier">uniq!</span>
|
||||
|
||||
<span class="ruby-ivar">@malwares</span> = <span class="ruby-identifier">malwares_found</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@malwares</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- malwares-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- malwares-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
919
doc/Object.html
@@ -1,919 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class Object - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/common_helper.rb
|
||||
<li>lib/wpscan/wpscan_helper.rb
|
||||
<li>lib/wpstools/wpstools_helper.rb
|
||||
<li>wpscan.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link">BasicObject
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-add_http_protocol">#add_http_protocol</a>
|
||||
|
||||
<li><a href="#method-i-add_trailing_slash">#add_trailing_slash</a>
|
||||
|
||||
<li><a href="#method-i-banner">#banner</a>
|
||||
|
||||
<li><a href="#method-i-colorize">#colorize</a>
|
||||
|
||||
<li><a href="#method-i-get_equal_string_end">#get_equal_string_end</a>
|
||||
|
||||
<li><a href="#method-i-get_metasploit_url">#get_metasploit_url</a>
|
||||
|
||||
<li><a href="#method-i-green">#green</a>
|
||||
|
||||
<li><a href="#method-i-help">#help</a>
|
||||
|
||||
<li><a href="#method-i-output_vulnerabilities">#output_vulnerabilities</a>
|
||||
|
||||
<li><a href="#method-i-puts">#puts</a>
|
||||
|
||||
<li><a href="#method-i-red">#red</a>
|
||||
|
||||
<li><a href="#method-i-require_files_from_directory">#require_files_from_directory</a>
|
||||
|
||||
<li><a href="#method-i-usage">#usage</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class Object</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Constants -->
|
||||
<section id="constants-list" class="section">
|
||||
<h3 class="section-header">Constants</h3>
|
||||
<dl>
|
||||
|
||||
<dt id="CACHE_DIR">CACHE_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="COMMON_LIB_DIR">COMMON_LIB_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="COMON_PLUGINS_DIR">COMON_PLUGINS_DIR
|
||||
|
||||
<dd class="description"><p><a href="Plugins.html">Plugins</a> directories</p>
|
||||
|
||||
|
||||
<dt id="CONF_DIR">CONF_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="DATA_DIR">DATA_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="LIB_DIR">LIB_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="LOCAL_FILES_FILE">LOCAL_FILES_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="LOCAL_FILES_XSD">LOCAL_FILES_XSD
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="LOG_FILE">LOG_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="PLUGINS_FILE">PLUGINS_FILE
|
||||
|
||||
<dd class="description"><p>Data files</p>
|
||||
|
||||
|
||||
<dt id="PLUGINS_FULL_FILE">PLUGINS_FULL_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="PLUGINS_VULNS_FILE">PLUGINS_VULNS_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="REVISION">REVISION
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="ROOT_DIR">ROOT_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="THEMES_FILE">THEMES_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="THEMES_FULL_FILE">THEMES_FULL_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="THEMES_VULNS_FILE">THEMES_VULNS_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="UPDATER_LIB_DIR">UPDATER_LIB_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="VULNS_XSD">VULNS_XSD
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WPSCAN_LIB_DIR">WPSCAN_LIB_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WPSCAN_PLUGINS_DIR">WPSCAN_PLUGINS_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WPSCAN_VERSION">WPSCAN_VERSION
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WPSTOOLS_LIB_DIR">WPSTOOLS_LIB_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WPSTOOLS_PLUGINS_DIR">WPSTOOLS_PLUGINS_DIR
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WP_VERSIONS_FILE">WP_VERSIONS_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WP_VERSIONS_XSD">WP_VERSIONS_XSD
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="WP_VULNS_FILE">WP_VULNS_FILE
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-add_http_protocol" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">add_http_protocol</span><span
|
||||
class="method-args">(url)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Add protocol</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="add_http_protocol-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 65</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_http_protocol</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-identifier">url</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r^https?:/</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">:</span> <span class="ruby-node">"http://#{url}"</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- add_http_protocol-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- add_http_protocol-method -->
|
||||
|
||||
|
||||
<div id="method-i-add_trailing_slash" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">add_trailing_slash</span><span
|
||||
class="method-args">(url)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="add_trailing_slash-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 69</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_trailing_slash</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-identifier">url</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r\/$/</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">:</span> <span class="ruby-node">"#{url}/"</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- add_trailing_slash-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- add_trailing_slash-method -->
|
||||
|
||||
|
||||
<div id="method-i-banner" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">banner</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>our 1337 banner</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="banner-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 135</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">banner</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'____________________________________________________'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' __ _______ _____ '</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ \ / / __ \ / ____| '</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ \ /\ / /| |__) | (___ ___ __ _ _ __ '</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ \/ \/ / | ___/ \___ \ / __|/ _` | \_ \ '</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' \ /\ / | | ____) | (__| (_| | | | |'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">" \\/ \\/ |_| |_____/ \\___|\\__,_|_| |_| v#{WPSCAN_VERSION}r#{REVISION}"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' WordPress Security Scanner by the WPScan Team'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' Sponsored by the RandomStorm Open Source Initiative'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'_____________________________________________________'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator"><</span> <span class="ruby-string">'1.9'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'[WARNING] Ruby < 1.9 not officially supported, please upgrade.'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- banner-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- banner-method -->
|
||||
|
||||
|
||||
<div id="method-i-colorize" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">colorize</span><span
|
||||
class="method-args">(text, color_code)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="colorize-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 154</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">color_code</span>)
|
||||
<span class="ruby-node">"\e[#{color_code}m#{text}\e[0m"</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- colorize-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- colorize-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_equal_string_end" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_equal_string_end</span><span
|
||||
class="method-args">(stringarray = [''])</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Gets the string all elements in stringarray ends with</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_equal_string_end-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 74</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_equal_string_end</span>(<span class="ruby-identifier">stringarray</span> = [<span class="ruby-string">''</span>])
|
||||
<span class="ruby-identifier">already_found</span> = <span class="ruby-string">''</span>
|
||||
<span class="ruby-identifier">looping</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-identifier">counter</span> = <span class="ruby-value">-1</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">stringarray</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Array</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">stringarray</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>
|
||||
<span class="ruby-identifier">base</span> = <span class="ruby-identifier">stringarray</span>[<span class="ruby-value">0</span>]
|
||||
<span class="ruby-keyword">while</span> <span class="ruby-identifier">looping</span>
|
||||
<span class="ruby-identifier">character</span> = <span class="ruby-identifier">base</span>[<span class="ruby-identifier">counter</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-identifier">stringarray</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">s</span>[<span class="ruby-identifier">counter</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">character</span>
|
||||
<span class="ruby-identifier">looping</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">break</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">looping</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">or</span> (<span class="ruby-identifier">counter</span> * <span class="ruby-value">-1</span>) <span class="ruby-operator">></span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">length</span>
|
||||
<span class="ruby-keyword">break</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">already_found</span> = <span class="ruby-node">"#{character if character}#{already_found}"</span>
|
||||
<span class="ruby-identifier">counter</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">already_found</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_equal_string_end-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_equal_string_end-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_metasploit_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_metasploit_url</span><span
|
||||
class="method-args">(module_path)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_metasploit_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 166</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_metasploit_url</span>(<span class="ruby-identifier">module_path</span>)
|
||||
<span class="ruby-comment"># remove leading slash</span>
|
||||
<span class="ruby-identifier">module_path</span> = <span class="ruby-identifier">module_path</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r^\//</span>, <span class="ruby-string">''</span>)
|
||||
<span class="ruby-node">"http://www.metasploit.com/modules/#{module_path}"</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_metasploit_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_metasploit_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-green" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">green</span><span
|
||||
class="method-args">(text)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="green-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 162</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">green</span>(<span class="ruby-identifier">text</span>)
|
||||
<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-value">32</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- green-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- green-method -->
|
||||
|
||||
|
||||
<div id="method-i-help" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">help</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>command help</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="help-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_helper.rb, line 73</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">help</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'Help :'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'Some values are settable in conf/browser.conf.json :'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' user-agent, proxy, proxy-auth, threads, cache timeout and request timeout'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--update Update to the latest revision'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--url | -u <target url> The WordPress URL/domain to scan.'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--force | -f Forces WPScan to not check if the remote site is running WordPress.'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--enumerate | -e [option(s)] Enumeration.'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' option :'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' u usernames from id 1 to 10'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' u[10-20] usernames from id 10 to 20 (you must write [] chars)'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' p plugins'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' vp only vulnerable plugins'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' ap all plugins (can take a long time)'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' tt timthumbs'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' t themes'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' vt only vulnerable themes'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' at all themes (can take a long time)'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' Multiple values are allowed : "-e t,p" will enumerate timthumbs and plugins'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' If no option is supplied, the default is "vt,tt,u,vp"'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--exclude-content-based "<regexp or string>" Used with the enumeration option, will exclude all occurence based on the regexp or string supplied'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--config-file | -c <config file> Use the specified config file'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--wp-content-dir <wp content dir> WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--wp-plugins-dir <wp plugins dir> Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--proxy <[protocol://]host:port> Supply a proxy (will override the one from conf/browser.conf.json).'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--proxy-auth <username:password> Supply the proxy login credentials (will override the one from conf/browser.conf.json).'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--basic-auth <username:password> Set the HTTP Basic authentification'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute.'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--threads | -t <number of threads> The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--username | -U <username> Only brute force the supplied username.'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--help | -h This help screen.'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'--verbose | -v Verbose output.'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- help-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- help-method -->
|
||||
|
||||
|
||||
<div id="method-i-output_vulnerabilities" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">output_vulnerabilities</span><span
|
||||
class="method-args">(vulns)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="output_vulnerabilities-source">
|
||||
<pre><span class="ruby-comment"># File wpscan.rb, line 24</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">output_vulnerabilities</span>(<span class="ruby-identifier">vulns</span>)
|
||||
<span class="ruby-identifier">vulns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">vulnerability</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' | '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"* Title: #{vulnerability.title}"</span>)
|
||||
<span class="ruby-identifier">vulnerability</span>.<span class="ruby-identifier">references</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' | '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"* Reference: #{r}"</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">vulnerability</span>.<span class="ruby-identifier">metasploit_modules</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">' | '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">red</span>(<span class="ruby-node">"* Metasploit module: #{get_metasploit_url(m)}"</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- output_vulnerabilities-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- output_vulnerabilities-method -->
|
||||
|
||||
|
||||
<div id="method-i-puts" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">puts</span><span
|
||||
class="method-args">(o = '')</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Override for puts to enable logging</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="puts-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 173</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">puts</span>(<span class="ruby-identifier">o</span> = <span class="ruby-string">''</span>)
|
||||
<span class="ruby-comment"># remove color for logging</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-string">'gsub'</span>)
|
||||
<span class="ruby-identifier">temp</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r\e\[\d+m(.*)?\e\[0m/</span>, <span class="ruby-string">'\1'</span>)
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-constant">LOG_FILE</span>, <span class="ruby-string">'a+'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">temp</span>) }
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">super</span>(<span class="ruby-identifier">o</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- puts-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- puts-method -->
|
||||
|
||||
|
||||
<div id="method-i-red" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">red</span><span
|
||||
class="method-args">(text)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="red-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 158</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">red</span>(<span class="ruby-identifier">text</span>)
|
||||
<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-value">31</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- red-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- red-method -->
|
||||
|
||||
|
||||
<div id="method-i-require_files_from_directory" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">require_files_from_directory</span><span
|
||||
class="method-args">(absolute_dir_path, files_pattern = '*.rb')</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>TODO : add an exclude pattern ?</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="require_files_from_directory-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 53</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">require_files_from_directory</span>(<span class="ruby-identifier">absolute_dir_path</span>, <span class="ruby-identifier">files_pattern</span> = <span class="ruby-string">'*.rb'</span>)
|
||||
<span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">absolute_dir_path</span>, <span class="ruby-identifier">files_pattern</span>)].<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">f</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">f</span>)
|
||||
<span class="ruby-identifier">require</span> <span class="ruby-identifier">f</span>
|
||||
<span class="ruby-comment">#puts "require #{f}" # Used for debug</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- require_files_from_directory-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- require_files_from_directory-method -->
|
||||
|
||||
|
||||
<div id="method-i-usage" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">usage</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>wpscan usage</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="usage-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wpscan_helper.rb, line 24</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">usage</span>
|
||||
<span class="ruby-identifier">script_name</span> = <span class="ruby-identifier">$0</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'Examples :'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Further help ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --help"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">"-Do 'non-intrusive' checks ..."</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Do wordlist password brute force on enumerated users using 50 threads ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --wordlist darkc0de.lst --threads 50"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">"-Do wordlist password brute force on the 'admin' username only ..."</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --wordlist darkc0de.lst --username admin"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate installed plugins ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate p"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate installed themes ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate t"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate users ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate u"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Enumerate installed timthumbs ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --enumerate tt"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use a HTTP proxy ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --proxy 127.0.0.1:8118"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use a SOCKS5 proxy ... (cURL >= v7.21.7 needed)'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --url www.example.com --proxy socks5://127.0.0.1:9000"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use custom content directory ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} -u www.example.com --wp-content-dir custom-content"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Use custom plugins directory ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} -u www.example.com --wp-plugins-dir wp-content/custom-plugins"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'-Update ...'</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-node">"ruby #{script_name} --update"</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-identifier">puts</span> <span class="ruby-string">'See README for further information.'</span>
|
||||
<span class="ruby-identifier">puts</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- usage-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- usage-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
379
doc/Plugin.html
@@ -1,379 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class Plugin - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/common/plugins/plugin.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-register_options">#register_options</a>
|
||||
|
||||
<li><a href="#method-i-run">#run</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class Plugin</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<pre>WPScan - WordPress Security Scanner
|
||||
Copyright (C) 2012-2013
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.</pre>
|
||||
|
||||
<p>++</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-author" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">author</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-registered_options" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">registered_options</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(infos = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/plugins/plugin.rb, line 23</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">infos</span> = {})
|
||||
<span class="ruby-ivar">@author</span> = <span class="ruby-identifier">infos</span>[<span class="ruby-value">:author</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-register_options" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">register_options</span><span
|
||||
class="method-args">(*options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>param <a href="Array.html">Array</a> options</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="register_options-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/plugins/plugin.rb, line 32</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">register_options</span>(*<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">option</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Each option must be an array, #{option.class} supplied"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@registered_options</span> = <span class="ruby-identifier">options</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- register_options-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- register_options-method -->
|
||||
|
||||
|
||||
<div id="method-i-run" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">run</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="run-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/plugins/plugin.rb, line 27</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- run-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- run-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
380
doc/Plugins.html
@@ -1,380 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class Plugins - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/common/plugins/plugins.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Array.html">Array</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-register">#register</a>
|
||||
|
||||
<li><a href="#method-i-register_plugin">#register_plugin</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class Plugins</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<pre>WPScan - WordPress Security Scanner
|
||||
Copyright (C) 2012-2013
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.</pre>
|
||||
|
||||
<p>++</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-option_parser" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">option_parser</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(option_parser = nil)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/plugins/plugins.rb, line 23</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">option_parser</span> = <span class="ruby-keyword">nil</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">option_parser</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">option_parser</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">CustomOptionParser</span>)
|
||||
<span class="ruby-ivar">@option_parser</span> = <span class="ruby-identifier">option_parser</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"The parser must be an instance of CustomOptionParser, #{option_parser.class} supplied"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-ivar">@option_parser</span> = <span class="ruby-constant">CustomOptionParser</span>.<span class="ruby-identifier">new</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-register" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">register</span><span
|
||||
class="method-args">(*plugins)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>param Array(<a href="Plugin.html">Plugin</a>) plugins</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="register-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/plugins/plugins.rb, line 36</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">register</span>(*<span class="ruby-identifier">plugins</span>)
|
||||
<span class="ruby-identifier">plugins</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">plugin</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">register_plugin</span>(<span class="ruby-identifier">plugin</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- register-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- register-method -->
|
||||
|
||||
|
||||
<div id="method-i-register_plugin" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">register_plugin</span><span
|
||||
class="method-args">(plugin)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>param <a href="Plugin.html">Plugin</a> plugin</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="register_plugin-source">
|
||||
<pre><span class="ruby-comment"># File lib/common/plugins/plugins.rb, line 43</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">register_plugin</span>(<span class="ruby-identifier">plugin</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">plugin</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Plugin</span>)
|
||||
<span class="ruby-keyword">self</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">plugin</span>
|
||||
|
||||
<span class="ruby-comment"># A plugin may not have options</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">plugin_options</span> = <span class="ruby-identifier">plugin</span>.<span class="ruby-identifier">registered_options</span>
|
||||
<span class="ruby-ivar">@option_parser</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">plugin_options</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-node">"The argument must be an instance of Plugin, #{plugin.class} supplied"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- register_plugin-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- register_plugin-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
401
doc/README.html
@@ -1,401 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>README - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body class="file">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation" class="description">
|
||||
|
||||
<p><em>__</em></p>
|
||||
|
||||
<pre>__ _______ _____
|
||||
\ \ / / __ \ / ____|
|
||||
\ \ /\ / /| |__) | (___ ___ __ _ _ __
|
||||
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
|
||||
\ /\ / | | ____) | (__| (_| | | | |
|
||||
\/ \/ |_| |_____/ \___|\__,_|_| |_|</pre>
|
||||
|
||||
<p><em>__</em></p>
|
||||
|
||||
<h2 id="label-LICENSE%3D%3D">LICENSE==</h2>
|
||||
|
||||
<p>WPScan - WordPress Security Scanner Copyright (C) 2011-2013 The WPScan Team</p>
|
||||
|
||||
<p>This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation, either version 3 of the License, or (at your option)
|
||||
any later version.</p>
|
||||
|
||||
<p>This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.</p>
|
||||
|
||||
<p>You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see <<a
|
||||
href="http://www.gnu.org/licenses/">www.gnu.org/licenses/</a>>.</p>
|
||||
|
||||
<p>ryandewhurst at gmail</p>
|
||||
|
||||
<h2 id="label-INSTALL%3D%3D">INSTALL==</h2>
|
||||
|
||||
<pre class="ruby"><span class="ruby-constant">WPScan</span> <span class="ruby-identifier">comes</span> <span class="ruby-identifier">pre</span><span class="ruby-operator">-</span><span class="ruby-identifier">installed</span> <span class="ruby-identifier">on</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">following</span> <span class="ruby-constant">Linux</span> <span class="ruby-identifier">distributions</span><span class="ruby-operator">:</span>
|
||||
|
||||
* <span class="ruby-constant">BackBox</span> <span class="ruby-constant">Linux</span>
|
||||
* <span class="ruby-constant">BackTrack</span> <span class="ruby-constant">Linux</span> (<span class="ruby-identifier">outdated</span> <span class="ruby-constant">WPScan</span> <span class="ruby-identifier">installed</span>, <span class="ruby-identifier">update</span> <span class="ruby-identifier">needed</span>)
|
||||
* <span class="ruby-constant">Pentoo</span>
|
||||
* <span class="ruby-constant">SamuraiWTF</span>
|
||||
|
||||
<span class="ruby-constant">Prerequisites</span><span class="ruby-operator">:</span>
|
||||
|
||||
* <span class="ruby-constant">Windows</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">supported</span>
|
||||
* <span class="ruby-constant">Ruby</span> =<span class="ruby-operator">></span> <span class="ruby-value">1.9</span>
|
||||
* <span class="ruby-constant">RubyGems</span>
|
||||
* <span class="ruby-constant">Git</span>
|
||||
|
||||
<span class="ruby-operator">-</span><span class="ruby-operator">></span> <span class="ruby-constant">Installing</span> <span class="ruby-identifier">on</span> <span class="ruby-constant">Debian</span><span class="ruby-operator">/</span><span class="ruby-constant">Ubuntu</span><span class="ruby-operator">:</span>
|
||||
|
||||
<span class="ruby-identifier">sudo</span> <span class="ruby-identifier">apt</span><span class="ruby-operator">-</span><span class="ruby-identifier">get</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">libcurl4</span><span class="ruby-operator">-</span><span class="ruby-identifier">gnutls</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span> <span class="ruby-identifier">libopenssl</span><span class="ruby-operator">-</span><span class="ruby-identifier">ruby</span> <span class="ruby-identifier">libxml2</span> <span class="ruby-identifier">libxml2</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span> <span class="ruby-identifier">libxslt1</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span> <span class="ruby-identifier">ruby</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span>
|
||||
<span class="ruby-identifier">git</span> <span class="ruby-identifier">clone</span> <span class="ruby-identifier">https</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rgithub.com/</span><span class="ruby-identifier">wpscanteam</span><span class="ruby-operator">/</span><span class="ruby-identifier">wpscan</span>.<span class="ruby-identifier">git</span>
|
||||
<span class="ruby-identifier">cd</span> <span class="ruby-identifier">wpscan</span>
|
||||
<span class="ruby-identifier">sudo</span> <span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">bundler</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">bundle</span> <span class="ruby-identifier">install</span> <span class="ruby-operator">-</span><span class="ruby-operator">-</span><span class="ruby-identifier">without</span> <span class="ruby-identifier">test</span> <span class="ruby-identifier">development</span>
|
||||
|
||||
<span class="ruby-operator">-</span><span class="ruby-operator">></span> <span class="ruby-constant">Installing</span> <span class="ruby-identifier">on</span> <span class="ruby-constant">Fedora</span><span class="ruby-operator">:</span>
|
||||
|
||||
<span class="ruby-identifier">sudo</span> <span class="ruby-identifier">yum</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">libcurl</span><span class="ruby-operator">-</span><span class="ruby-identifier">devel</span>
|
||||
<span class="ruby-identifier">git</span> <span class="ruby-identifier">clone</span> <span class="ruby-identifier">https</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rgithub.com/</span><span class="ruby-identifier">wpscanteam</span><span class="ruby-operator">/</span><span class="ruby-identifier">wpscan</span>.<span class="ruby-identifier">git</span>
|
||||
<span class="ruby-identifier">cd</span> <span class="ruby-identifier">wpscan</span>
|
||||
<span class="ruby-identifier">sudo</span> <span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">bundler</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">bundle</span> <span class="ruby-identifier">install</span> <span class="ruby-operator">-</span><span class="ruby-operator">-</span><span class="ruby-identifier">without</span> <span class="ruby-identifier">test</span> <span class="ruby-identifier">development</span>
|
||||
|
||||
<span class="ruby-operator">-</span><span class="ruby-operator">></span> <span class="ruby-constant">Installing</span> <span class="ruby-identifier">on</span> <span class="ruby-constant">Archlinux</span><span class="ruby-operator">:</span>
|
||||
|
||||
<span class="ruby-identifier">pacman</span> <span class="ruby-operator">-</span><span class="ruby-constant">Sy</span> <span class="ruby-identifier">ruby</span>
|
||||
<span class="ruby-identifier">pacman</span> <span class="ruby-operator">-</span><span class="ruby-constant">Sy</span> <span class="ruby-identifier">libyaml</span>
|
||||
|
||||
<span class="ruby-identifier">git</span> <span class="ruby-identifier">clone</span> <span class="ruby-identifier">https</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rgithub.com/</span><span class="ruby-identifier">wpscanteam</span><span class="ruby-operator">/</span><span class="ruby-identifier">wpscan</span>.<span class="ruby-identifier">git</span>
|
||||
<span class="ruby-identifier">cd</span> <span class="ruby-identifier">wpscan</span>
|
||||
<span class="ruby-identifier">sudo</span> <span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">bundler</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">bundle</span> <span class="ruby-identifier">install</span> <span class="ruby-operator">-</span><span class="ruby-operator">-</span><span class="ruby-identifier">without</span> <span class="ruby-identifier">test</span> <span class="ruby-identifier">development</span>
|
||||
|
||||
<span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">typhoeus</span>
|
||||
<span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">nokogiri</span>
|
||||
|
||||
<span class="ruby-operator">-</span><span class="ruby-operator">></span> <span class="ruby-constant">Installing</span> <span class="ruby-identifier">on</span> <span class="ruby-constant">Mac</span> <span class="ruby-constant">OS</span> <span class="ruby-constant">X</span><span class="ruby-operator">:</span>
|
||||
|
||||
<span class="ruby-identifier">git</span> <span class="ruby-identifier">clone</span> <span class="ruby-identifier">https</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rgithub.com/</span><span class="ruby-identifier">wpscanteam</span><span class="ruby-operator">/</span><span class="ruby-identifier">wpscan</span>.<span class="ruby-identifier">git</span>
|
||||
<span class="ruby-identifier">cd</span> <span class="ruby-identifier">wpscan</span>
|
||||
<span class="ruby-identifier">sudo</span> <span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">bundler</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">bundle</span> <span class="ruby-identifier">install</span> <span class="ruby-operator">-</span><span class="ruby-operator">-</span><span class="ruby-identifier">without</span> <span class="ruby-identifier">test</span> <span class="ruby-identifier">development</span>
|
||||
</pre>
|
||||
|
||||
<h2 id="label-KNOWN+ISSUES%3D%3D">KNOWN ISSUES==</h2>
|
||||
|
||||
<pre class="ruby"><span class="ruby-operator">-</span> <span class="ruby-constant">Typhoeus</span> <span class="ruby-identifier">segmentation</span> <span class="ruby-identifier">fault</span><span class="ruby-operator">:</span>
|
||||
<span class="ruby-constant">Update</span> <span class="ruby-identifier">cURL</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">version</span> =<span class="ruby-operator">></span> <span class="ruby-value">7.21</span> (<span class="ruby-identifier">may</span> <span class="ruby-identifier">have</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">source</span>)
|
||||
<span class="ruby-constant">See</span> <span class="ruby-identifier">http</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rcode.google.com/</span><span class="ruby-identifier">p</span><span class="ruby-operator">/</span><span class="ruby-identifier">wpscan</span><span class="ruby-operator">/</span><span class="ruby-identifier">issues</span><span class="ruby-operator">/</span><span class="ruby-identifier">detail?</span><span class="ruby-identifier">id</span>=<span class="ruby-value">81</span>
|
||||
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Proxy</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">working</span><span class="ruby-operator">:</span>
|
||||
<span class="ruby-constant">Update</span> <span class="ruby-identifier">cURL</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">version</span> =<span class="ruby-operator">></span> <span class="ruby-value">7.21</span><span class="ruby-value">.7</span> (<span class="ruby-identifier">may</span> <span class="ruby-identifier">have</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">source</span>).
|
||||
|
||||
<span class="ruby-constant">Installation</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">sources</span> <span class="ruby-operator">:</span>
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Grab</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">sources</span> <span class="ruby-identifier">from</span> <span class="ruby-identifier">http</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rcurl.haxx.se/</span><span class="ruby-identifier">download</span>.<span class="ruby-identifier">html</span>
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Decompress</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">archive</span>
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Open</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">folder</span> <span class="ruby-identifier">with</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">extracted</span> <span class="ruby-identifier">files</span>
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> .<span class="ruby-operator">/</span><span class="ruby-identifier">configure</span>
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> <span class="ruby-identifier">make</span>
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> <span class="ruby-identifier">sudo</span> <span class="ruby-identifier">make</span> <span class="ruby-identifier">install</span>
|
||||
<span class="ruby-operator">-</span> <span class="ruby-constant">Run</span> <span class="ruby-identifier">sudo</span> <span class="ruby-identifier">ldconfig</span>
|
||||
|
||||
<span class="ruby-operator">-</span> <span class="ruby-identifier">cannot</span> <span class="ruby-identifier">load</span> <span class="ruby-identifier">such</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">-</span><span class="ruby-operator">-</span> <span class="ruby-identifier">readline</span><span class="ruby-operator">:</span>
|
||||
<span class="ruby-constant">Run</span> <span class="ruby-identifier">sudo</span> <span class="ruby-identifier">aptitude</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">libreadline5</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span> <span class="ruby-identifier">libncurses5</span><span class="ruby-operator">-</span><span class="ruby-identifier">dev</span>
|
||||
|
||||
<span class="ruby-constant">Then</span>, <span class="ruby-identifier">open</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">directory</span> <span class="ruby-identifier">of</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">readline</span> <span class="ruby-identifier">gem</span> (<span class="ruby-identifier">you</span> <span class="ruby-identifier">have</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">locate</span> <span class="ruby-identifier">it</span>)
|
||||
|
||||
<span class="ruby-identifier">cd</span> <span class="ruby-operator">~</span><span class="ruby-regexp">%r.rvm/</span><span class="ruby-identifier">rc</span><span class="ruby-operator">/</span><span class="ruby-identifier">ruby</span><span class="ruby-operator">-</span><span class="ruby-value">1.9</span><span class="ruby-value">.2</span><span class="ruby-operator">-</span><span class="ruby-identifier">p180</span><span class="ruby-operator">/</span><span class="ruby-identifier">ext</span><span class="ruby-operator">/</span><span class="ruby-identifier">readline</span>
|
||||
<span class="ruby-identifier">ruby</span> <span class="ruby-identifier">extconf</span>.<span class="ruby-identifier">rb</span>
|
||||
<span class="ruby-identifier">make</span>
|
||||
<span class="ruby-identifier">make</span> <span class="ruby-identifier">install</span>
|
||||
|
||||
<span class="ruby-constant">See</span> <span class="ruby-identifier">http</span>:<span class="ruby-operator">/</span><span class="ruby-regexp">%rvvv.tobiassjosten.net/</span><span class="ruby-identifier">ruby</span><span class="ruby-operator">-</span><span class="ruby-identifier">on</span><span class="ruby-operator">-</span><span class="ruby-identifier">rails</span><span class="ruby-operator">/</span><span class="ruby-identifier">fixing</span><span class="ruby-operator">-</span><span class="ruby-identifier">readline</span><span class="ruby-operator">-</span><span class="ruby-keyword">for</span><span class="ruby-operator">-</span><span class="ruby-identifier">the</span><span class="ruby-operator">-</span><span class="ruby-identifier">ruby</span><span class="ruby-operator">-</span><span class="ruby-identifier">on</span><span class="ruby-operator">-</span><span class="ruby-identifier">rails</span><span class="ruby-operator">-</span><span class="ruby-identifier">console</span><span class="ruby-operator">/</span> <span class="ruby-keyword">for</span> <span class="ruby-identifier">more</span> <span class="ruby-identifier">details</span>
|
||||
</pre>
|
||||
|
||||
<h2 id="label-WPSCAN+ARGUMENTS%3D%3D">WPSCAN ARGUMENTS==</h2>
|
||||
|
||||
<p>–update Update to the latest revision</p>
|
||||
|
||||
<p>–url | -u <target url> The WordPress URL/domain to scan.</p>
|
||||
|
||||
<p>–force | -f Forces WPScan to not check if the remote site is running
|
||||
WordPress.</p>
|
||||
|
||||
<p>–enumerate | -e [option(s)] Enumeration.</p>
|
||||
|
||||
<pre>option :
|
||||
u usernames from id 1 to 10
|
||||
u[10-20] usernames from id 10 to 20 (you must write [] chars)
|
||||
p plugins
|
||||
vp only vulnerable plugins
|
||||
ap all plugins (can take a long time)
|
||||
tt timthumbs
|
||||
t themes
|
||||
vp only vulnerable themes
|
||||
at all themes (can take a long time)
|
||||
Multiple values are allowed : '-e tt,p' will enumerate timthumbs and plugins
|
||||
If no option is supplied, the default is 'vt,tt,u,vp'</pre>
|
||||
|
||||
<p>–exclude-content-based ‘<regexp or string>’ Used with the
|
||||
enumeration option, will exclude all occurence based on the regexp or
|
||||
string supplied</p>
|
||||
|
||||
<pre>You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)</pre>
|
||||
|
||||
<p>–config-file | -c <config file> Use the specified config file</p>
|
||||
|
||||
<p>–follow-redirection If the target url has a redirection, it will be
|
||||
followed without asking if you wanted to do so or not</p>
|
||||
|
||||
<p>–wp-content-dir <wp content dir> WPScan try to find the content
|
||||
directory (ie wp-content) by scanning the index page, however you can
|
||||
specified it. Subdirectories are allowed</p>
|
||||
|
||||
<p>–wp-plugins-dir <wp plugins dir> Same thing than –wp-content-dir but
|
||||
for the plugins directory. If not supplied, WPScan will use
|
||||
wp-content-dir/plugins. Subdirectories are allowed</p>
|
||||
|
||||
<p>–proxy <[protocol://]host:port> Supply a proxy (will override the
|
||||
one from conf/browser.conf.json).</p>
|
||||
|
||||
<pre>HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used</pre>
|
||||
|
||||
<p>–proxy-auth <username:password> Supply the proxy login credentials
|
||||
(will override the one from conf/browser.conf.json).</p>
|
||||
|
||||
<p>–basic-auth <username:password> Set the HTTP Basic authentification</p>
|
||||
|
||||
<p>–wordlist | -w <wordlist> Supply a wordlist for the password bruter
|
||||
and do the brute.</p>
|
||||
|
||||
<p>–threads | -t <number of threads> The number of threads to use when
|
||||
multi-threading requests. (will override the value from
|
||||
conf/browser.conf.json)</p>
|
||||
|
||||
<p>–username | -U <username> Only brute force the supplied username.</p>
|
||||
|
||||
<p>–help | -h This help screen.</p>
|
||||
|
||||
<p>–verbose | -v Verbose output.</p>
|
||||
|
||||
<h2 id="label-WPSCAN+EXAMPLES%3D%3D">WPSCAN EXAMPLES==</h2>
|
||||
|
||||
<p>Do ‘non-intrusive’ checks…</p>
|
||||
|
||||
<pre>ruby wpscan.rb --url www.example.com</pre>
|
||||
|
||||
<p>Do wordlist password brute force on enumerated users using 50 threads…</p>
|
||||
|
||||
<pre>ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50</pre>
|
||||
|
||||
<p>Do wordlist password brute force on the ‘admin’ username only…</p>
|
||||
|
||||
<pre>ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin</pre>
|
||||
|
||||
<p>Enumerate instaled plugins…</p>
|
||||
|
||||
<pre>ruby wpscan.rb --url www.example.com --enumerate p</pre>
|
||||
|
||||
<h2 id="label-WPSTOOLS+ARGUMENTS%3D%3D">WPSTOOLS ARGUMENTS==</h2>
|
||||
|
||||
<p>–help | -h This help screen. –Verbose | -v Verbose output. –update
|
||||
| -u Update to the latest revision. –generate_plugin_list [number of
|
||||
pages] Generate a new data/plugins.txt file. (supply number of
|
||||
<strong>pages</strong> to parse, default : 150) –gpl Alias for
|
||||
–generate_plugin_list –check-local-vulnerable-files | –clvf <local
|
||||
directory> Perform a recursive scan in the <local directory> to
|
||||
find vulnerable files or shells</p>
|
||||
|
||||
<h2 id="label-WPSTOOLS+EXAMPLES%3D%3D">WPSTOOLS EXAMPLES==</h2>
|
||||
<ul><li>
|
||||
<p>Generate a new ‘most popular’ plugin list, up to 150 pages …</p>
|
||||
</li></ul>
|
||||
|
||||
<p>ruby wpstools.rb –generate_plugin_list 150</p>
|
||||
<ul><li>
|
||||
<p>Locally scan a wordpress installation for vulnerable files or shells :</p>
|
||||
</li></ul>
|
||||
|
||||
<p>ruby wpstools.rb –check-local-vulnerable-files /var/www/wordpress/</p>
|
||||
|
||||
<h3 id="label-PROJECT+HOME%3D%3D%3D">PROJECT HOME===</h3>
|
||||
|
||||
<p><a href="http://www.wpscan.org">www.wpscan.org</a></p>
|
||||
|
||||
<h3 id="label-REPOSITORY%3D%3D%3D">REPOSITORY===</h3>
|
||||
|
||||
<p><a
|
||||
href="https://github.com/wpscanteam/wpscan">github.com/wpscanteam/wpscan</a></p>
|
||||
|
||||
<h3 id="label-ISSUES%3D%3D%3D">ISSUES===</h3>
|
||||
|
||||
<p><a
|
||||
href="https://github.com/wpscanteam/wpscan/issues">github.com/wpscanteam/wpscan/issues</a></p>
|
||||
|
||||
<h3 id="label-SPONSOR%3D%3D%3D">SPONSOR===</h3>
|
||||
|
||||
<p>WPScan is sponsored by the RandomStorm Open Source Initiative.</p>
|
||||
|
||||
<p>Visit RandomStorm at <a
|
||||
href="http://www.randomstorm.com">www.randomstorm.com</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,341 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class SvnParser - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpstools/plugins/list_generator/svn_parser.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-parse">#parse</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class SvnParser</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<p>This Class Parses SVN Repositories via HTTP</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-keep_empty_dirs" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">keep_empty_dirs</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-svn_root" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">svn_root</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-verbose" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">verbose</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(svn_root)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/svn_parser.rb, line 24</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">svn_root</span>)
|
||||
<span class="ruby-ivar">@svn_root</span> = <span class="ruby-identifier">svn_root</span>
|
||||
<span class="ruby-ivar">@svn_browser</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>
|
||||
<span class="ruby-ivar">@svn_hydra</span> = <span class="ruby-ivar">@svn_browser</span>.<span class="ruby-identifier">hydra</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-parse" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">parse</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="parse-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpstools/plugins/list_generator/svn_parser.rb, line 30</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">parse</span>
|
||||
<span class="ruby-identifier">get_root_directories</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- parse-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- parse-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,336 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class SvnUpdater - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/updater/svn_updater.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Updater.html">Updater</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-is_installed-3F">#is_installed?</a>
|
||||
|
||||
<li><a href="#method-i-local_revision_number">#local_revision_number</a>
|
||||
|
||||
<li><a href="#method-i-update">#update</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class SvnUpdater</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Constants -->
|
||||
<section id="constants-list" class="section">
|
||||
<h3 class="section-header">Constants</h3>
|
||||
<dl>
|
||||
|
||||
<dt id="REVISION_PATTERN">REVISION_PATTERN
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
<dt id="TRUNK_URL">TRUNK_URL
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-is_installed-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">is_installed?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="is_installed-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/svn_updater.rb, line 26</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">is_installed?</span>
|
||||
<span class="ruby-node">%x[svn info "#@repo_directory" --xml 2>&1]</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rrevision=/</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- is_installed-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- is_installed-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-local_revision_number" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">local_revision_number</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="local_revision_number-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/svn_updater.rb, line 30</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">local_revision_number</span>
|
||||
<span class="ruby-identifier">local_revision</span> = <span class="ruby-node">%x[svn info "#@repo_directory" --xml 2>&1]</span>
|
||||
<span class="ruby-identifier">local_revision</span>[<span class="ruby-constant">REVISION_PATTERN</span>, <span class="ruby-value">1</span>].<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- local_revision_number-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- local_revision_number-method -->
|
||||
|
||||
|
||||
<div id="method-i-update" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">update</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="update-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/svn_updater.rb, line 35</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">update</span>
|
||||
<span class="ruby-node">%x[svn up "#@repo_directory"]</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- update-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- update-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
247
doc/URI.html
@@ -1,247 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module URI - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/common_helper.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-escape">::escape</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module URI</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-escape" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">escape</span><span
|
||||
class="method-args">(str)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="escape-source">
|
||||
<pre><span class="ruby-comment"># File lib/common_helper.rb, line 102</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-identifier">str</span>)
|
||||
<span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form_component</span>(<span class="ruby-identifier">str</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'+'</span>, <span class="ruby-string">'%20'</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- escape-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- escape-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
379
doc/Updater.html
@@ -1,379 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class Updater - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/updater/updater.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-is_installed-3F">#is_installed?</a>
|
||||
|
||||
<li><a href="#method-i-local_revision_number">#local_revision_number</a>
|
||||
|
||||
<li><a href="#method-i-update">#update</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class Updater</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<p>This class act as an absract one</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-repo_directory" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">repo_directory</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(repo_directory = nil)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>TODO : add a last ‘/ to <a
|
||||
href="Updater.html#attribute-i-repo_directory">#repo_directory</a> if it’s
|
||||
not present</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/updater.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">repo_directory</span> = <span class="ruby-keyword">nil</span>)
|
||||
<span class="ruby-ivar">@repo_directory</span> = <span class="ruby-identifier">repo_directory</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-is_installed-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">is_installed?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="is_installed-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/updater.rb, line 29</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">is_installed?</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- is_installed-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- is_installed-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-local_revision_number" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">local_revision_number</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="local_revision_number-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/updater.rb, line 33</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">local_revision_number</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- local_revision_number-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- local_revision_number-method -->
|
||||
|
||||
|
||||
<div id="method-i-update" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">update</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="update-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/updater.rb, line 37</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">update</span>
|
||||
<span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- update-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- update-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,298 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class UpdaterFactory - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/updater/updater_factory.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-available_updaters_classes">::available_updaters_classes</a>
|
||||
|
||||
<li><a href="#method-c-get_updater">::get_updater</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class UpdaterFactory</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-get_updater" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_updater</span><span
|
||||
class="method-args">(repo_directory)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_updater-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/updater_factory.rb, line 21</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get_updater</span>(<span class="ruby-identifier">repo_directory</span>)
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">available_updaters_classes</span>().<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">updater_symbol</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">updater</span> = <span class="ruby-constant">Object</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">updater_symbol</span>).<span class="ruby-identifier">new</span>(<span class="ruby-identifier">repo_directory</span>)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">updater</span>.<span class="ruby-identifier">is_installed?</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">updater</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_updater-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_updater-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="protected-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-available_updaters_classes" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">available_updaters_classes</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>return array of class symbols</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="available_updaters_classes-source">
|
||||
<pre><span class="ruby-comment"># File lib/updater/updater_factory.rb, line 35</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">available_updaters_classes</span>
|
||||
<span class="ruby-constant">Object</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">%r^.+Updater$/</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- available_updaters_classes-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- available_updaters_classes-method -->
|
||||
|
||||
|
||||
</section><!-- protected-class-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,301 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class Vulnerable - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/vulnerable.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-vulnerabilities">#vulnerabilities</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class Vulnerable</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-vulns_file" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">vulns_file</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-vulns_xpath" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">vulns_xpath</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-vulnerabilities" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">vulnerabilities</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>@return an array of <a href="WpVulnerability.html">WpVulnerability</a> (can
|
||||
be empty)</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="vulnerabilities-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/vulnerable.rb, line 24</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">vulnerabilities</span>
|
||||
<span class="ruby-identifier">vulnerabilities</span> = []
|
||||
|
||||
<span class="ruby-identifier">xml</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-ivar">@vulns_file</span>)) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">config</span>.<span class="ruby-identifier">noblanks</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">xml</span>.<span class="ruby-identifier">xpath</span>(<span class="ruby-ivar">@vulns_xpath</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">vulnerabilities</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpVulnerability</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'title'</span>).<span class="ruby-identifier">text</span>,
|
||||
<span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'reference'</span>).<span class="ruby-identifier">map</span>(&<span class="ruby-value">:text</span>),
|
||||
<span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'type'</span>).<span class="ruby-identifier">text</span>,
|
||||
<span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'metasploit'</span>).<span class="ruby-identifier">map</span>(&<span class="ruby-value">:text</span>)
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">vulnerabilities</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- vulnerabilities-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- vulnerabilities-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
593
doc/WebSite.html
@@ -1,593 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WebSite - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/web_site.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-page_hash">::page_hash</a>
|
||||
|
||||
<li><a href="#method-i-error_404_hash">#error_404_hash</a>
|
||||
|
||||
<li><a href="#method-i-has_basic_auth-3F">#has_basic_auth?</a>
|
||||
|
||||
<li><a href="#method-i-has_xml_rpc-3F">#has_xml_rpc?</a>
|
||||
|
||||
<li><a href="#method-i-homepage_hash">#homepage_hash</a>
|
||||
|
||||
<li><a href="#method-i-online-3F">#online?</a>
|
||||
|
||||
<li><a href="#method-i-redirection">#redirection</a>
|
||||
|
||||
<li><a href="#method-i-rss_url">#rss_url</a>
|
||||
|
||||
<li><a href="#method-i-wordpress-3F">#wordpress?</a>
|
||||
|
||||
<li><a href="#method-i-xml_rpc_url">#xml_rpc_url</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WebSite</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-page_hash" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">page_hash</span><span
|
||||
class="method-args">(url)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Return the MD5 hash of the page given by url</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="page_hash-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 94</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">page_hash</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>).<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- page_hash-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- page_hash-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-error_404_hash" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">error_404_hash</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Return the MD5 hash of a 404 page</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="error_404_hash-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 106</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">error_404_hash</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@error_404_hash</span>
|
||||
<span class="ruby-identifier">non_existant_page</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">rand</span>(<span class="ruby-value">999_999_999</span>).<span class="ruby-identifier">to_s</span>) <span class="ruby-operator">+</span> <span class="ruby-string">'.html'</span>
|
||||
<span class="ruby-ivar">@error_404_hash</span> = <span class="ruby-constant">WebSite</span>.<span class="ruby-identifier">page_hash</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">non_existant_page</span>).<span class="ruby-identifier">to_s</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@error_404_hash</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- error_404_hash-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- error_404_hash-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_basic_auth-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_basic_auth?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_basic_auth-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 26</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_basic_auth?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">401</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_basic_auth-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_basic_auth-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_xml_rpc-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_xml_rpc?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_xml_rpc-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 56</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_xml_rpc?</span>
|
||||
<span class="ruby-operator">!</span><span class="ruby-identifier">xml_rpc_url</span>.<span class="ruby-identifier">nil?</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_xml_rpc-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_xml_rpc-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-homepage_hash" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">homepage_hash</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="homepage_hash-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 98</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">homepage_hash</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@homepage_hash</span>
|
||||
<span class="ruby-ivar">@homepage_hash</span> = <span class="ruby-constant">WebSite</span>.<span class="ruby-identifier">page_hash</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@homepage_hash</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- homepage_hash-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- homepage_hash-method -->
|
||||
|
||||
|
||||
<div id="method-i-online-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">online?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Checks if the remote website is up.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="online-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 22</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">online?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- online-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- online-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-redirection" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">redirection</span><span
|
||||
class="method-args">(url = nil)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>See if the remote url returns 30x redirect This method is recursive Return
|
||||
a string with the redirection or nil</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="redirection-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 76</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">redirection</span>(<span class="ruby-identifier">url</span> = <span class="ruby-keyword">nil</span>)
|
||||
<span class="ruby-identifier">redirection</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">url</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">301</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">302</span>
|
||||
<span class="ruby-identifier">redirection</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">headers_hash</span>[<span class="ruby-string">'location'</span>]
|
||||
|
||||
<span class="ruby-comment"># Let's check if there is a redirection in the redirection</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">other_redirection</span> = <span class="ruby-identifier">redirection</span>(<span class="ruby-identifier">redirection</span>)
|
||||
<span class="ruby-identifier">redirection</span> = <span class="ruby-identifier">other_redirection</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">redirection</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- redirection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- redirection-method -->
|
||||
|
||||
|
||||
<div id="method-i-rss_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">rss_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Will try to find the rss url in the homepage Only the first one found iw
|
||||
returned</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="rss_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 116</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">rss_url</span>
|
||||
<span class="ruby-identifier">homepage_body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>
|
||||
<span class="ruby-identifier">homepage_body</span>[<span class="ruby-regexp">%r{<link .* type="application/rss\+xml" .* href="([^"]+)" />}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- rss_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- rss_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-wordpress-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">wordpress?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>check if the remote website is actually running wordpress.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="wordpress-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 32</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wordpress?</span>
|
||||
<span class="ruby-identifier">wordpress</span> = <span class="ruby-keyword">false</span>
|
||||
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(
|
||||
<span class="ruby-identifier">login_url</span>(),
|
||||
{ <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> }
|
||||
)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r{WordPress}</span>
|
||||
<span class="ruby-identifier">wordpress</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(
|
||||
<span class="ruby-identifier">xml_rpc_url</span>,
|
||||
{ <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> }
|
||||
)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r{XML-RPC server accepts POST requests only}</span>
|
||||
<span class="ruby-identifier">wordpress</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">wordpress</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- wordpress-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- wordpress-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-xml_rpc_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">xml_rpc_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="xml_rpc_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/web_site.rb, line 60</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">xml_rpc_url</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@xmlrpc_url</span>
|
||||
<span class="ruby-identifier">headers</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">headers_hash</span>
|
||||
<span class="ruby-identifier">value</span> = <span class="ruby-identifier">headers</span>[<span class="ruby-string">'x-pingback'</span>]
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-ivar">@xmlrpc_url</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-ivar">@xmlrpc_url</span> = <span class="ruby-identifier">value</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@xmlrpc_url</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- xml_rpc_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- xml_rpc_url-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,311 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpConfigBackup - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_config_backup.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-config_backup_files">::config_backup_files</a>
|
||||
|
||||
<li><a href="#method-i-config_backup">#config_backup</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpConfigBackup</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-config_backup_files" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">config_backup_files</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>@return <a href="Array.html">Array</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="config_backup_files-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_config_backup.rb, line 49</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">config_backup_files</span>
|
||||
<span class="ruby-node">%w{
|
||||
wp-config.php~ #wp-config.php# wp-config.php.save wp-config.php.swp wp-config.php.swo wp-config.php_bak
|
||||
wp-config.bak wp-config.php.bak wp-config.save wp-config.old wp-config.php.old wp-config.php.orig
|
||||
wp-config.orig wp-config.php.original wp-config.original wp-config.txt
|
||||
}</span> <span class="ruby-comment"># thanks to Feross.org for these</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- config_backup_files-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- config_backup_files-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-config_backup" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">config_backup</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Checks to see if wp-config.php has a backup See <a
|
||||
href="http://www.feross.org/cmsploit/">www.feross.org/cmsploit/</a> return
|
||||
an array of backup config files url</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="config_backup-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_config_backup.rb, line 24</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">config_backup</span>
|
||||
<span class="ruby-identifier">found</span> = []
|
||||
<span class="ruby-identifier">backups</span> = <span class="ruby-constant">WpConfigBackup</span>.<span class="ruby-identifier">config_backup_files</span>
|
||||
<span class="ruby-identifier">browser</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>
|
||||
<span class="ruby-identifier">hydra</span> = <span class="ruby-identifier">browser</span>.<span class="ruby-identifier">hydra</span>
|
||||
|
||||
<span class="ruby-identifier">backups</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">file_url</span> = <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-constant">URI</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-identifier">file</span>)).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">request</span> = <span class="ruby-identifier">browser</span>.<span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">file_url</span>)
|
||||
|
||||
<span class="ruby-identifier">request</span>.<span class="ruby-identifier">on_complete</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{define}</span>] <span class="ruby-keyword">and</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{<\s?html}</span>]
|
||||
<span class="ruby-identifier">found</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">file_url</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-identifier">request</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">hydra</span>.<span class="ruby-identifier">run</span>
|
||||
|
||||
<span class="ruby-identifier">found</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- config_backup-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- config_backup-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,333 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpDetector - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_detector.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-aggressive_detection">::aggressive_detection</a>
|
||||
|
||||
<li><a href="#method-c-passive_detection">::passive_detection</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpDetector</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-aggressive_detection" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">aggressive_detection</span><span
|
||||
class="method-args">(options, items = [])</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="aggressive_detection-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_detector.rb, line 21</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">aggressive_detection</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">items</span> = [])
|
||||
<span class="ruby-constant">WpOptions</span>.<span class="ruby-identifier">check_options</span>(<span class="ruby-identifier">options</span>)
|
||||
|
||||
<span class="ruby-identifier">result</span> = <span class="ruby-identifier">items</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">items</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">items</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:only_vulnerable_ones</span>]
|
||||
<span class="ruby-identifier">result</span> = <span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>])
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">enum_results</span> = <span class="ruby-constant">WpEnumerator</span>.<span class="ruby-identifier">enumerate</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">enum_results</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">enum_result</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">already_present</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-comment"># Already found via passive detection</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">enum_result</span>.<span class="ruby-identifier">name</span>
|
||||
<span class="ruby-identifier">already_present</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">break</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">already_present</span>
|
||||
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">enum_result</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">result</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- aggressive_detection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- aggressive_detection-method -->
|
||||
|
||||
|
||||
<div id="method-c-passive_detection" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">passive_detection</span><span
|
||||
class="method-args">(url, type, wp_content_dir)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>plugins and themes can be found in the source code :</p>
|
||||
|
||||
<pre><script src='http://example.com/wp-content/plugins/s2member/...' />
|
||||
<link rel='stylesheet' href='http://example.com/wp-content/plugins/wp-minify/..' type='text/css' media='screen'/>
|
||||
...</pre>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="passive_detection-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_detector.rb, line 52</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">wp_content_dir</span>)
|
||||
<span class="ruby-identifier">items</span> = []
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-identifier">regex1</span> = <span class="ruby-regexp">%r{(?:[^=:]+)\s?(?:=|:)\s?(?:"|')[^"']+\\?/}</span>
|
||||
<span class="ruby-identifier">regex2</span> = <span class="ruby-regexp">%r{\\?/}</span>
|
||||
<span class="ruby-identifier">regex3</span> = <span class="ruby-regexp">%r{\\?/([^/\\"']+)\\?(?:/|"|')}</span>
|
||||
<span class="ruby-comment"># Custom wp-content dir is now used in this regex</span>
|
||||
<span class="ruby-identifier">names</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-node">%r#{regex1}#{Regexp.escape(wp_content_dir)}#{regex2}#{Regexp.escape(type)}#{regex3}/</span>)
|
||||
|
||||
<span class="ruby-identifier">names</span>.<span class="ruby-identifier">flatten!</span>
|
||||
<span class="ruby-identifier">names</span>.<span class="ruby-identifier">uniq!</span>
|
||||
|
||||
<span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">items</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpItem</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">url</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">item</span>,
|
||||
<span class="ruby-identifier">type</span><span class="ruby-operator">:</span> <span class="ruby-identifier">type</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-node">"#{item}/"</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">wp_content_dir</span>,
|
||||
<span class="ruby-identifier">vulns_file</span><span class="ruby-operator">:</span> <span class="ruby-string">''</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">items</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- passive_detection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- passive_detection-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,418 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpEnumerator - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_enumerator.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-enumerate">::enumerate</a>
|
||||
|
||||
<li><a href="#method-c-generate_items">::generate_items</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpEnumerator</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<p>Enumerate over a given set of items and check if they exist</p>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-enumerate" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">enumerate</span><span
|
||||
class="method-args">(options = {}, items = nil)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Enumerate the given Targets</p>
|
||||
|
||||
<h4 id="method-c-enumerate-label-Attributes">Attributes</h4>
|
||||
<ul><li>
|
||||
<p><code>targets</code> - targets to enumerate</p>
|
||||
</li><li><ul><li>
|
||||
<p><code>:base_url</code> - Base URL</p>
|
||||
</li></ul>
|
||||
</li><li><ul><li>
|
||||
<p><code>:wp_content</code> - wp-content directory</p>
|
||||
</li></ul>
|
||||
</li><li><ul><li>
|
||||
<p><code>:path</code> - Path to plugin</p>
|
||||
</li></ul>
|
||||
</li><li>
|
||||
<p><code>type</code> - "plugins" or "themes", item to enumerate</p>
|
||||
</li><li>
|
||||
<p><code>filename</code> - filename in the data directory with paths</p>
|
||||
</li><li>
|
||||
<p><code>show_progression</code> - Show a progress bar during enumeration</p>
|
||||
</li></ul>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="enumerate-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_enumerator.rb, line 33</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">enumerate</span>(<span class="ruby-identifier">options</span> = {}, <span class="ruby-identifier">items</span> = <span class="ruby-keyword">nil</span>)
|
||||
|
||||
<span class="ruby-constant">WpOptions</span>.<span class="ruby-identifier">check_options</span>(<span class="ruby-identifier">options</span>)
|
||||
|
||||
<span class="ruby-identifier">targets</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">generate_items</span>(<span class="ruby-identifier">options</span>)
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">items</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">targets</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">i</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">found</span> = []
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">request_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">enum_browser</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>
|
||||
<span class="ruby-identifier">enum_hydra</span> = <span class="ruby-identifier">enum_browser</span>.<span class="ruby-identifier">hydra</span>
|
||||
<span class="ruby-identifier">enumerate_size</span> = <span class="ruby-identifier">targets</span>.<span class="ruby-identifier">size</span>
|
||||
<span class="ruby-identifier">exclude_regexp</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:exclude_content_based</span>] <span class="ruby-operator">?</span> <span class="ruby-node">%r{#{options[:exclude_content_based]}}</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">show_progression</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:show_progression</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword">false</span>
|
||||
|
||||
<span class="ruby-identifier">targets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">target</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">target</span>.<span class="ruby-identifier">get_full_url</span>
|
||||
|
||||
<span class="ruby-identifier">request</span> = <span class="ruby-identifier">enum_browser</span>.<span class="ruby-identifier">forge_request</span>(<span class="ruby-identifier">url</span>, { <span class="ruby-identifier">cache_timeout</span><span class="ruby-operator">:</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span> })
|
||||
<span class="ruby-identifier">request_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
|
||||
<span class="ruby-identifier">request</span>.<span class="ruby-identifier">on_complete</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">response</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">page_hash</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
|
||||
|
||||
<span class="ruby-identifier">print</span> <span class="ruby-node">"\rChecking for #{enumerate_size} total #{options[:type]}... #{(request_count * 100) / enumerate_size}% complete."</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">show_progression</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-constant">WpTarget</span>.<span class="ruby-identifier">valid_response_codes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">page_hash</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:error_404_hash</span>] <span class="ruby-keyword">and</span> <span class="ruby-identifier">page_hash</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:homepage_hash</span>]
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:exclude_content_based</span>]
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-identifier">exclude_regexp</span>]
|
||||
<span class="ruby-identifier">found</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">target</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">found</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">target</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">enum_hydra</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-identifier">request</span>)
|
||||
<span class="ruby-identifier">queue_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">queue_count</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">enum_browser</span>.<span class="ruby-identifier">max_threads</span>
|
||||
<span class="ruby-identifier">enum_hydra</span>.<span class="ruby-identifier">run</span>
|
||||
<span class="ruby-identifier">queue_count</span> = <span class="ruby-value">0</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">enum_hydra</span>.<span class="ruby-identifier">run</span>
|
||||
<span class="ruby-identifier">found</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- enumerate-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- enumerate-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="protected-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-generate_items" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">generate_items</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="generate_items-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_enumerator.rb, line 93</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">generate_items</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-identifier">only_vulnerable</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:only_vulnerable_ones</span>]
|
||||
<span class="ruby-identifier">file</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>]
|
||||
<span class="ruby-identifier">vulns_file</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>]
|
||||
<span class="ruby-identifier">wp_content_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>]
|
||||
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-identifier">type</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>]
|
||||
<span class="ruby-identifier">plugins_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_plugins_dir</span>]
|
||||
<span class="ruby-identifier">targets_url</span> = []
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">only_vulnerable</span>
|
||||
<span class="ruby-comment"># Open and parse the 'most popular' plugin list...</span>
|
||||
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-string">'r'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">readlines</span>.<span class="ruby-identifier">collect</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">l</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">strip</span>
|
||||
<span class="ruby-identifier">targets_url</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpItem</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">url</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-identifier">l</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">wp_content_dir</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">l</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r.+\/.+/</span> <span class="ruby-operator">?</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">l</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r\/$/</span>, <span class="ruby-string">''</span>),
|
||||
<span class="ruby-identifier">vulns_file</span><span class="ruby-operator">:</span> <span class="ruby-identifier">vulns_file</span>,
|
||||
<span class="ruby-identifier">type</span><span class="ruby-operator">:</span> <span class="ruby-identifier">type</span>,
|
||||
<span class="ruby-identifier">wp_plugins_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">plugins_dir</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-comment"># Timthumbs have no XML file</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rtimthumbs/</span>
|
||||
<span class="ruby-identifier">xml</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">vulns_file</span>)) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">config</span>.<span class="ruby-identifier">noblanks</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-comment"># We check if the plugin name from the plugin_vulns_file is already in targets, otherwise we add it</span>
|
||||
<span class="ruby-identifier">xml</span>.<span class="ruby-identifier">xpath</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>]).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">name</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-string">'name'</span>).<span class="ruby-identifier">text</span>
|
||||
<span class="ruby-identifier">targets_url</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpItem</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">url</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-identifier">name</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">wp_content_dir</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">name</span>,
|
||||
<span class="ruby-identifier">vulns_file</span><span class="ruby-operator">:</span> <span class="ruby-identifier">vulns_file</span>,
|
||||
<span class="ruby-identifier">type</span><span class="ruby-operator">:</span> <span class="ruby-identifier">type</span>,
|
||||
<span class="ruby-identifier">wp_plugins_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">plugins_dir</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">targets_url</span>.<span class="ruby-identifier">flatten!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-identifier">targets_url</span>.<span class="ruby-identifier">uniq!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-comment"># randomize the plugins array to *maybe* help in some crappy IDS/IPS/WAF detection</span>
|
||||
<span class="ruby-identifier">targets_url</span>.<span class="ruby-identifier">sort_by!</span> { <span class="ruby-identifier">rand</span> }
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- generate_items-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- generate_items-method -->
|
||||
|
||||
|
||||
</section><!-- protected-class-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,280 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpFullPathDisclosure - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_full_path_disclosure.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-full_path_disclosure_url">#full_path_disclosure_url</a>
|
||||
|
||||
<li><a href="#method-i-has_full_path_disclosure-3F">#has_full_path_disclosure?</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpFullPathDisclosure</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-full_path_disclosure_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">full_path_disclosure_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="full_path_disclosure_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_full_path_disclosure.rb, line 27</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">full_path_disclosure_url</span>
|
||||
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'wp-includes/rss-functions.php'</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- full_path_disclosure_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- full_path_disclosure_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_full_path_disclosure-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_full_path_disclosure?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Check for Full Path Disclosure (FPD)</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_full_path_disclosure-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_full_path_disclosure.rb, line 22</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_full_path_disclosure?</span>
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">full_path_disclosure_url</span>())
|
||||
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{Fatal error}</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_full_path_disclosure-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_full_path_disclosure-3F-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
955
doc/WpItem.html
@@ -1,955 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpItem - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_item.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Vulnerable.html">Vulnerable</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-3C-3D-3E">#<=></a>
|
||||
|
||||
<li><a href="#method-i-3D-3D">#==</a>
|
||||
|
||||
<li><a href="#method-i-3D-3D-3D">#===</a>
|
||||
|
||||
<li><a href="#method-i-changelog_url">#changelog_url</a>
|
||||
|
||||
<li><a href="#method-i-directory_listing-3F">#directory_listing?</a>
|
||||
|
||||
<li><a href="#method-i-extract_name_from_url">#extract_name_from_url</a>
|
||||
|
||||
<li><a href="#method-i-get_full_url">#get_full_url</a>
|
||||
|
||||
<li><a href="#method-i-get_sub_folder">#get_sub_folder</a>
|
||||
|
||||
<li><a href="#method-i-get_url_without_filename">#get_url_without_filename</a>
|
||||
|
||||
<li><a href="#method-i-has_changelog-3F">#has_changelog?</a>
|
||||
|
||||
<li><a href="#method-i-has_readme-3F">#has_readme?</a>
|
||||
|
||||
<li><a href="#method-i-readme_url">#readme_url</a>
|
||||
|
||||
<li><a href="#method-i-to_s">#to_s</a>
|
||||
|
||||
<li><a href="#method-i-version">#version</a>
|
||||
|
||||
<li><a href="#method-i-wp_org_item-3F">#wp_org_item?</a>
|
||||
|
||||
<li><a href="#method-i-wp_org_url">#wp_org_url</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpItem</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-base_url" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">base_url</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-name" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">name</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-path" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">path</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-type" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">type</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-vulns_file" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">vulns_file</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-vulns_xpath" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">vulns_xpath</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-wp_content_dir" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">wp_content_dir</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-wp_plugins_dir" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">wp_plugins_dir</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-ivar">@type</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>]
|
||||
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>].<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r^\//</span>, <span class="ruby-string">''</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r\/$/</span>, <span class="ruby-string">''</span>) <span class="ruby-operator">:</span> <span class="ruby-string">'wp-content'</span>
|
||||
<span class="ruby-ivar">@wp_plugins_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_plugins_dir</span>] <span class="ruby-operator">||</span> <span class="ruby-node">"#@wp_content_dir/plugins"</span>
|
||||
<span class="ruby-ivar">@base_url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-ivar">@path</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:path</span>]
|
||||
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">extract_name_from_url</span>
|
||||
<span class="ruby-ivar">@vulns_file</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>]
|
||||
<span class="ruby-ivar">@vulns_xpath</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>].<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r\$name\$/</span>, <span class="ruby-ivar">@name</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
|
||||
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'base_url not set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@base_url</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'path not set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@path</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'wp_content_dir not set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@wp_content_dir</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'name not set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@name</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'vulns_file not set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@vulns_file</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'type not set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@type</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-3C-3D-3E" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name"><=></span><span
|
||||
class="method-args">(other)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Compare</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="3C-3D-3E-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 149</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-operator"><=></span>(<span class="ruby-identifier">other</span>)
|
||||
<span class="ruby-identifier">other</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator"><=></span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- 3C-3D-3E-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- 3C-3D-3E-method -->
|
||||
|
||||
|
||||
<div id="method-i-3D-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">==</span><span
|
||||
class="method-args">(other)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Compare</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="3D-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 139</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">other</span>)
|
||||
<span class="ruby-identifier">other</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- 3D-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- 3D-3D-method -->
|
||||
|
||||
|
||||
<div id="method-i-3D-3D-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">===</span><span
|
||||
class="method-args">(other)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Compare</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="3D-3D-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 144</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-operator">===</span>(<span class="ruby-identifier">other</span>)
|
||||
<span class="ruby-identifier">other</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- 3D-3D-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- 3D-3D-3D-method -->
|
||||
|
||||
|
||||
<div id="method-i-changelog_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">changelog_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Url for changelog.txt</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="changelog_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 159</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">changelog_url</span>
|
||||
<span class="ruby-identifier">get_url_without_filename</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'changelog.txt'</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- changelog_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- changelog_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-directory_listing-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">directory_listing?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Is directory listing enabled?</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="directory_listing-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 122</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">directory_listing?</span>
|
||||
<span class="ruby-comment"># Need to remove to file part from the url</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">get_url_without_filename</span>).<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{<title>Index of}</span>] <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- directory_listing-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- directory_listing-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-extract_name_from_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">extract_name_from_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Extract item name from a url</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="extract_name_from_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 128</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">extract_name_from_url</span>
|
||||
<span class="ruby-identifier">get_full_url</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-regexp">%r{^(https?://.*/([^/]+)/)}</span>, <span class="ruby-value">2</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- extract_name_from_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- extract_name_from_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_full_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_full_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Get the full url for this item</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_full_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 84</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_full_url</span>
|
||||
<span class="ruby-identifier">url</span> = <span class="ruby-ivar">@base_url</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">end_with?</span>(<span class="ruby-string">'/'</span>) <span class="ruby-operator">?</span> <span class="ruby-ivar">@base_url</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> <span class="ruby-node">"#@base_url/"</span>
|
||||
<span class="ruby-comment"># remove first and last /</span>
|
||||
<span class="ruby-identifier">wp_content_dir</span> = <span class="ruby-ivar">@wp_content_dir</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r^\//</span>, <span class="ruby-string">""</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r\/$/</span>, <span class="ruby-string">''</span>)
|
||||
<span class="ruby-comment"># remove first /</span>
|
||||
<span class="ruby-identifier">path</span> = <span class="ruby-ivar">@path</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">%r^\//</span>, <span class="ruby-string">''</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">'plugins'</span>
|
||||
<span class="ruby-comment"># plugins can be outside of wp-content. wp_content_dir included in wp_plugins_dir</span>
|
||||
<span class="ruby-identifier">ret</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-node">"#{url}#@wp_plugins_dir/#{path}"</span>))
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">'timthumbs'</span>
|
||||
<span class="ruby-comment"># timthumbs have folder in path variable</span>
|
||||
<span class="ruby-identifier">ret</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-node">"#{url}#{wp_content_dir}/#{path}"</span>))
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">ret</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-node">"#{url}#{wp_content_dir}/#{get_sub_folder}/#{path}"</span>))
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">ret</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_full_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_full_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_sub_folder" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_sub_folder</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_sub_folder-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 70</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_sub_folder</span>
|
||||
<span class="ruby-keyword">case</span> <span class="ruby-ivar">@type</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'themes'</span>
|
||||
<span class="ruby-identifier">folder</span> = <span class="ruby-string">'themes'</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'timthumbs'</span>
|
||||
<span class="ruby-comment"># not needed</span>
|
||||
<span class="ruby-identifier">folder</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-node">"unknown type #@type"</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">folder</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_sub_folder-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_sub_folder-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_url_without_filename" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_url_without_filename</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Gets the full url for this item without filenames</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_url_without_filename-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 103</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_url_without_filename</span>
|
||||
<span class="ruby-identifier">location_url</span> = <span class="ruby-identifier">get_full_url</span>.<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">valid_location_url</span> = <span class="ruby-identifier">location_url</span>[<span class="ruby-regexp">%r{^(https?://.*/)[^.]+\.[^/]+$}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">valid_location_url</span>
|
||||
<span class="ruby-identifier">valid_location_url</span> = <span class="ruby-identifier">add_trailing_slash</span>(<span class="ruby-identifier">location_url</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-identifier">valid_location_url</span>))
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_url_without_filename-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_url_without_filename-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_changelog-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_changelog?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>changelog.txt present?</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_changelog-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 173</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_changelog?</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@changelog</span>
|
||||
<span class="ruby-identifier">status</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">changelog_url</span>).<span class="ruby-identifier">code</span>
|
||||
<span class="ruby-ivar">@changelog</span> = <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@changelog</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_changelog-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_changelog-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_readme-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_readme?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>readme.txt present?</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_readme-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 164</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_readme?</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@readme</span>
|
||||
<span class="ruby-identifier">status</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">readme_url</span>).<span class="ruby-identifier">code</span>
|
||||
<span class="ruby-ivar">@readme</span> = <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@readme</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_readme-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_readme-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-readme_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">readme_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Url for readme.txt</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="readme_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 154</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">readme_url</span>
|
||||
<span class="ruby-identifier">get_url_without_filename</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'readme.txt'</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- readme_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- readme_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-to_s" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">to_s</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>To string. Adds a version number if detected</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="to_s-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 133</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">item_version</span> = <span class="ruby-identifier">version</span>
|
||||
<span class="ruby-node">"#@name#{' v' + item_version.strip if item_version}"</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- to_s-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- to_s-method -->
|
||||
|
||||
|
||||
<div id="method-i-version" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">version</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Returns version number from readme.txt if it exists</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="version-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 113</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">version</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@version</span>
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">get_full_url</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'readme.txt'</span>).<span class="ruby-identifier">to_s</span>)
|
||||
<span class="ruby-ivar">@version</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{stable tag: #{WpVersion.version_pattern}}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@version</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- version-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- version-method -->
|
||||
|
||||
|
||||
<div id="method-i-wp_org_item-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">wp_org_item?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>returns true if this theme or plugin is hosted on wordpress.org</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="wp_org_item-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 57</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wp_org_item?</span>
|
||||
<span class="ruby-keyword">case</span> <span class="ruby-ivar">@type</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'themes'</span>
|
||||
<span class="ruby-identifier">file</span> = <span class="ruby-constant">THEMES_FULL_FILE</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'plugins'</span>
|
||||
<span class="ruby-identifier">file</span> = <span class="ruby-constant">PLUGINS_FULL_FILE</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-node">"Unknown type #@type"</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">f</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">readlines</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">encoding</span><span class="ruby-operator">:</span> <span class="ruby-string">'UTF-8'</span>).<span class="ruby-identifier">grep</span>(<span class="ruby-node">%r^#{Regexp.escape(@name)}$/</span>)
|
||||
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">false</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- wp_org_item-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- wp_org_item-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-wp_org_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">wp_org_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>The wordpress.org plugins directory URL See: <a
|
||||
href="https://github.com/wpscanteam/wpscan/issues/100">github.com/wpscanteam/wpscan/issues/100</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="wp_org_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_item.rb, line 45</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wp_org_url</span>
|
||||
<span class="ruby-keyword">case</span> <span class="ruby-ivar">@type</span>
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'themes'</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-constant">URI</span>(<span class="ruby-string">'http://wordpress.org/extend/themes/'</span>).<span class="ruby-identifier">merge</span>(<span class="ruby-node">"#@name/"</span>)
|
||||
<span class="ruby-keyword">when</span> <span class="ruby-string">'plugins'</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-constant">URI</span>(<span class="ruby-string">'http://wordpress.org/extend/plugins/'</span>).<span class="ruby-identifier">merge</span>(<span class="ruby-node">"#@name/"</span>)
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-node">"No Wordpress URL for #@type"</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- wp_org_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- wp_org_url-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,728 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpLoginProtection - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_login_protection.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-better_wp_security_url">#better_wp_security_url</a>
|
||||
|
||||
<li><a href="#method-i-bluetrait_event_viewer_url">#bluetrait_event_viewer_url</a>
|
||||
|
||||
<li><a href="#method-i-has_better_wp_security_protection-3F">#has_better_wp_security_protection?</a>
|
||||
|
||||
<li><a href="#method-i-has_bluetrait_event_viewer_protection-3F">#has_bluetrait_event_viewer_protection?</a>
|
||||
|
||||
<li><a href="#method-i-has_limit_login_attempts_protection-3F">#has_limit_login_attempts_protection?</a>
|
||||
|
||||
<li><a href="#method-i-has_login_lock_protection-3F">#has_login_lock_protection?</a>
|
||||
|
||||
<li><a href="#method-i-has_login_lockdown_protection-3F">#has_login_lockdown_protection?</a>
|
||||
|
||||
<li><a href="#method-i-has_login_protection-3F">#has_login_protection?</a>
|
||||
|
||||
<li><a href="#method-i-has_login_security_solution_protection-3F">#has_login_security_solution_protection?</a>
|
||||
|
||||
<li><a href="#method-i-has_simple_login_lockdown_protection-3F">#has_simple_login_lockdown_protection?</a>
|
||||
|
||||
<li><a href="#method-i-limit_login_attempts_url">#limit_login_attempts_url</a>
|
||||
|
||||
<li><a href="#method-i-login_protection_plugin">#login_protection_plugin</a>
|
||||
|
||||
<li><a href="#method-i-login_security_solution_url">#login_security_solution_url</a>
|
||||
|
||||
<li><a href="#method-i-simple_login_lockdown_url">#simple_login_lockdown_url</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpLoginProtection</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Constants -->
|
||||
<section id="constants-list" class="section">
|
||||
<h3 class="section-header">Constants</h3>
|
||||
<dl>
|
||||
|
||||
<dt id="LOGIN_PROTECTION_METHOD_PATTERN">LOGIN_PROTECTION_METHOD_PATTERN
|
||||
|
||||
<dd class="description">
|
||||
|
||||
|
||||
</dl>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-has_login_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_login_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_login_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_login_protection?</span>
|
||||
<span class="ruby-operator">!</span><span class="ruby-identifier">login_protection_plugin</span>().<span class="ruby-identifier">nil?</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_login_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_login_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-login_protection_plugin" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">login_protection_plugin</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Checks if a login protection plugin is enabled <a
|
||||
href="http://code.google.com/p/wpscan/issues/detail?id=111">code.google.com/p/wpscan/issues/detail?id=111</a>
|
||||
return a <a href="WpPlugin.html">WpPlugin</a> object or nil if no one is
|
||||
found</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="login_protection_plugin-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 32</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">login_protection_plugin</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@login_protection_plugin</span>
|
||||
<span class="ruby-identifier">protected_methods</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-constant">LOGIN_PROTECTION_METHOD_PATTERN</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">symbol_to_call</span><span class="ruby-operator">|</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">symbol_to_call</span>)
|
||||
<span class="ruby-identifier">plugin_name</span> = <span class="ruby-identifier">symbol_to_call</span>[<span class="ruby-constant">LOGIN_PROTECTION_METHOD_PATTERN</span>, <span class="ruby-value">1</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'_'</span>, <span class="ruby-string">'-'</span>)
|
||||
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-ivar">@login_protection_plugin</span> = <span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">plugin_name</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-node">"/plugins/#{plugin_name}/"</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@wp_content_dir</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@login_protection_plugin</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@login_protection_plugin</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- login_protection_plugin-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- login_protection_plugin-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
<section id="protected-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-better_wp_security_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">better_wp_security_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="better_wp_security_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 69</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">better_wp_security_url</span>
|
||||
<span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@wp_content_dir</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-string">'/plugins/better-wp-security/'</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-string">'better-wp-security'</span>
|
||||
).<span class="ruby-identifier">get_url_without_filename</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- better_wp_security_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- better_wp_security_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-bluetrait_event_viewer_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">bluetrait_event_viewer_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="bluetrait_event_viewer_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 121</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">bluetrait_event_viewer_url</span>
|
||||
<span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@wp_content_dir</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-string">'/plugins/bluetrait-event-viewer/'</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-string">'bluetrait-event-viewer'</span>
|
||||
).<span class="ruby-identifier">get_url_without_filename</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- bluetrait_event_viewer_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- bluetrait_event_viewer_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_better_wp_security_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_better_wp_security_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://wordpress.org/extend/plugins/better-wp-security/">wordpress.org/extend/plugins/better-wp-security/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_better_wp_security_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 65</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_better_wp_security_protection?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">better_wp_security_url</span>()).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">404</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_better_wp_security_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_better_wp_security_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_bluetrait_event_viewer_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_bluetrait_event_viewer_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://wordpress.org/extend/plugins/bluetrait-event-viewer/">wordpress.org/extend/plugins/bluetrait-event-viewer/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_bluetrait_event_viewer_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 117</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_bluetrait_event_viewer_protection?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">bluetrait_event_viewer_url</span>()).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">404</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_bluetrait_event_viewer_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_bluetrait_event_viewer_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_limit_login_attempts_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_limit_login_attempts_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://wordpress.org/extend/plugins/limit-login-attempts/">wordpress.org/extend/plugins/limit-login-attempts/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_limit_login_attempts_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 104</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_limit_login_attempts_protection?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">limit_login_attempts_url</span>()).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">404</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_limit_login_attempts_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_limit_login_attempts_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_login_lock_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_login_lock_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://wordpress.org/extend/plugins/login-lock/">wordpress.org/extend/plugins/login-lock/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_login_lock_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 60</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_login_lock_protection?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">login_url</span>()).<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r{LOGIN LOCK}</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_login_lock_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_login_lock_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_login_lockdown_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_login_lockdown_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Thanks to Alip Aswalid for providing this method. <a
|
||||
href="http://wordpress.org/extend/plugins/login-lockdown/">wordpress.org/extend/plugins/login-lockdown/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_login_lockdown_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 55</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_login_lockdown_protection?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">login_url</span>()).<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r{Login LockDown}</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_login_lockdown_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_login_lockdown_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_login_security_solution_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_login_security_solution_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://wordpress.org/extend/plugins/login-security-solution/">wordpress.org/extend/plugins/login-security-solution/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_login_security_solution_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 91</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_login_security_solution_protection?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">login_security_solution_url</span>()).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">404</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_login_security_solution_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_login_security_solution_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_simple_login_lockdown_protection-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_simple_login_lockdown_protection?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://wordpress.org/extend/plugins/simple-login-lockdown/">wordpress.org/extend/plugins/simple-login-lockdown/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_simple_login_lockdown_protection-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 78</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_simple_login_lockdown_protection?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">simple_login_lockdown_url</span>()).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">404</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_simple_login_lockdown_protection-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_simple_login_lockdown_protection-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-limit_login_attempts_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">limit_login_attempts_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="limit_login_attempts_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 108</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">limit_login_attempts_url</span>
|
||||
<span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@wp_content_dir</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-string">'/plugins/limit-login-attempts/'</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-string">'limit-login-attempts'</span>
|
||||
).<span class="ruby-identifier">get_url_without_filename</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- limit_login_attempts_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- limit_login_attempts_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-login_security_solution_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">login_security_solution_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="login_security_solution_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 95</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">login_security_solution_url</span>
|
||||
<span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@wp_content_dir</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-string">'/plugins/login-security-solution/'</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-string">'login-security-solution'</span>
|
||||
).<span class="ruby-identifier">get_url_without_filename</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- login_security_solution_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- login_security_solution_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-simple_login_lockdown_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">simple_login_lockdown_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="simple_login_lockdown_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_login_protection.rb, line 82</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">simple_login_lockdown_url</span>
|
||||
<span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@wp_content_dir</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-string">'/plugins/simple-login-lockdown/'</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-string">'simple-login-lockdown'</span>
|
||||
).<span class="ruby-identifier">get_url_without_filename</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- simple_login_lockdown_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- simple_login_lockdown_url-method -->
|
||||
|
||||
|
||||
</section><!-- protected-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,291 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpOptions - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_options.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-check_options">::check_options</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpOptions</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
<p>Options Hash</p>
|
||||
|
||||
<h4 id="label-Options">Options</h4>
|
||||
<ul><li>
|
||||
<p><code>url</code> - The base URL of the WordPress site</p>
|
||||
</li><li>
|
||||
<p><code>only_vulnerable_ones</code> - Only detect vulnerable items</p>
|
||||
</li><li>
|
||||
<p><code>file</code> - Filename with items to detect</p>
|
||||
</li><li>
|
||||
<p><code>vulns_file</code> - XML file with vulnerabilities</p>
|
||||
</li><li>
|
||||
<p><code>vulns_xpath</code> - XPath for vulnerability XML file</p>
|
||||
</li><li>
|
||||
<p><code>vulns_xpath_2</code> - XPath for vulnerability XML file</p>
|
||||
</li><li>
|
||||
<p><code>wp_content_dir</code> - Name of the wp-content directory</p>
|
||||
</li><li>
|
||||
<p><code>show_progression</code> - Show a progress bar during enumeration</p>
|
||||
</li><li>
|
||||
<p><code>error_404_hash</code> - MD5 hash of a 404 page</p>
|
||||
</li><li>
|
||||
<p><code>type</code> - Type: plugins, themes</p>
|
||||
</li></ul>
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-check_options" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">check_options</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="check_options-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_options.rb, line 34</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">check_options</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'base_url must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'only_vulnerable_ones must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:only_vulnerable_ones</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'file must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'vulns_file must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'vulns_xpath must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'vulns_xpath_2 must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'wp_content_dir must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'show_progression must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:show_progression</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'error_404_hash must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:error_404_hash</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:error_404_hash</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'type must be set'</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rplugins/</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rthemes/</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rtimthumbs/</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-node">"Unknown type #{options[:type]}"</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- check_options-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- check_options-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,335 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpPlugin - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_plugin.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="WpItem.html">WpItem</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-error_log-3F">#error_log?</a>
|
||||
|
||||
<li><a href="#method-i-error_log_url">#error_log_url</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpPlugin</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 20</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] <span class="ruby-operator">==</span> <span class="ruby-string">''</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] = <span class="ruby-constant">PLUGINS_VULNS_FILE</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>] = <span class="ruby-string">"//plugin[@name='$name$']/vulnerability"</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>] = <span class="ruby-string">'//plugin'</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] = <span class="ruby-string">'plugins'</span>
|
||||
|
||||
<span class="ruby-keyword">super</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-error_log-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">error_log?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Discover any error_log files created by WordPress These are created by the
|
||||
WordPress error_log() function They are normally found in the /plugins/
|
||||
directory, however can also be found in their specific plugin dir. <a
|
||||
href="http://www.exploit-db.com/ghdb/3714/">www.exploit-db.com/ghdb/3714/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="error_log-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 37</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">error_log?</span>
|
||||
<span class="ruby-identifier">response_body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">error_log_url</span>(), <span class="ruby-identifier">headers</span><span class="ruby-operator">:</span> {<span class="ruby-string">'range'</span> =<span class="ruby-operator">></span> <span class="ruby-string">'bytes=0-700'</span>}).<span class="ruby-identifier">body</span>
|
||||
<span class="ruby-identifier">response_body</span>[<span class="ruby-regexp">%r{PHP Fatal error}</span>] <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- error_log-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- error_log-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-error_log_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">error_log_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="error_log_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_plugin.rb, line 42</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">error_log_url</span>
|
||||
<span class="ruby-identifier">get_full_url</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'error_log'</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- error_log_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- error_log_url-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,322 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpPlugins - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_plugins.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-plugins_from_aggressive_detection">#plugins_from_aggressive_detection</a>
|
||||
|
||||
<li><a href="#method-i-plugins_from_passive_detection">#plugins_from_passive_detection</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpPlugins</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-plugins_from_aggressive_detection" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">plugins_from_aggressive_detection</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Enumerate installed plugins.</p>
|
||||
|
||||
<p>return array of <a href="WpPlugin.html">WpPlugin</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="plugins_from_aggressive_detection-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_plugins.rb, line 24</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">plugins_from_aggressive_detection</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] <span class="ruby-operator">==</span> <span class="ruby-string">''</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] = <span class="ruby-constant">PLUGINS_VULNS_FILE</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>] <span class="ruby-operator">||</span> (<span class="ruby-identifier">options</span>[<span class="ruby-value">:full</span>] <span class="ruby-operator">?</span> <span class="ruby-constant">PLUGINS_FULL_FILE</span> <span class="ruby-operator">:</span> <span class="ruby-constant">PLUGINS_FILE</span>)
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>] = <span class="ruby-node">"//plugin[@name='#{@name}']/vulnerability"</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>] = <span class="ruby-string">'//plugin'</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] = <span class="ruby-string">'plugins'</span>
|
||||
<span class="ruby-identifier">result</span> = <span class="ruby-constant">WpDetector</span>.<span class="ruby-identifier">aggressive_detection</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">plugins</span> = []
|
||||
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">plugins</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">base_url</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">path</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">wp_content_dir</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">name</span>,
|
||||
<span class="ruby-identifier">type</span><span class="ruby-operator">:</span> <span class="ruby-string">'plugins'</span>,
|
||||
<span class="ruby-identifier">wp_plugins_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">wp_plugins_dir</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">plugins</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- plugins_from_aggressive_detection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- plugins_from_aggressive_detection-method -->
|
||||
|
||||
|
||||
<div id="method-i-plugins_from_passive_detection" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">plugins_from_passive_detection</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://code.google.com/p/wpscan/issues/detail?id=42">code.google.com/p/wpscan/issues/detail?id=42</a>
|
||||
plugins can be found in the source code :</p>
|
||||
|
||||
<pre><script src='http://example.com/wp-content/plugins/s2member/...' />
|
||||
<link rel='stylesheet' href='http://example.com/wp-content/plugins/wp-minify/..' type='text/css' media='screen'/>
|
||||
...</pre>
|
||||
|
||||
<p>return array of <a href="WpPlugin.html">WpPlugin</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="plugins_from_passive_detection-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_plugins.rb, line 54</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">plugins_from_passive_detection</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">plugins</span> = []
|
||||
<span class="ruby-identifier">temp</span> = <span class="ruby-constant">WpDetector</span>.<span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>], <span class="ruby-string">'plugins'</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>])
|
||||
|
||||
<span class="ruby-identifier">temp</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">plugins</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpPlugin</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">base_url</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">path</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>],
|
||||
<span class="ruby-identifier">type</span><span class="ruby-operator">:</span> <span class="ruby-string">'plugins'</span>,
|
||||
<span class="ruby-identifier">wp_plugins_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_plugins_dir</span>]
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">plugins</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- plugins_from_passive_detection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- plugins_from_passive_detection-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,286 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpReadme - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_readme.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-has_readme-3F">#has_readme?</a>
|
||||
|
||||
<li><a href="#method-i-readme_url">#readme_url</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpReadme</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-has_readme-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_readme?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Checks to see if the readme.html file exists</p>
|
||||
|
||||
<p>This file comes by default in a wordpress installation, and if deleted is
|
||||
reinstated with an upgrade.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_readme-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_readme.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_readme?</span>
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">readme_url</span>())
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">404</span>
|
||||
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r{wordpress}</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_readme-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_readme-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-readme_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">readme_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="readme_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_readme.rb, line 33</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">readme_url</span>
|
||||
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'readme.html'</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- readme_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- readme_url-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,887 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpTarget - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_target.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
<!-- Included Modules -->
|
||||
<nav id="includes-section" class="section">
|
||||
<h3 class="section-header">Included Modules</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
|
||||
<li><a class="include" href="WebSite.html">WebSite</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpReadme.html">WpReadme</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="Malwares.html">Malwares</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpUsernames.html">WpUsernames</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpPlugins.html">WpPlugins</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="WpThemes.html">WpThemes</a>
|
||||
|
||||
|
||||
|
||||
<li><a class="include" href="BruteForce.html">BruteForce</a>
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-c-valid_response_codes">::valid_response_codes</a>
|
||||
|
||||
<li><a href="#method-i-debug_log_url">#debug_log_url</a>
|
||||
|
||||
<li><a href="#method-i-has_debug_log-3F">#has_debug_log?</a>
|
||||
|
||||
<li><a href="#method-i-is_multisite-3F">#is_multisite?</a>
|
||||
|
||||
<li><a href="#method-i-login_url">#login_url</a>
|
||||
|
||||
<li><a href="#method-i-registration_enabled-3F">#registration_enabled?</a>
|
||||
|
||||
<li><a href="#method-i-registration_url">#registration_url</a>
|
||||
|
||||
<li><a href="#method-i-search_replace_db_2_exists-3F">#search_replace_db_2_exists?</a>
|
||||
|
||||
<li><a href="#method-i-search_replace_db_2_url">#search_replace_db_2_url</a>
|
||||
|
||||
<li><a href="#method-i-theme">#theme</a>
|
||||
|
||||
<li><a href="#method-i-url">#url</a>
|
||||
|
||||
<li><a href="#method-i-version">#version</a>
|
||||
|
||||
<li><a href="#method-i-wp_content_dir">#wp_content_dir</a>
|
||||
|
||||
<li><a href="#method-i-wp_plugins_dir">#wp_plugins_dir</a>
|
||||
|
||||
<li><a href="#method-i-wp_plugins_dir_exists-3F">#wp_plugins_dir_exists?</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpTarget</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-uri" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">uri</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-verbose" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">verbose</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(target_url, options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 34</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">target_url</span>, <span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-ivar">@uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">add_trailing_slash</span>(<span class="ruby-identifier">add_http_protocol</span>(<span class="ruby-identifier">target_url</span>)))
|
||||
<span class="ruby-ivar">@verbose</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:verbose</span>]
|
||||
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>]
|
||||
<span class="ruby-ivar">@wp_plugins_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_plugins_dir</span>]
|
||||
<span class="ruby-ivar">@multisite</span> = <span class="ruby-keyword">nil</span>
|
||||
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>(<span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:max_threads</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:threads</span>]))
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
<div id="method-c-valid_response_codes" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">valid_response_codes</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Valid HTTP return codes</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="valid_response_codes-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 62</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">valid_response_codes</span>
|
||||
[<span class="ruby-value">200</span>, <span class="ruby-value">301</span>, <span class="ruby-value">302</span>, <span class="ruby-value">401</span>, <span class="ruby-value">403</span>, <span class="ruby-value">500</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- valid_response_codes-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- valid_response_codes-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-debug_log_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">debug_log_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="debug_log_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 109</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">debug_log_url</span>
|
||||
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-node">"#{wp_content_dir()}/debug.log"</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- debug_log_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- debug_log_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-has_debug_log-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_debug_log?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_debug_log-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 103</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_debug_log?</span>
|
||||
<span class="ruby-comment"># We only get the first 700 bytes of the file to avoid loading huge file (like 2Go)</span>
|
||||
<span class="ruby-identifier">response_body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">debug_log_url</span>(), <span class="ruby-identifier">headers</span><span class="ruby-operator">:</span> {<span class="ruby-string">'range'</span> =<span class="ruby-operator">></span> <span class="ruby-string">'bytes=0-700'</span>}).<span class="ruby-identifier">body</span>
|
||||
<span class="ruby-identifier">response_body</span>[<span class="ruby-regexp">%r{\[[^\]]+\] PHP (?:Warning|Error|Notice):}</span>] <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_debug_log-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_debug_log-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-is_multisite-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">is_multisite?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="is_multisite-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 148</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">is_multisite?</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@multisite</span>
|
||||
<span class="ruby-comment"># when multi site, there is no redirection or a redirect to the site itself</span>
|
||||
<span class="ruby-comment"># otherwise redirect to wp-login.php</span>
|
||||
<span class="ruby-identifier">url</span> = <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'wp-signup.php'</span>)
|
||||
<span class="ruby-identifier">resp</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">302</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">headers_hash</span>[<span class="ruby-string">'location'</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rwp-login\.php\?action=register/</span>
|
||||
<span class="ruby-ivar">@multisite</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">302</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">headers_hash</span>[<span class="ruby-string">'location'</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rwp-signup\.php/</span>
|
||||
<span class="ruby-ivar">@multisite</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span>
|
||||
<span class="ruby-ivar">@multisite</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-ivar">@multisite</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@multisite</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- is_multisite-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- is_multisite-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-login_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">login_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="login_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 49</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">login_url</span>
|
||||
<span class="ruby-identifier">url</span> = <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'wp-login.php'</span>).<span class="ruby-identifier">to_s</span>
|
||||
|
||||
<span class="ruby-comment"># Let's check if the login url is redirected (to https url for example)</span>
|
||||
<span class="ruby-identifier">redirection</span> = <span class="ruby-identifier">redirection</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">redirection</span>
|
||||
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">redirection</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">url</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- login_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- login_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-registration_enabled-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">registration_enabled?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Should check wp-login.php if registration is enabled or not</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="registration_enabled-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 126</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">registration_enabled?</span>
|
||||
<span class="ruby-identifier">resp</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">registration_url</span>)
|
||||
<span class="ruby-comment"># redirect only on non multi sites</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">302</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">headers_hash</span>[<span class="ruby-string">'location'</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rwp-login\.php\?registration=disabled/</span>
|
||||
<span class="ruby-identifier">enabled</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-comment"># multi site registration form</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r<form id="setupform" method="post" action="[^"]*wp-signup\.php[^"]*">/</span>
|
||||
<span class="ruby-identifier">enabled</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-comment"># normal registration form</span>
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">body</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r<form name="registerform" id="registerform" action="[^"]*wp-login\.php[^"]*"/</span>
|
||||
<span class="ruby-identifier">enabled</span> = <span class="ruby-keyword">true</span>
|
||||
<span class="ruby-comment"># registration disabled</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">enabled</span> = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">enabled</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- registration_enabled-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- registration_enabled-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-registration_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">registration_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="registration_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 144</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">registration_url</span>
|
||||
<span class="ruby-identifier">is_multisite?</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'wp-signup.php'</span>) <span class="ruby-operator">:</span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'wp-login.php?action=register'</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- registration_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- registration_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-search_replace_db_2_exists-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">search_replace_db_2_exists?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="search_replace_db_2_exists-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 120</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">search_replace_db_2_exists?</span>
|
||||
<span class="ruby-identifier">resp</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">search_replace_db_2_url</span>)
|
||||
<span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{by interconnect}</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- search_replace_db_2_exists-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- search_replace_db_2_exists-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-search_replace_db_2_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">search_replace_db_2_url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Script for replacing strings in wordpress databases reveals databse
|
||||
credentials after hitting submit <a
|
||||
href="http://interconnectit.com/124/search-and-replace-for-wordpress-databases/">interconnectit.com/124/search-and-replace-for-wordpress-databases/</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="search_replace_db_2_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 116</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">search_replace_db_2_url</span>
|
||||
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'searchreplacedb2.php'</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- search_replace_db_2_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- search_replace_db_2_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-theme" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">theme</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>return <a href="WpTheme.html">WpTheme</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="theme-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 67</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">theme</span>
|
||||
<span class="ruby-constant">WpTheme</span>.<span class="ruby-identifier">find</span>(<span class="ruby-ivar">@uri</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- theme-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- theme-method -->
|
||||
|
||||
|
||||
<div id="method-i-url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">url</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Alias of @uri.to_s</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 45</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">url</span>
|
||||
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- url-method -->
|
||||
|
||||
|
||||
<div id="method-i-version" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">version</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>return <a href="WpVersion.html">WpVersion</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="version-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 72</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">version</span>
|
||||
<span class="ruby-constant">WpVersion</span>.<span class="ruby-identifier">find</span>(<span class="ruby-ivar">@uri</span>, <span class="ruby-identifier">wp_content_dir</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- version-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- version-method -->
|
||||
|
||||
|
||||
<div id="method-i-wp_content_dir" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">wp_content_dir</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="wp_content_dir-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 76</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wp_content_dir</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@wp_content_dir</span>
|
||||
<span class="ruby-identifier">index_body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>
|
||||
<span class="ruby-comment"># Only use the path because domain can be text or an ip</span>
|
||||
<span class="ruby-identifier">uri_path</span> = <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">path</span>
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">index_body</span>[<span class="ruby-regexp">%r\/wp-content\/(?:themes|plugins)\//</span>]
|
||||
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-string">'wp-content'</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">domains_excluded</span> = <span class="ruby-string">'(?:www\.)?(facebook|twitter)\.com'</span>
|
||||
<span class="ruby-ivar">@wp_content_dir</span> = <span class="ruby-identifier">index_body</span>[<span class="ruby-node">%r(?:href|src)\s*=\s*(?:"|').+#{Regexp.escape(uri_path)}((?!#{domains_excluded})[^"']+)\/(?:themes|plugins)\/.*(?:"|')/</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@wp_content_dir</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- wp_content_dir-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- wp_content_dir-method -->
|
||||
|
||||
|
||||
<div id="method-i-wp_plugins_dir" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">wp_plugins_dir</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="wp_plugins_dir-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 92</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wp_plugins_dir</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-ivar">@wp_plugins_dir</span>
|
||||
<span class="ruby-ivar">@wp_plugins_dir</span> = <span class="ruby-node">"#{wp_content_dir}/plugins"</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@wp_plugins_dir</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- wp_plugins_dir-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- wp_plugins_dir-method -->
|
||||
|
||||
|
||||
<div id="method-i-wp_plugins_dir_exists-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">wp_plugins_dir_exists?</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="wp_plugins_dir_exists-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_target.rb, line 99</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">wp_plugins_dir_exists?</span>
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">wp_plugins_dir</span>)).<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value">404</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- wp_plugins_dir_exists-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- wp_plugins_dir_exists-3F-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
472
doc/WpTheme.html
@@ -1,472 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpTheme - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_theme.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="WpItem.html">WpItem</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-find">::find</a>
|
||||
|
||||
<li><a href="#method-c-find_from_css_link">::find_from_css_link</a>
|
||||
|
||||
<li><a href="#method-c-find_from_wooframework">::find_from_wooframework</a>
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-3D-3D-3D">#===</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpTheme</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-style_url" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">style_url</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-version" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">version</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-find" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find</span><span
|
||||
class="method-args">(target_uri)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 47</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">target_uri</span>)
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">methods</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">%rfind_from_/</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method_to_call</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">theme</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">method_to_call</span>, <span class="ruby-identifier">target_uri</span>)
|
||||
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">theme</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">theme</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find-method -->
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] <span class="ruby-operator">==</span> <span class="ruby-string">''</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] = <span class="ruby-constant">THEMES_VULNS_FILE</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>] = <span class="ruby-string">"//theme[@name='$name$']/vulnerability"</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] = <span class="ruby-string">'themes'</span>
|
||||
<span class="ruby-ivar">@version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:version</span>]
|
||||
<span class="ruby-ivar">@style_url</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:style_url</span>]
|
||||
|
||||
<span class="ruby-keyword">super</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="protected-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-find_from_css_link" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_css_link</span><span
|
||||
class="method-args">(target_uri)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Discover the wordpress theme name by parsing the css link rel</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_css_link-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 63</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_css_link</span>(<span class="ruby-identifier">target_uri</span>)
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">to_s</span>, { <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> })
|
||||
|
||||
<span class="ruby-identifier">matches</span> = <span class="ruby-regexp">%r{https?://[^"']+/([^/]+)/themes/([^"']+)/style.css}</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span>
|
||||
<span class="ruby-identifier">style_url</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">0</span>]
|
||||
<span class="ruby-identifier">wp_content_dir</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">1</span>]
|
||||
<span class="ruby-identifier">theme_name</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">2</span>]
|
||||
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">theme_name</span>,
|
||||
<span class="ruby-identifier">style_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">style_url</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">target_uri</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-identifier">theme_name</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">wp_content_dir</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_css_link-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_css_link-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_wooframework" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_wooframework</span><span
|
||||
class="method-args">(target_uri)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p><a
|
||||
href="http://code.google.com/p/wpscan/issues/detail?id=141">code.google.com/p/wpscan/issues/detail?id=141</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_wooframework-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 83</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_wooframework</span>(<span class="ruby-identifier">target_uri</span>)
|
||||
<span class="ruby-identifier">body</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>
|
||||
<span class="ruby-identifier">regexp</span> = <span class="ruby-regexp">%r{<meta name="generator" content="([^\s"]+)\s?([^"]+)?" />\s+<meta name="generator" content="WooFramework\s?([^"]+)?" />}</span>
|
||||
|
||||
<span class="ruby-identifier">matches</span> = <span class="ruby-identifier">regexp</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span>
|
||||
<span class="ruby-identifier">woo_theme_name</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">1</span>]
|
||||
<span class="ruby-identifier">woo_theme_version</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">2</span>]
|
||||
<span class="ruby-identifier">woo_framework_version</span> = <span class="ruby-identifier">matches</span>[<span class="ruby-value">3</span>] <span class="ruby-comment"># Not used at this time</span>
|
||||
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">woo_theme_name</span>,
|
||||
<span class="ruby-identifier">version</span><span class="ruby-operator">:</span> <span class="ruby-identifier">woo_theme_version</span>,
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">matches</span>[<span class="ruby-value">0</span>],
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-string">''</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-string">''</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_wooframework-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_wooframework-method -->
|
||||
|
||||
|
||||
</section><!-- protected-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-3D-3D-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">===</span><span
|
||||
class="method-args">(wp_theme)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="3D-3D-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_theme.rb, line 56</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-operator">===</span>(<span class="ruby-identifier">wp_theme</span>)
|
||||
<span class="ruby-identifier">wp_theme</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@name</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">wp_theme</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@version</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- 3D-3D-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- 3D-3D-3D-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,308 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpThemes - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_themes.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-themes_from_aggressive_detection">#themes_from_aggressive_detection</a>
|
||||
|
||||
<li><a href="#method-i-themes_from_passive_detection">#themes_from_passive_detection</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpThemes</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-themes_from_aggressive_detection" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">themes_from_aggressive_detection</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="themes_from_aggressive_detection-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_themes.rb, line 21</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">themes_from_aggressive_detection</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] <span class="ruby-operator">==</span> <span class="ruby-string">''</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] = <span class="ruby-constant">THEMES_VULNS_FILE</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>] <span class="ruby-operator">||</span> (<span class="ruby-identifier">options</span>[<span class="ruby-value">:full</span>] <span class="ruby-operator">?</span> <span class="ruby-constant">THEMES_FULL_FILE</span> <span class="ruby-operator">:</span> <span class="ruby-constant">THEMES_FILE</span>)
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>] = <span class="ruby-node">"//theme[@name='#{@name}']/vulnerability"</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>] = <span class="ruby-string">'//theme'</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] = <span class="ruby-string">'themes'</span>
|
||||
<span class="ruby-identifier">result</span> = <span class="ruby-constant">WpDetector</span>.<span class="ruby-identifier">aggressive_detection</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">themes</span> = []
|
||||
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">themes</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpTheme</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">base_url</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">path</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">wp_content_dir</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">name</span>
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">themes</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- themes_from_aggressive_detection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- themes_from_aggressive_detection-method -->
|
||||
|
||||
|
||||
<div id="method-i-themes_from_passive_detection" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">themes_from_passive_detection</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="themes_from_passive_detection-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_themes.rb, line 43</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">themes_from_passive_detection</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">themes</span> = []
|
||||
<span class="ruby-identifier">temp</span> = <span class="ruby-constant">WpDetector</span>.<span class="ruby-identifier">passive_detection</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>], <span class="ruby-string">'themes'</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>])
|
||||
|
||||
<span class="ruby-identifier">temp</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">themes</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpTheme</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">base_url</span>,
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">name</span>,
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">path</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>]
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">themes</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span> }
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- themes_from_passive_detection-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- themes_from_passive_detection-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,350 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpTimthumbs - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_timthumbs.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-has_timthumbs-3F">#has_timthumbs?</a>
|
||||
|
||||
<li><a href="#method-i-targets_url_from_theme">#targets_url_from_theme</a>
|
||||
|
||||
<li><a href="#method-i-timthumbs">#timthumbs</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpTimthumbs</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-has_timthumbs-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">has_timthumbs?</span><span
|
||||
class="method-args">(theme_name, options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="has_timthumbs-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_timthumbs.rb, line 27</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">has_timthumbs?</span>(<span class="ruby-identifier">theme_name</span>, <span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-operator">!</span><span class="ruby-identifier">timthumbs</span>(<span class="ruby-identifier">theme_name</span>, <span class="ruby-identifier">options</span>).<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- has_timthumbs-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- has_timthumbs-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-timthumbs" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">timthumbs</span><span
|
||||
class="method-args">(theme_name = nil, options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="timthumbs-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_timthumbs.rb, line 31</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">timthumbs</span>(<span class="ruby-identifier">theme_name</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@wp_timthumbs</span>.<span class="ruby-identifier">nil?</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:type</span>] = <span class="ruby-string">'timthumbs'</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:only_vulnerable_ones</span>] = <span class="ruby-keyword">false</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">DATA_DIR</span> <span class="ruby-operator">+</span> <span class="ruby-string">'/timthumbs.txt'</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] = <span class="ruby-string">'xxx'</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath</span>] = <span class="ruby-string">'xxx'</span>
|
||||
<span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_xpath_2</span>] = <span class="ruby-string">'xxx'</span>
|
||||
|
||||
<span class="ruby-constant">WpOptions</span>.<span class="ruby-identifier">check_options</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">theme_name</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">custom_items</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">else</span>
|
||||
<span class="ruby-identifier">custom_items</span> = <span class="ruby-identifier">targets_url_from_theme</span>(<span class="ruby-identifier">theme_name</span>, <span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@wp_timthumbs</span> = <span class="ruby-constant">WpEnumerator</span>.<span class="ruby-identifier">enumerate</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">custom_items</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@wp_timthumbs</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- timthumbs-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- timthumbs-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
<section id="protected-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-targets_url_from_theme" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">targets_url_from_theme</span><span
|
||||
class="method-args">(theme_name, options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="targets_url_from_theme-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_timthumbs.rb, line 52</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">targets_url_from_theme</span>(<span class="ruby-identifier">theme_name</span>, <span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">targets</span> = []
|
||||
<span class="ruby-identifier">theme_name</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-identifier">theme_name</span>)
|
||||
|
||||
<span class="ruby-node">%w{
|
||||
timthumb.php lib/timthumb.php inc/timthumb.php includes/timthumb.php
|
||||
scripts/timthumb.php tools/timthumb.php functions/timthumb.php
|
||||
}</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">targets</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpItem</span>.<span class="ruby-identifier">new</span>(
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>],
|
||||
<span class="ruby-identifier">path</span><span class="ruby-operator">:</span> <span class="ruby-node">"themes/#{theme_name}/#{file}"</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>],
|
||||
<span class="ruby-identifier">name</span><span class="ruby-operator">:</span> <span class="ruby-identifier">theme_name</span>,
|
||||
<span class="ruby-identifier">vulns_file</span><span class="ruby-operator">:</span> <span class="ruby-string">'XX'</span>,
|
||||
<span class="ruby-identifier">type</span><span class="ruby-operator">:</span> <span class="ruby-string">'timthumbs'</span>,
|
||||
<span class="ruby-identifier">wp_plugins_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_plugins_dir</span>]
|
||||
)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">targets</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- targets_url_from_theme-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- targets_url_from_theme-method -->
|
||||
|
||||
|
||||
</section><!-- protected-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
558
doc/WpUser.html
@@ -1,558 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpUser - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_user.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-i-3C-3D-3E">#<=></a>
|
||||
|
||||
<li><a href="#method-i-3D-3D-3D">#===</a>
|
||||
|
||||
<li><a href="#method-i-eql-3F">#eql?</a>
|
||||
|
||||
<li><a href="#method-i-id">#id</a>
|
||||
|
||||
<li><a href="#method-i-id-3D">#id=</a>
|
||||
|
||||
<li><a href="#method-i-name">#name</a>
|
||||
|
||||
<li><a href="#method-i-name-3D">#name=</a>
|
||||
|
||||
<li><a href="#method-i-nickname">#nickname</a>
|
||||
|
||||
<li><a href="#method-i-nickname-3D">#nickname=</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpUser</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(name, id, nickname)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 54</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">nickname</span>)
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">id</span> = <span class="ruby-identifier">id</span>
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-3C-3D-3E" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name"><=></span><span
|
||||
class="method-args">(other)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="3C-3D-3E-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 60</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-operator"><=></span>(<span class="ruby-identifier">other</span>)
|
||||
<span class="ruby-identifier">other</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator"><=></span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- 3C-3D-3E-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- 3C-3D-3E-method -->
|
||||
|
||||
|
||||
<div id="method-i-3D-3D-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">===</span><span
|
||||
class="method-args">(other)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="3D-3D-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 64</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-operator">===</span>(<span class="ruby-identifier">other</span>)
|
||||
<span class="ruby-identifier">other</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">id</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- 3D-3D-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- 3D-3D-3D-method -->
|
||||
|
||||
|
||||
<div id="method-i-eql-3F" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">eql?</span><span
|
||||
class="method-args">(other)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="eql-3F-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 68</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">other</span>)
|
||||
<span class="ruby-identifier">other</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">name</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">id</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">nickname</span> <span class="ruby-operator">===</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- eql-3F-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- eql-3F-method -->
|
||||
|
||||
|
||||
<div id="method-i-id" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">id</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="id-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 32</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">id</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@id</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@id</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-string">'empty'</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@id</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- id-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- id-method -->
|
||||
|
||||
|
||||
<div id="method-i-id-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">id=</span><span
|
||||
class="method-args">(new_id)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="id-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 39</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">id=</span>(<span class="ruby-identifier">new_id</span>)
|
||||
<span class="ruby-ivar">@id</span> = <span class="ruby-identifier">new_id</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- id-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- id-3D-method -->
|
||||
|
||||
|
||||
<div id="method-i-name" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">name</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="name-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 21</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">name</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@name</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-string">'empty'</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@name</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- name-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- name-method -->
|
||||
|
||||
|
||||
<div id="method-i-name-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">name=</span><span
|
||||
class="method-args">(new_name)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="name-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 28</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">new_name</span>)
|
||||
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">new_name</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- name-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- name-3D-method -->
|
||||
|
||||
|
||||
<div id="method-i-nickname" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">nickname</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="nickname-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 43</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@nickname</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-ivar">@nickname</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-string">'empty'</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-ivar">@nickname</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- nickname-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- nickname-method -->
|
||||
|
||||
|
||||
<div id="method-i-nickname-3D" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">nickname=</span><span
|
||||
class="method-args">(new_nickname)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="nickname-3D-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_user.rb, line 50</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">nickname=</span>(<span class="ruby-identifier">new_nickname</span>)
|
||||
<span class="ruby-ivar">@nickname</span> = <span class="ruby-identifier">new_nickname</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- nickname-3D-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- nickname-3D-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,468 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>module WpUsernames - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="module">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/modules/wp_usernames.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-i-author_url">#author_url</a>
|
||||
|
||||
<li><a href="#method-i-extract_nickname_from_body">#extract_nickname_from_body</a>
|
||||
|
||||
<li><a href="#method-i-get_nickname_from_response">#get_nickname_from_response</a>
|
||||
|
||||
<li><a href="#method-i-get_nickname_from_url">#get_nickname_from_url</a>
|
||||
|
||||
<li><a href="#method-i-remove_junk_from_nickname">#remove_junk_from_nickname</a>
|
||||
|
||||
<li><a href="#method-i-usernames">#usernames</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="module">module WpUsernames</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Instance Methods</h3>
|
||||
|
||||
|
||||
<div id="method-i-author_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">author_url</span><span
|
||||
class="method-args">(author_id)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="author_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_usernames.rb, line 102</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">author_url</span>(<span class="ruby-identifier">author_id</span>)
|
||||
<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-node">"?author=#{author_id}"</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- author_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- author_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-extract_nickname_from_body" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">extract_nickname_from_body</span><span
|
||||
class="method-args">(body)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="extract_nickname_from_body-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_usernames.rb, line 77</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">extract_nickname_from_body</span>(<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{<title>([^<]*)</title>}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- extract_nickname_from_body-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- extract_nickname_from_body-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_nickname_from_response" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_nickname_from_response</span><span
|
||||
class="method-args">(resp)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_nickname_from_response-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_usernames.rb, line 69</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_nickname_from_response</span>(<span class="ruby-identifier">resp</span>)
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span>
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">extract_nickname_from_body</span>(<span class="ruby-identifier">resp</span>.<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_nickname_from_response-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_nickname_from_response-method -->
|
||||
|
||||
|
||||
<div id="method-i-get_nickname_from_url" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">get_nickname_from_url</span><span
|
||||
class="method-args">(url)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="get_nickname_from_url-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_usernames.rb, line 60</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_nickname_from_url</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-identifier">resp</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>, { <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> })
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span>
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">extract_nickname_from_body</span>(<span class="ruby-identifier">resp</span>.<span class="ruby-identifier">body</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- get_nickname_from_url-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- get_nickname_from_url-method -->
|
||||
|
||||
|
||||
<div id="method-i-remove_junk_from_nickname" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">remove_junk_from_nickname</span><span
|
||||
class="method-args">(usernames)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="remove_junk_from_nickname-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_usernames.rb, line 81</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">remove_junk_from_nickname</span>(<span class="ruby-identifier">usernames</span>)
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">usernames</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Array</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'Need an array as input'</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">nicknames</span> = []
|
||||
<span class="ruby-identifier">usernames</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">u</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">u</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">WpUser</span>
|
||||
<span class="ruby-identifier">raise</span>(<span class="ruby-string">'Items must be of type WpUser'</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">u</span>.<span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">nickname</span> <span class="ruby-operator">==</span> <span class="ruby-string">'empty'</span>
|
||||
<span class="ruby-identifier">nicknames</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">nickname</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">junk</span> = <span class="ruby-identifier">get_equal_string_end</span>(<span class="ruby-identifier">nicknames</span>)
|
||||
<span class="ruby-identifier">usernames</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">u</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">u</span>.<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">u</span>.<span class="ruby-identifier">nickname</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-node">%r#{Regexp.escape(junk)}$/</span>, <span class="ruby-string">''</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">usernames</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- remove_junk_from_nickname-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- remove_junk_from_nickname-method -->
|
||||
|
||||
|
||||
<div id="method-i-usernames" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">usernames</span><span
|
||||
class="method-args">(options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Enumerate wordpress usernames by using Veronica Valeros’s technique: <a
|
||||
href="http://seclists.org/fulldisclosure/2011/May/493">seclists.org/fulldisclosure/2011/May/493</a></p>
|
||||
|
||||
<p>Available options :</p>
|
||||
|
||||
<pre>:range - default : 1..10</pre>
|
||||
|
||||
<p>returns an array of <a href="WpUser.html">WpUser</a> (can be empty)</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="usernames-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/modules/wp_usernames.rb, line 28</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">usernames</span>(<span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-identifier">range</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:range</span>] <span class="ruby-operator">||</span> (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">10</span>)
|
||||
<span class="ruby-identifier">browser</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>
|
||||
<span class="ruby-identifier">usernames</span> = []
|
||||
|
||||
<span class="ruby-identifier">range</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">author_id</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">author_url</span>(<span class="ruby-identifier">author_id</span>)
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-identifier">browser</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
|
||||
|
||||
<span class="ruby-identifier">username</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">301</span> <span class="ruby-comment"># username in location?</span>
|
||||
<span class="ruby-identifier">username</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">headers_hash</span>[<span class="ruby-string">'location'</span>][<span class="ruby-regexp">%r{/author/([^/\b]+)/?}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-comment"># Get the real name from the redirect site</span>
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">get_nickname_from_url</span>(<span class="ruby-identifier">url</span>)
|
||||
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">200</span> <span class="ruby-comment"># username in body?</span>
|
||||
<span class="ruby-identifier">username</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-regexp">%r{posts by (.*) feed}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-identifier">nickname</span> = <span class="ruby-identifier">get_nickname_from_response</span>(<span class="ruby-identifier">response</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">username</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">nickname</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-identifier">usernames</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WpUser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">author_id</span>, <span class="ruby-identifier">nickname</span>)
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-identifier">usernames</span> = <span class="ruby-identifier">remove_junk_from_nickname</span>(<span class="ruby-identifier">usernames</span>)
|
||||
|
||||
<span class="ruby-comment"># clean the array, remove nils and possible duplicates</span>
|
||||
<span class="ruby-identifier">usernames</span>.<span class="ruby-identifier">flatten!</span>
|
||||
<span class="ruby-identifier">usernames</span>.<span class="ruby-identifier">compact!</span>
|
||||
<span class="ruby-identifier">usernames</span>.<span class="ruby-identifier">uniq</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- usernames-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- usernames-method -->
|
||||
|
||||
|
||||
</section><!-- public-instance-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,687 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpVersion - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_version.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Vulnerable.html">Vulnerable</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-find">::find</a>
|
||||
|
||||
<li><a href="#method-c-find_from_advanced_fingerprinting">::find_from_advanced_fingerprinting</a>
|
||||
|
||||
<li><a href="#method-c-find_from_atom_generator">::find_from_atom_generator</a>
|
||||
|
||||
<li><a href="#method-c-find_from_links_opml">::find_from_links_opml</a>
|
||||
|
||||
<li><a href="#method-c-find_from_meta_generator">::find_from_meta_generator</a>
|
||||
|
||||
<li><a href="#method-c-find_from_rdf_generator">::find_from_rdf_generator</a>
|
||||
|
||||
<li><a href="#method-c-find_from_readme">::find_from_readme</a>
|
||||
|
||||
<li><a href="#method-c-find_from_rss_generator">::find_from_rss_generator</a>
|
||||
|
||||
<li><a href="#method-c-find_from_sitemap_generator">::find_from_sitemap_generator</a>
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
<li><a href="#method-c-version_pattern">::version_pattern</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpVersion</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-discovery_method" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">discovery_method</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-number" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">number</span><span
|
||||
class="attribute-access-type">[R]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-find" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find</span><span
|
||||
class="method-args">(target_uri, wp_content_dir)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Will use all method self.find_from_* to try to detect the version Once the
|
||||
version is found, it will return a <a href="WpVersion.html">WpVersion</a>
|
||||
object The method_name will be without ‘find_from_’ and ‘_’ will be replace
|
||||
by ‘ ’ (IE ‘meta generator’, ‘rss generator’ etc) If the version is not
|
||||
found, nil is returned</p>
|
||||
|
||||
<p>The order in which the find_from_* methods are is important, they will be
|
||||
called in the same order (<a
|
||||
href="WpVersion.html#method-c-find_from_meta_generator">::find_from_meta_generator</a>,
|
||||
<a
|
||||
href="WpVersion.html#method-c-find_from_rss_generator">::find_from_rss_generator</a>
|
||||
etc)</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 39</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">target_uri</span>, <span class="ruby-identifier">wp_content_dir</span>)
|
||||
<span class="ruby-identifier">options</span> = {
|
||||
<span class="ruby-identifier">base_url</span><span class="ruby-operator">:</span> <span class="ruby-identifier">target_uri</span>,
|
||||
<span class="ruby-identifier">wp_content_dir</span><span class="ruby-operator">:</span> <span class="ruby-identifier">wp_content_dir</span>
|
||||
}
|
||||
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">methods</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">%rfind_from_/</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method_to_call</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">version</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">method_to_call</span>, <span class="ruby-identifier">options</span>)
|
||||
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">version</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">new</span>(<span class="ruby-identifier">version</span>, <span class="ruby-identifier">discovery_method</span><span class="ruby-operator">:</span> <span class="ruby-identifier">method_to_call</span>[<span class="ruby-regexp">%r{find_from_(.*)}</span>, <span class="ruby-value">1</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'_'</span>, <span class="ruby-string">' '</span>))
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">nil</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find-method -->
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(number, options = {})</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 25</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">number</span>, <span class="ruby-identifier">options</span> = {})
|
||||
<span class="ruby-ivar">@number</span> = <span class="ruby-identifier">number</span>
|
||||
<span class="ruby-ivar">@discovery_method</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:discovery_method</span>]
|
||||
<span class="ruby-ivar">@vulns_file</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:vulns_file</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">WP_VULNS_FILE</span>
|
||||
<span class="ruby-ivar">@vulns_xpath</span> = <span class="ruby-node">"//wordpress[@version='#{@number}']/vulnerability"</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
<section id="protected-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Protected Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-find_from_advanced_fingerprinting" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_advanced_fingerprinting</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Uses data/wp_versions.xml to try to identify a wordpress version.</p>
|
||||
|
||||
<p>It does this by using client side file hashing</p>
|
||||
|
||||
<pre>/!\ Warning : this method might return false positive if the file used for fingerprinting is part of a theme (they can be updated)</pre>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_advanced_fingerprinting-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 124</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_advanced_fingerprinting</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-comment"># needed for rpsec tests</span>
|
||||
<span class="ruby-identifier">version_xml</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:version_xml</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">WP_VERSIONS_FILE</span>
|
||||
<span class="ruby-identifier">xml</span> = <span class="ruby-constant">Nokogiri</span><span class="ruby-operator">::</span><span class="ruby-constant">XML</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">version_xml</span>)) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">config</span>.<span class="ruby-identifier">noblanks</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
|
||||
<span class="ruby-identifier">xml</span>.<span class="ruby-identifier">xpath</span>(<span class="ruby-string">'//file'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-identifier">wp_content</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wp_content_dir</span>]
|
||||
<span class="ruby-identifier">wp_plugins</span> = <span class="ruby-node">"#{wp_content}/plugins"</span>
|
||||
<span class="ruby-identifier">file_url</span> = <span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">node</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-string">'src'</span>).<span class="ruby-identifier">text</span>).<span class="ruby-identifier">to_s</span>
|
||||
<span class="ruby-identifier">file_url</span> = <span class="ruby-identifier">file_url</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r\$wp-plugins\$/</span>, <span class="ruby-identifier">wp_plugins</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">%r\$wp-content\$/</span>, <span class="ruby-identifier">wp_content</span>)
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">file_url</span>)
|
||||
<span class="ruby-identifier">md5sum</span> = <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
|
||||
|
||||
<span class="ruby-identifier">node</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'hash'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">hash</span><span class="ruby-operator">|</span>
|
||||
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-string">'md5'</span>).<span class="ruby-identifier">text</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">md5sum</span>
|
||||
<span class="ruby-keyword">return</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">search</span>(<span class="ruby-string">'version'</span>).<span class="ruby-identifier">text</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">end</span>
|
||||
<span class="ruby-keyword">nil</span> <span class="ruby-comment"># Otherwise the data['file'] is returned (issue #107)</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_advanced_fingerprinting-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_advanced_fingerprinting-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_atom_generator" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_atom_generator</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Attempts to find the WordPress version from, the generator tag in the Atom
|
||||
source.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_atom_generator-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 99</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_atom_generator</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'feed/atom/'</span>).<span class="ruby-identifier">to_s</span>, { <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> })
|
||||
|
||||
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{<generator uri="http://wordpress.org/" version="#{WpVersion.version_pattern}">WordPress</generator>}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_atom_generator-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_atom_generator-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_links_opml" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_links_opml</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Attempts to find the WordPress version from the p-links-opml.php file.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_links_opml-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 164</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_links_opml</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'wp-links-opml.php'</span>).<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{generator="wordpress/#{WpVersion.version_pattern}"}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_links_opml-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_links_opml-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_meta_generator" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_meta_generator</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Attempts to find the wordpress version from, the generator meta tag in the
|
||||
html source.</p>
|
||||
|
||||
<p>The meta tag can be removed however it seems, that it is reinstated on
|
||||
upgrade.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_meta_generator-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 61</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_meta_generator</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">to_s</span>, { <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> })
|
||||
|
||||
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{name="generator" content="wordpress #{WpVersion.version_pattern}"}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_meta_generator-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_meta_generator-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_rdf_generator" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_rdf_generator</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Attempts to find WordPress version from, the generator tag in the RDF feed
|
||||
source.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_rdf_generator-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 79</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_rdf_generator</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'feed/rdf/'</span>).<span class="ruby-identifier">to_s</span>, { <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> })
|
||||
|
||||
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{<admin:generatorAgent rdf:resource="http://wordpress.org/\?v=#{WpVersion.version_pattern}" />}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_rdf_generator-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_rdf_generator-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_readme" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_readme</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Attempts to find the WordPress version from the readme.html file.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_readme-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 150</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_readme</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'readme.html'</span>).<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{<br />\sversion #{WpVersion.version_pattern}}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_readme-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_readme-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_rss_generator" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_rss_generator</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Attempts to find the WordPress version from, the generator tag in the RSS
|
||||
feed source.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_rss_generator-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 70</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_rss_generator</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-identifier">response</span> = <span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'feed/'</span>).<span class="ruby-identifier">to_s</span>, { <span class="ruby-identifier">follow_location</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>, <span class="ruby-identifier">max_redirects</span><span class="ruby-operator">:</span> <span class="ruby-value">2</span> })
|
||||
|
||||
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{<generator>http://wordpress.org/\?v=#{WpVersion.version_pattern}</generator>}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_rss_generator-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_rss_generator-method -->
|
||||
|
||||
|
||||
<div id="method-c-find_from_sitemap_generator" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">find_from_sitemap_generator</span><span
|
||||
class="method-args">(options)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Attempts to find the WordPress version from the sitemap.xml file.</p>
|
||||
|
||||
<p>See: <a
|
||||
href="http://code.google.com/p/wpscan/issues/detail?id=109">code.google.com/p/wpscan/issues/detail?id=109</a></p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="find_from_sitemap_generator-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 158</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find_from_sitemap_generator</span>(<span class="ruby-identifier">options</span>)
|
||||
<span class="ruby-identifier">target_uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:base_url</span>]
|
||||
<span class="ruby-constant">Browser</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">target_uri</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-string">'sitemap.xml'</span>).<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">body</span>[<span class="ruby-node">%r{generator="wordpress/#{WpVersion.version_pattern}"}</span>, <span class="ruby-value">1</span>]
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- find_from_sitemap_generator-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- find_from_sitemap_generator-method -->
|
||||
|
||||
|
||||
<div id="method-c-version_pattern" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">version_pattern</span><span
|
||||
class="method-args">()</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
<p>Used to check if the version is correct: must contain at least one dot.</p>
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="version_pattern-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_version.rb, line 170</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">version_pattern</span>
|
||||
<span class="ruby-string">'([^\r\n"\]+\.[^\r\n"\]+)'</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- version_pattern-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- version_pattern-method -->
|
||||
|
||||
|
||||
</section><!-- protected-class-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>class WpVulnerability - RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body id="top" class="class">
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="file-metadata">
|
||||
<nav id="file-list-section" class="section">
|
||||
<h3 class="section-header">Defined In</h3>
|
||||
<ul>
|
||||
<li>lib/wpscan/wp_vulnerability.rb
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="class-metadata">
|
||||
|
||||
<nav id="parent-class-section" class="section">
|
||||
<h3 class="section-header">Parent</h3>
|
||||
|
||||
<p class="link"><a href="Object.html">Object</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Method Quickref -->
|
||||
<nav id="method-list-section" class="section">
|
||||
<h3 class="section-header">Methods</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="#method-c-new">::new</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div id="documentation">
|
||||
<h1 class="class">class WpVulnerability</h1>
|
||||
|
||||
<div id="description" class="description">
|
||||
|
||||
</div><!-- description -->
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="5Buntitled-5D" class="documentation-section">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Attributes -->
|
||||
<section id="attribute-method-details" class="method-section section">
|
||||
<h3 class="section-header">Attributes</h3>
|
||||
|
||||
|
||||
<div id="attribute-i-metasploit_modules" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">metasploit_modules</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-references" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">references</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-title" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">title</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="attribute-i-type" class="method-detail">
|
||||
<div class="method-heading attribute-method-heading">
|
||||
<span class="method-name">type</span><span
|
||||
class="attribute-access-type">[RW]</span>
|
||||
</div>
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section><!-- attribute-method-details -->
|
||||
|
||||
|
||||
<!-- Methods -->
|
||||
|
||||
<section id="public-class-5Buntitled-5D-method-details" class="method-section section">
|
||||
<h3 class="section-header">Public Class Methods</h3>
|
||||
|
||||
|
||||
<div id="method-c-new" class="method-detail ">
|
||||
|
||||
<div class="method-heading">
|
||||
<span class="method-name">new</span><span
|
||||
class="method-args">(title, references, type, metasploit_modules)</span>
|
||||
<span class="method-click-advice">click to toggle source</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="method-description">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="method-source-code" id="new-source">
|
||||
<pre><span class="ruby-comment"># File lib/wpscan/wp_vulnerability.rb, line 22</span>
|
||||
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">title</span>, <span class="ruby-identifier">references</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">metasploit_modules</span>)
|
||||
<span class="ruby-ivar">@title</span> = <span class="ruby-identifier">title</span>
|
||||
<span class="ruby-ivar">@references</span> = <span class="ruby-identifier">references</span>
|
||||
<span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type</span>
|
||||
<span class="ruby-ivar">@metasploit_modules</span> = <span class="ruby-identifier">metasploit_modules</span>
|
||||
<span class="ruby-keyword">end</span></pre>
|
||||
</div><!-- new-source -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!-- new-method -->
|
||||
|
||||
|
||||
</section><!-- public-class-method-details -->
|
||||
|
||||
</section><!-- 5Buntitled-5D -->
|
||||
|
||||
</div><!-- documentation -->
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
Sun, 27 Jan 2013 01:14:27 +0100
|
||||
./CREDITS Fri, 11 Jan 2013 21:40:57 +0100
|
||||
./Gemfile Wed, 09 Jan 2013 21:35:00 +0100
|
||||
./lib/browser.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/cache_file_store.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/common/custom_option_parser.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/common/plugins/plugin.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/common/plugins/plugins.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/common_helper.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/environment.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/updater/git_updater.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/updater/svn_updater.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/updater/updater.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/updater/updater_factory.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/brute_force.rb Sun, 27 Jan 2013 00:31:13 +0100
|
||||
./lib/wpscan/modules/malwares.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/web_site.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_config_backup.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_full_path_disclosure.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_login_protection.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_plugins.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_readme.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_themes.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_timthumbs.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/modules/wp_usernames.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/vulnerable.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_detector.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_enumerator.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_item.rb Fri, 25 Jan 2013 22:39:51 +0100
|
||||
./lib/wpscan/wp_options.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_plugin.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_target.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_theme.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_user.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_version.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wp_vulnerability.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wpscan_helper.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpscan/wpscan_options.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpstools/plugins/checker/checker_plugin.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpstools/plugins/list_generator/generate_list.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpstools/plugins/list_generator/list_generator_plugin.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpstools/plugins/list_generator/svn_parser.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./lib/wpstools/wpstools_helper.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./log.txt Sun, 27 Jan 2013 00:31:06 +0100
|
||||
./README Sat, 19 Jan 2013 18:50:05 +0100
|
||||
./wpscan.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
./wpstools.rb Thu, 24 Jan 2013 22:19:29 +0100
|
||||
|
Before Width: | Height: | Size: 733 B |
|
Before Width: | Height: | Size: 452 B |
|
Before Width: | Height: | Size: 764 B |
|
Before Width: | Height: | Size: 774 B |
|
Before Width: | Height: | Size: 211 B |
|
Before Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 626 B |
|
Before Width: | Height: | Size: 715 B |
|
Before Width: | Height: | Size: 659 B |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 853 B |
|
Before Width: | Height: | Size: 621 B |
|
Before Width: | Height: | Size: 342 B |
|
Before Width: | Height: | Size: 309 B |
|
Before Width: | Height: | Size: 591 B |
|
Before Width: | Height: | Size: 592 B |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 613 B |
|
Before Width: | Height: | Size: 97 B |
|
Before Width: | Height: | Size: 610 B |
|
Before Width: | Height: | Size: 584 B |
|
Before Width: | Height: | Size: 692 B |
160
doc/index.html
@@ -1,160 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
||||
|
||||
<title>RDoc Documentation</title>
|
||||
|
||||
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript">
|
||||
var rdoc_rel_prefix = "./";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
|
||||
|
||||
|
||||
<body>
|
||||
<nav id="metadata">
|
||||
<nav id="home-section" class="section">
|
||||
<h3 class="section-header">
|
||||
<a href="./index.html">Home</a>
|
||||
<a href="./table_of_contents.html#classes">Classes</a>
|
||||
<a href="./table_of_contents.html#methods">Methods</a>
|
||||
</h3>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav id="search-section" class="section project-section" class="initially-hidden">
|
||||
<form action="#" method="get" accept-charset="utf-8">
|
||||
<h3 class="section-header">
|
||||
<input type="text" name="search" placeholder="Search" id="search-field"
|
||||
title="Type to search, Up and Down to navigate, Enter to load">
|
||||
</h3>
|
||||
</form>
|
||||
|
||||
<ul id="search-results" class="initially-hidden"></ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div id="project-metadata">
|
||||
<nav id="fileindex-section" class="section project-section">
|
||||
<h3 class="section-header">Pages</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li class="file"><a href="./CREDITS.html">CREDITS</a>
|
||||
|
||||
<li class="file"><a href="./Gemfile.html">Gemfile</a>
|
||||
|
||||
<li class="file"><a href="./README.html">README</a>
|
||||
|
||||
<li class="file"><a href="./log_txt.html">log</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav id="classindex-section" class="section project-section">
|
||||
<h3 class="section-header">Class and Module Index</h3>
|
||||
|
||||
<ul class="link-list">
|
||||
|
||||
<li><a href="./Array.html">Array</a>
|
||||
|
||||
<li><a href="./Browser.html">Browser</a>
|
||||
|
||||
<li><a href="./BruteForce.html">BruteForce</a>
|
||||
|
||||
<li><a href="./CacheFileStore.html">CacheFileStore</a>
|
||||
|
||||
<li><a href="./CheckerPlugin.html">CheckerPlugin</a>
|
||||
|
||||
<li><a href="./CustomOptionParser.html">CustomOptionParser</a>
|
||||
|
||||
<li><a href="./GenerateList.html">GenerateList</a>
|
||||
|
||||
<li><a href="./GitUpdater.html">GitUpdater</a>
|
||||
|
||||
<li><a href="./ListGeneratorPlugin.html">ListGeneratorPlugin</a>
|
||||
|
||||
<li><a href="./Malwares.html">Malwares</a>
|
||||
|
||||
<li><a href="./Object.html">Object</a>
|
||||
|
||||
<li><a href="./Plugin.html">Plugin</a>
|
||||
|
||||
<li><a href="./Plugins.html">Plugins</a>
|
||||
|
||||
<li><a href="./SvnParser.html">SvnParser</a>
|
||||
|
||||
<li><a href="./SvnUpdater.html">SvnUpdater</a>
|
||||
|
||||
<li><a href="./URI.html">URI</a>
|
||||
|
||||
<li><a href="./Updater.html">Updater</a>
|
||||
|
||||
<li><a href="./UpdaterFactory.html">UpdaterFactory</a>
|
||||
|
||||
<li><a href="./Vulnerable.html">Vulnerable</a>
|
||||
|
||||
<li><a href="./WebSite.html">WebSite</a>
|
||||
|
||||
<li><a href="./WpConfigBackup.html">WpConfigBackup</a>
|
||||
|
||||
<li><a href="./WpDetector.html">WpDetector</a>
|
||||
|
||||
<li><a href="./WpEnumerator.html">WpEnumerator</a>
|
||||
|
||||
<li><a href="./WpFullPathDisclosure.html">WpFullPathDisclosure</a>
|
||||
|
||||
<li><a href="./WpItem.html">WpItem</a>
|
||||
|
||||
<li><a href="./WpLoginProtection.html">WpLoginProtection</a>
|
||||
|
||||
<li><a href="./WpOptions.html">WpOptions</a>
|
||||
|
||||
<li><a href="./WpPlugin.html">WpPlugin</a>
|
||||
|
||||
<li><a href="./WpPlugins.html">WpPlugins</a>
|
||||
|
||||
<li><a href="./WpReadme.html">WpReadme</a>
|
||||
|
||||
<li><a href="./WpTarget.html">WpTarget</a>
|
||||
|
||||
<li><a href="./WpTheme.html">WpTheme</a>
|
||||
|
||||
<li><a href="./WpThemes.html">WpThemes</a>
|
||||
|
||||
<li><a href="./WpTimthumbs.html">WpTimthumbs</a>
|
||||
|
||||
<li><a href="./WpUser.html">WpUser</a>
|
||||
|
||||
<li><a href="./WpUsernames.html">WpUsernames</a>
|
||||
|
||||
<li><a href="./WpVersion.html">WpVersion</a>
|
||||
|
||||
<li><a href="./WpVulnerability.html">WpVulnerability</a>
|
||||
|
||||
<li><a href="./WpscanOptions.html">WpscanOptions</a>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<p>This is the API documentation for RDoc Documentation.
|
||||
|
||||
|
||||
<footer id="validator-badges">
|
||||
<p><a href="http://validator.w3.org/check/referer">[Validate]</a>
|
||||
<p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
|
||||
<p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
|
||||
</footer>
|
||||
|
||||