[心得] 網頁頁面轉址的幾種方法

看板Web_Design作者 (壞貓咪)時間4年前 (2020/09/01 23:02), 編輯推噓3(303)
留言6則, 3人參與, 4年前最新討論串1/1
網誌圖片程式碼方便閱讀版: https://hackercat.org/web-notes/how-to-redirect-webpage 這篇主要是發在網站記錄 想說跟這邊有一點點關聯性就一起貼過來了 -- 文章內容主要只是簡單的demo幾種網頁頁面轉址的幾種方法。 以前剛開始做滲透測試的時候, 發現每次頁面轉址的時候其實並不一定都是回應301或302, 而且如果有在用Burp Suite的應該會發現一件事情, Burp的Repeater當中如果網頁頁面有轉址的話, 會有一個Follow redirection的按鈕, 但是呢,這個按鈕只有在類似302的回應中才會出現, 如果是回應200 OK,但是頁面內容中仍有轉址的程式碼, 就不會出現這個按鈕,有時候會不小心沒注意這個頁面有轉址, 後來就自己稍微survey幾個不同的轉址方法。 這邊先列出以下有 Demo 的幾個方法,未來有想新增就會再更新。 * 利用 HTML BODY 轉址 * 利用 HTML META 轉址 * 利用 Javascript 轉址 * 利用 PHP 轉址 要進行轉址頁面的實作之前, 我們要先架一個Web Server跟寫一個Html頁面, 讓待會以下的各種轉址方法都轉址到這個頁面。 架一個Web Server,我是利用kali Linux起一個Apache, 在web server目錄下創一個資料夾叫redirect, 然後新增一個HTML檔案內容如下: endpage.html --- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>End Page</h1> <h2>Welcome redirect to here!</h2> </body> </html> --- 1.利用 HTML BODY 轉址 bodyMethod.html --- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body onLoad="window.location='" rel="nofollow">http://192.168.219.128/redirect/endpage.html'"> <h1>HTML BODY 的轉址</h1> </body> </html> --- 2.利用 HTML META 轉址 metaMethod.html --- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="0;url=http://192.168.219.128/redirect/endpage.html" /> <title>Document</title> </head> <body> <h1>HTML META的轉址</h1> </body> </html> --- 3.利用 Javascript 轉址 jsMethod.html --- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>Javascript 的轉址</h1> <script>document.location.href="" rel="nofollow">http://192.168.219.128/redirect/endpage.html";</script> </body> </html> --- 4.利用 PHP 轉址 phpMethod.php --- <?php header('Location: http://192.168.219.128/redirect/endpage.html'); exit(); ?> --- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.180.53 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1598972572.A.48D.html

09/04 02:27, 4年前 , 1F
最近剛好用到 感謝分享!
09/04 02:27, 1F

09/05 20:15, 4年前 , 2F
1的html其實也是js,只是位置跟3不太一樣而已
09/05 20:15, 2F

09/06 11:18, 4年前 , 3F
然後 2 和 4 其實也很像 (因為 meta http-equiv 幾乎等於是
09/06 11:18, 3F

09/06 11:19, 4年前 , 4F
在這個 html 中追加 HTTP header)
09/06 11:19, 4F

09/06 11:23, 4年前 , 5F
這個"幾乎"就是 2 和 4 的差別了, meta http-equiv 只能用
09/06 11:23, 5F

09/06 11:23, 4年前 , 6F
某些限定的標頭, 4 則可以用任何標準的 HTTP header
09/06 11:23, 6F
文章代碼(AID): #1VJcASID (Web_Design)
文章代碼(AID): #1VJcASID (Web_Design)