標籤:安全 web安全 url參數 金融安全
首先需要聲明,本文純屬一個毫無遠見和真才實學的小小開發人員的愚昧見解,僅供用於web系統安全方面的參考。
1、 簡單說明
應用程式通常以終端使用者無法直接查看或者修改的方式向伺服器傳送資料。很多的時候,開發人員都優先考慮實現基本效果,而很少去考慮我們所採用的傳輸機制能夠確保資料在傳輸過程中不會被修改。
在互連網中,大量的資料通過URL參數的方式進行傳遞,大部分的資料,是沒有通過加密進行傳輸。在我所瞭解到的情況,大部分的資料是通過明碼進行…
2、 優點:
- 不用追蹤使用者會話中的資料,減少保持在伺服器上的資料,提高伺服器處理的效能;
- 大型系統中,都會使用負載平衡,還能降低負載平衡裝置的壓力;
- 降低其他組件的複雜性;
- 開發、聯調方便;
- 其他優點…
3、 URL參數傳遞
使用者瀏覽產品目錄的時候,一般系統都會給使用者指派一個URL,類似下面:
http://127.0.0.1:8080/webStudy/url.jsp?price=2199&code=p7
當然,如果包含參數的URL顯示在瀏覽器地址欄中,很多人知道,這個好像是不太安全的。當然,我們也要相信這種情況肯定有,不過應該是極少數。
很多種的情況,是我們不希望使用者直接查看的,我們會用一些其他的方法,比如系統通過快顯視窗或者隱藏瀏覽器地址的方式來進行貌似高安全的方法。
一些購物網站也是這樣做的,通過隱藏欄位來保持商品的價格。以前這種做法很常見,現在是否消失,我也不確定…
4、 通過URL參數傳遞的原始碼
url.jsp
<%@ page language=”java” import=”java.util.,javax.servlet.http.” pageEncoding=”UTF-8”%>
看好你的門-阿飯同學
登陸成功,歡迎來自<%=(String)request.getRemoteAddr()%> 的使用者。
購買了華為手機,
型號為:<%=(String)request.getParameter(“code”)%>
單價<%=(String)request.getParameter(“price”)%>
在瀏覽器上輸入:http://127.0.0.1:8080/webStudy/url.jsp?price=2199&code=p7
顯示:
登陸成功,歡迎來自127.0.0.1 的使用者。
購買了華為手機,
型號為:p7
單價2199
5、 被攻擊
雖然價格欄位沒有顯示在螢幕上,看起來使用者也不能去修改。 但是用戶端的一切最終操作都是使用者控制,使用者編輯這個價格就可以解除這個限制。
1、 最簡單的方法,點擊右鍵獲得這個隱藏的URL參數,然後把這個參數進行修改,然後載入瀏覽器,那麼結果就發生了變化; 比如:http://127.0.0.1:8080/webStudy/url.jsp?price=122&code=p7
2、 通過攔截伺服器對資料直接進行修改。
看好你的門-用戶端傳資料(2)-URL參數