作者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/cn.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