后端采用apache搭建
配置Brup Suit代理,Brupt suit绑定至本地6666号端口进行监听
在Proxy选项卡中的Options设置端口监听
在浏览器中手动配置代理,HTTP代理127.0.0.1,端口号选择刚才配置的
测试代码
前端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="./js/lib/jquery-3.5.1.min.js"></script> <title>Document</title> </head>
<body> <form action="/php/index.php" method="post"> <input class="text" type="text" name="text" id=""> <button class="btn">测试</button> </form> <script> jQuery(function () { $('.btn').on('click', function (ev) { check($('.text')); }) function check(f) { var c = new Array('script', '<', '>', 'input', 'img'); var str = f.val(); for (var i = 0; i < c.length; i++) { if (str.indexOf(c[i]) != -1) { alert('你输入的数据存在敏感字符' + c[i]); return false; } } } }) </script> </body>
</html>
|
后端
1 2 3 4
| <?php header('Content-Type:text/html;charset=utf-8 '); echo '你输入的内容为' . $_POST["text"];
|
输入一个正常的数据后拦截POST请求

将其修改为敏感文本(一段js代码)
注意要先配置php环境和Content-Type,修改后的数据包直接发送

成功在服务器插入了一段js脚本,通过修改HTTP请求绕过了前端javascript验证,造成了XSS跨站漏洞
以上实验证明了后端验证的必要性,前端验证可以通过拦截数据包轻易绕过,为了应对恶意攻击后端验证是必须的