1. 程式人生 > >破解 js 防 ifram 嵌入方法(繞開防嵌js 實現跨域模擬登入)

破解 js 防 ifram 嵌入方法(繞開防嵌js 實現跨域模擬登入)

運用場景:

        我想在我的系統(A系統)上用ifram嵌入一個他人跨域的系統(B系統),且該系統需要進行登入驗證。

       <ifram>很容易就實現了,可是這時候,頁面地址立馬發生跳轉到B系統的登入頁。原來在B系統的登入頁面上有這麼一句防止被ifram巢狀的程式碼:

if(window.top !== window.self){ window.top.location = window.location;} 

   這時候通過A系統的js是無法獲取到B系統的頁面文件。

嘗試一:在js載入但未執行到跳轉的js時將程式遮蔽或重文件中移除。

結果:失敗!跨域的ifram是無法獲取到iframe中的文件。

嘗試二:重大發現,被嵌入的B系統除了登入頁有防嵌入程式碼,其他頁面則無此程式碼。

       這意味著只要我跳過了登入頁,我就能實現ifram將B系統嵌入我的A系統中了。哈哈哈,這樣果然成功嵌入了B系統(如果裡面的頁面也有防iframe嵌碼,那就無能為力了)!!

1、首先在自己的A系統中建立一個空白html(記住是A系統,模擬登入的使用者名稱和密碼可固定寫死也可動態配置)。

2、在該頁面用js模擬提交表單登入名和密碼到B系統。這時候B系統返回的是系統內部無防嵌碼的頁面在ifram中顯示。成功嵌入B系統。

這種方法等於直接繞開了js防iifram嵌入的頁面。嚴格意義上不算破解此程式碼。

此外:若防嵌程式碼如百度空間等只是如下情況,那不需要上面那麼麻煩。直接給location賦值即可,

if (top.location != self.location) { top.location.href="/self.location.href"; }

破解:<script type="text/javascript"> var location=document.location </script>
或者: <script type="text/javascript"> var location="" </script> 

但願我的經驗能幫到你,覺得有用的給個評論唄!

相關推薦

破解 js ifram 嵌入方法繞開js 實現模擬登入

運用場景:         我想在我的系統(A系統)上用ifram嵌入一個他人跨域的系統(B系統),且該系統需要進行登入驗證。        <ifram>很容易就實現了,可是這時候,頁面地址立馬發生跳轉到B系統的登入頁。原來在B系統的登入頁面上有這麼一句防止被

js 字符串方法個人學習筆記

new substring for name var 基本 正則表達 pattern 都是 首先,創建數組的兩個方法:   1.構造函數: var str = new String("a"); console.log(str);//"a"   2.字面量表示: var

js Math對象方法 個人學習筆記

最大 eof null alert XP source floor app math.sqrt 方法: 1.丟棄小數部分,保留整數部分 parseInt(5/2) 2.向上取整,有小數就整數部分加1 Math.ceil(5/2) 3,四舍五入.

原生 js 操作dom的方法建立節點和操作節點的幾種方法

var  newNode=  document.createElement("p");//建立新節點 var  text=  document.createTextNode("hello");//建立文字節點 newNode.appendChild(text); docum

