作者wavek (壞貓咪)
看板Web_Design
標題[心得] 網頁頁面轉址的幾種方法
時間Tue Sep 1 23:02:32 2020
網誌圖片程式碼方便閱讀版:
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='
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="
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://webptt.com/m.aspx?n=bbs/Web_Design/M.1598972572.A.48D.html
1F:推 kangfr: 最近剛好用到 感謝分享! 09/04 02:27
2F:推 nottt: 1的html其實也是js,只是位置跟3不太一樣而已 09/05 20:15
3F:推 LPH66: 然後 2 和 4 其實也很像 (因為 meta http-equiv 幾乎等於是 09/06 11:18
4F:→ LPH66: 在這個 html 中追加 HTTP header) 09/06 11:19
5F:→ LPH66: 這個"幾乎"就是 2 和 4 的差別了, meta http-equiv 只能用 09/06 11:23
6F:→ LPH66: 某些限定的標頭, 4 則可以用任何標準的 HTTP header 09/06 11:23