- Web應用安全威脅與防治
- 王文君 李建蒙編著
- 577字
- 2018-12-26 19:42:29
故事四:IT青年VS禪師
老禪師在微博上一直很忙,忙著給有志理科青年指導人生,其中有下面這么一段。
理科青年問禪師:“大師,我很愛我的女朋友,她也有很多優點,但是總有幾個缺點讓我非常討厭,有什么方法能讓她改變?”
禪師淺笑,答:“方法很簡單,不過若想我教你,你需先下山為我找一張只有正面沒有背面的紙回來。”
理科青年略一沉吟,掏出一個莫比烏斯帶。
【注】莫比烏斯帶,是一種拓撲學結構,它只有一個面(表面),和一個邊界。
鑒于理科青年的一句話毀掉了許多小清新,于是老禪師在自己的門外掛了一個牌子,上面寫著“理科青年不得入內”。
話說有一天,一個搞IT的工科青年進來拜見老禪師。
IT青年問禪師:“大師,7年前我開始寫Java程序,現在我開始寫手機程序,明年老板說我們的應用要搬到SaaS平臺,出來一樣新東西就要學習一樣新東西,我感覺做IT真的是太累了,你說咋辦好?”
禪師淺笑,答:“笑著面對,不去埋怨。悠然,隨心,不變應萬變。你能找到內部構造改變了而外表卻絲毫不變的東西嗎?”
青年略一沉吟,用ESAPI(Java)寫下了下面的代碼:
System.out.println(ESAPI.encoder(). encodeForHTML("<script>alert(123)</ script>"));
【注】上面的程序輸入是"<script>alert(123)</script>",輸出是"<script>alert( 123)</script>",雖然不一樣,但在HTML頁面上顯示的卻是同一內容。
這個故事告訴我們——我們用ESAPI進行輸出編碼,除卻了崢嶸,用戶體驗卻絲毫未變。
接下來的時間里,就讓我們暢游編寫安全代碼需要知曉的OWASP Top 10和ESAPI這個應用安全的世界吧。
推薦閱讀
- Extending Symfony2 Web Application Framework
- 白話網絡安全2:網安戰略篇
- Learning Python for Forensics
- Kali Linux Wireless Penetration Testing Cookbook
- Building a Home Security System with BeagleBone
- Kerberos域網絡安全從入門到精通
- 軟件安全保障體系架構
- 網絡安全設計、配置與管理大全
- 互聯網企業安全高級指南
- SQL Injection Strategies
- 數據保護:工作負載的可恢復性
- 捍衛隱私
- CTF快速上手:PicoCTF真題解析(Web篇)
- 網絡空間安全導論
- 網絡空間安全法律問題研究