js前臺呼叫後臺方法方法呼叫篇

  首先是沒有引數的後臺方法(該方法是載入客戶端下來選單控制元件): public string GetRole() { string result = ""; DataSet ds = a.SelectRole("");

機器學習基礎--網路嵌入方法Network Embedding

網路嵌入方法(Network Embedding)   旨在學習網路中節點的低維度潛在表示,所學習到的特徵表示可以用作基於圖的各種任務的特徵,例如分類,聚類,鏈路預測和視覺化。   由於資訊網路可能包含數十億個節點和邊緣,因此在整個網路上執行復雜的推理過程可能會

JS解析json數據如何將json字符串轉化為數組

htm open Language eva clas ack logs lan obj 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <HTML>

數組的叠代方法every、filter、forEach、map、some

ons 沒有 col png 技術分享 AC OS eve lte every: 對數組中的,每一項運行給定函數,如果該函數對每一項都返回true,則返回true。 var number = [1,2,3,4,5,6]; var result = numb

js實現的幾種方法

js中幾種實用的跨域方法原理詳解 這裡說的js跨域是指通過js在不同的域之間進行資料傳輸或通訊,比如用ajax向一個不同的域請求資料,或者通過js獲取頁面中不同域的框架中(iframe)的資料。只要協議、域名、埠有任何一個不同,都被當作是不同的域。 下表給出了相對http://sto

安裝代理後github上不去的解決方法該裝置或資源未設定接受埠為……

問題有很多種可能性,所以解決問題也有很多種方法 我就說說我的方法 代理安裝又解除安裝後,可能是配置檔案出了錯誤,所以chrome一直不是安全連線,我也不是搞web又不是搞windows的 光是這一點不能解決什麼問題 然後又用了firefox,這時候問題就很清楚了,他提示該證書只能

Jquery 操作 checkbox 方法全選,取消全選,取值

$("#btn1").click(function(){ $("[name='checkbox']").attr("checked",'true');//全選 }) $("#btn2").click(function(){

H5 api之window.postMessage實現視窗通訊iframe嵌入

官網傳送門 我用的sublimeServer外掛伺服器。 直接上程式碼!! 主頁面: <!DOCTYPE html> <html> <head> <title>Post Message</title> </

APUE原始碼使用方法帶你執行出APUE的第一個程式

聽說你在看apue但是不知道這麼執行它書上的程式碼,下面我按照如下步驟來吧! 1、獲取原始碼資源 wget http://www.kohala.com/start/apue.linux3.tar.Z -P ~ 2、tar xzvf apue.linux3.tar.Z 3、cd a

java服務端解決js的問題 CORS資源共享 的配置

nginx相容跨域上傳 相容情況: 各種新版本的ie10,firefox,opera,safari,chrome以及移動版safari和Android瀏覽器 ie9及一下版本請使用flash方式來相容 通過OPTIONS請求握手一次的方式實現跨根域傳送請求,需要服務端配置

python 執行shell命令的幾種方法os.system、os.popen、subprocess、commands

1、os.system 該函式返回命令執行結果的返回值,並不是返回命令的執行輸出, system()函式在執行過程中進行了以下三步操作: 1.fork一個子程序; 2.在子程序中呼叫exec函式去執行命令; 3.在父程序中呼叫wait(阻塞)去等待子程序結

JavaScript陣列的迭代方法every、filter、forEach、map和some

ES5 中為陣列定義了 5 個迭代方法。每個方法都接收兩個引數:要在每一項上執行的函式和(可選的)執行該函式的作用域物件——影響 this 的值。 傳入這些方法中的函式接收三個引數:陣列項的值、該項在陣列中的位置(索引)和陣列物件本身。 這 5 個方法都不會修改原陣列中包含的值。

PHP封裝一個通用的CURL類方法設定、獲取請求頭響應頭並處理

通用的一個CURL類方法,設定請求頭、獲取響應頭等! 包括將格式處理成陣列格式,方便直接輸出 /** * 傳送https post請求,也支援http請求,包括header請求 * @param string $url 請求域名 * @

虛擬機器VMware Workstation Pro下安裝ubuntu-14.04.464位方法附ubuntu-14.04-desktop-amd64.iso下載連結

ubuntu-14.04-desktop-amd64.iso下載: 連結:http://pan.baidu.com/s/1bFi0d4 密碼:yx0l 零基礎linux使用入門教學視訊分享: 連結:http://pan.baidu.com/s/1kU4GKWB 密碼

部署前端專案方法Docker,Nginx,IIS,Tomcat7,Nodejs

根據前段時間的學習,整理如下前端專案部署方法。錯誤,不足及新的部署方式歡迎在評論區中留言與我討論。大家共同進步!(^_^)! 部署前端專案方法 通過 Docker-Nginx-supervisor 部署 在專案資料夾中新建 Docker

構造方法定義、有參、無參、過載

一、構造方法是什麼,有什麼用? 構造方法是類的一個特殊的成員,在類例項化時會自動呼叫。 通過前面的學習,我們知道為一個屬性賦值有兩種方法:①、直接訪問物件屬性 ②、通過setXxx()方法 如果想在例項化物件的同時就為這個物件的屬性進行賦值,可以通過構造方