1. 程式人生 > >js前端驗證和繞過

js前端驗證和繞過

func 修改 span 執行 分享 sca rup ini src

一、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代碼。

技術分享圖片

js前端驗證和繞過