0
|
1 #!/usr/bin/env php
|
|
2 <?php
|
|
3 /*
|
|
4 +-----------------------------------------------------------------------+
|
|
5 | bin/decrypt.sh |
|
|
6 | |
|
|
7 | This file is part of the Roundcube Webmail client |
|
|
8 | Copyright (C) 2005-2009, The Roundcube Dev Team |
|
|
9 | |
|
|
10 | Licensed under the GNU General Public License version 3 or |
|
|
11 | any later version with exceptions for skins & plugins. |
|
|
12 | See the README file for a full license statement. |
|
|
13 | |
|
|
14 | PURPOSE: |
|
|
15 | Decrypt the encrypted parts of the HTTP Received: headers |
|
|
16 | |
|
|
17 +-----------------------------------------------------------------------+
|
|
18 | Author: Tomas Tevesz <ice@extreme.hu> |
|
|
19 +-----------------------------------------------------------------------+
|
|
20 */
|
|
21
|
|
22 /**
|
|
23 * If http_received_header_encrypt is configured, the IP address and the
|
|
24 * host name of the added Received: header is encrypted with 3DES, to
|
|
25 * protect information that some could consider sensitve, yet their
|
|
26 * availability is a must in some circumstances.
|
|
27 *
|
|
28 * Such an encrypted Received: header might look like:
|
|
29 *
|
|
30 * Received: from DzgkvJBO5+bw+oje5JACeNIa/uSI4mRw2cy5YoPBba73eyBmjtyHnQ==
|
|
31 * [my0nUbjZXKtl7KVBZcsvWOxxtyVFxza4]
|
|
32 * with HTTP/1.1 (POST); Thu, 14 May 2009 19:17:28 +0200
|
|
33 *
|
|
34 * In this example, the two encrypted components are the sender host name
|
|
35 * (DzgkvJBO5+bw+oje5JACeNIa/uSI4mRw2cy5YoPBba73eyBmjtyHnQ==) and the IP
|
|
36 * address (my0nUbjZXKtl7KVBZcsvWOxxtyVFxza4).
|
|
37 *
|
|
38 * Using this tool, they can be decrypted into plain text:
|
|
39 *
|
|
40 * $ bin/decrypt.sh 'my0nUbjZXKtl7KVBZcsvWOxxtyVFxza4' \
|
|
41 * > 'DzgkvJBO5+bw+oje5JACeNIa/uSI4mRw2cy5YoPBba73eyBmjtyHnQ=='
|
|
42 * 84.3.187.208
|
|
43 * 5403BBD0.catv.pool.telekom.hu
|
|
44 * $
|
|
45 *
|
|
46 * Thus it is known that this particular message was sent by 84.3.187.208,
|
|
47 * having, at the time of sending, the name of 5403BBD0.catv.pool.telekom.hu.
|
|
48 *
|
|
49 * If (most likely binary) junk is shown, then
|
|
50 * - either the encryption password has, between the time the mail was sent
|
|
51 * and 'now', changed, or
|
|
52 * - you are dealing with counterfeit header data.
|
|
53 */
|
|
54
|
|
55 define('INSTALL_PATH', realpath(__DIR__ .'/..') . '/');
|
|
56
|
|
57 require INSTALL_PATH . 'program/include/clisetup.php';
|
|
58
|
|
59 if ($argc < 2) {
|
|
60 die("Usage: " . basename($argv[0]) . " encrypted-hdr-part [encrypted-hdr-part ...]\n");
|
|
61 }
|
|
62
|
|
63 $RCMAIL = rcube::get_instance();
|
|
64
|
|
65 for ($i = 1; $i < $argc; $i++) {
|
|
66 printf("%s\n", $RCMAIL->decrypt($argv[$i]));
|
|
67 };
|