js前端驗證和繞過


一、js前端驗證

本篇基於上篇,修改了form.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8     
 9 </head>
10 <body>
11     <form method="POST" onsubmit="return check(this)">
12         {{info.string()}}
13         {{info.sub()}}
14     </form>
15     <script>
16         function check(f){
17             var str=f.string.value;
18             var c=new Array('script','<','>','input','img');
19             for(var i=0;i<c.length;i++){
20                 if(str.indexOf(c[i])!=-1){
21                     alert("存在敏感字符:"+c[i]);
22                     return false;
23                 }
24             }
25             return true;
26         }
27     </script>
28 </body>
29 </html>

就是簡單的敏感字符對比,如果存在敏感字符就停止提交表單。

如果輸入敏感字符串,會提示:

接下來演示前端驗證繞過:

1.配置Brup Suit代理,Brupt suit綁定至本地1234號端口進行監聽:

配置火狐瀏覽器,使其所有的流量交給127.0.0.1:1234代理:

 

2.攔截並修改HTTP請求

將最后的string=Hello+from+XSS修改為下面內容(這里注意兩邊帶反斜杠或引號,否則不執行):

 這樣就繞過了前端驗證,觸發了js代碼。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM