再次提到預編譯,不會改變固定邏輯。id等于什么的只能更換頁面。
過濾器:
?代碼一旦執行在頁面中,就會執行,xss跨站。
Js的特性是顯示在頁面中之后開始執行,那個代碼是打印過后然后再渲染。
是的,核心是**“打印(輸出)的內容會被瀏覽器當作HTML渲染執行”**。
?
Servlet 里的 ?out.println(code)? 是往HTTP響應的正文中寫入內容。而HTTP響應最終會被瀏覽器接收,瀏覽器的職責是渲染HTTP響應里的內容(通常響應是HTML格式)。
?
舉個具體流程:
?
1.?攻擊者請求接口時,給 ?code? 參數傳入:?"<script>alert('XSS')</script>"?。
2.?Servlet 通過 ?req.getParameter("code")? 拿到這段惡意字符串,再通過 ?out.println(code)? 把它原封不動寫入HTTP響應的body。
3.?瀏覽器收到這個HTTP響應后,會把響應內容當作HTML代碼去解析、渲染——此時,?<script>alert('XSS')</script>? 就會被瀏覽器識別為“可執行的JavaScript腳本”,進而執行彈出 alert 框。
?
簡言之:服務端“打印”的是HTML/JS代碼片段,瀏覽器“渲染”時會把這些片段當作可執行的代碼處理,而非“純文本”。
?
?Filter過濾器(訪問
訪問數據流
?是通過關鍵字識別,類似黑名單,識別到有關鍵字就會給你過濾。
?
?正在過濾,這個過程是接收數據,但是不放行。最上面的servl et request,之類的東西是功能模塊。
servlet應用程序。
?
?監聽器:(監聽操作。
對象被創建和銷毀
對象中的屬性變更
監聽httpsession文中的對象狀態改變。
?一般是訪問三大類
讓監聽器生效,不需要寫路徑,檢測到哪個地方觸發Session就會觸發。
?
?邏輯順序↑
只要有銷毀這個動作會觸發監聽,不是看路徑的。
內存馬(內存型木馬)做鋪墊。
?今天講了監聽器和過濾器的概念
?
?
?