測試工程師是不少人邁進軟件行業的起點。從負責很小的局部到把握整個產品的質量,每一個人花費的時間長短不一——從功能到性能、可用性到容錯性、從兼容性到擴展性、穩定性到健壯性……方方面面逐漸作廣作深。html
不過,你們逐漸發現,質量這條路的上升空間有層天花板,若是僅限於上面列舉的內容但不夠深刻,固守着手工或半自動測試,則很難突破。不少處於這種狀態的人會選擇轉型,去作產品經理、質量管理、配置管理等方向,甚至去作開發工做,以期得到更大的升職加薪空間。其實,測試的所謂出路未必,也毫不止上面種種,例如我在不少論壇上見到的各路性能優化大師們,在性能測試的方向上作得足夠精深,是很受青睞和賞識的,收入天然也是豐厚的。而另外一個方向,也是我今天要重點介紹的,則是安全測試。web
若是說性能是伴隨着互聯網起步和電商等在線業務的爆發而崛起的剛性需求,那麼安全則是在線業務成熟並進化路上欠下的最大債務,亟待解決。天天都有各式各樣的網絡欺詐、誘騙、盜竊,安全的互聯網生活難道不該該成爲每一個網民的最低需求麼?所以,市場決定了安全測試是一片藍海,大有前途。數據庫
相信不少測試工程師和我有過一樣的迷茫,想作自動化、想作性能、想作安全……可是入道無門。一方面企業在安全測試方面投入較少,除非進入圈內的企業,不然難以找到學習和積累的機會;另外一方面多是感受安全測試有必定門檻,身邊又沒有資深的人給予指點,在繁重的測試工做壓力下做罷。我時常慶幸這個時代入行的人,由於這個時代知識無所不在,只要利用好兩樣東西——一個是網絡,而搜索引擎就是最好的導師;另外一個則是圈子,多在業餘參加論壇活動和技術分享會議,會很容易結識圈內的朋友,而這些技術大拿是樂於分享他們的經驗和學習技巧的。瀏覽器
本人有幸加入了一款安全產品的初創團隊,開始了安全測試的學習和摸索,正是源自一次技術分享活動。這個團隊聘請了數位圈內資深的安全專家作顧問,在他們的指點下,我先了解了簡單的網絡攻防的概念和 OWASP 組織收集並整理的 TOP 10 安全漏洞,並複習了 Http 協議,以便於理解各類漏洞和攻擊的原理。接下來,我便認識了一個詞—— WebGoat。安全
這是一款由 OWASP 組織研發的開源安全測試和教學 web 應用,顧名思義,她包含全部最重要的安全漏洞,如 SQL 注入和 XSS 跨站腳本攻擊等,每一個漏洞類型做爲一堂課程免費提供給全部人學習、嘗試,如代罪羔羊同樣任由人們折騰。她還提供提示和解決方案,以幫助同窗們理解並收穫成功的喜悅。下圖就是 Webgoat 的主界面。性能優化
能夠看到,左側是課程的列表,以安全漏洞的首字母排序;右側是對應的課程內容,包括:網絡
下圖是成功達成攻擊目的後的課程頁面:架構
看到這個形象且略帶刺激的畫面,你是否開始對直覺中冰冷黑暗的安全測試有了興趣呢?經過這樣的學習和嘗試,有基礎的測試人員能夠很快掌握基本的滲透測試手段,以做爲進一步學習的基礎。xss
須要注意的是,使用 WebGoat 學習有如下要求:工具
此外,利用好瀏覽器提供的 debug 工具也是提升學習效率的捷徑。如在 Chrome 裏打開開發者工具抓取網絡請求和響應並分析其請求 header 和 body,能夠更真實地看到網絡應用是如何被攻擊的。
說到這裏,不能不提一下咱們所作的安全產品—— OneRASP 。或許大家想象不到,這款產品在我學習使用 WebGoat 的過程當中還發揮了不小的做用呢!RASP 即運行時應用自我保護,屬於主動安全防禦的概念,理解起來或許比較抽象。那麼,到底 OneRASP 能怎樣幫到學習安全測試的咱們呢?
原來,WebGoat 當然提供了每種漏洞的攻擊方法,並把效果展示了出來,可是攻擊發生的具體位置仍是看不到的。如前面的示例,數字類型的 SQL 注入可使全部城市的天氣信息一覽無遺,那麼具體是在源碼的什麼位置泄漏出去的呢?WebGoat 沒法告訴咱們,可是 OneRASP 能夠——由於咱們開發的安全探針能夠植入 WebGoat 所在的容器 Tomcat,並在惡意請求訪問數據庫時發現並上報到可視化的 Web 控制檯,使得攻擊的手段和位置信息也一覽無遺!以下圖所示:
可見,OneRASP能夠幫助咱們理解攻擊發生時的不少細節,而且能夠定位到源代碼的具體文件和具體行上。固然,這款產品的真正目的是幫助企業在沒必要馬上修復漏洞的狀況下實現安全生產,用在學習上則是有點大材小用了,但畢竟錦上添花,何樂不爲呢?
本文系 OneASP 質量架構工程師王新泉原創文章。現在,多樣化的攻擊手段層出不窮,傳統安全解決方案愈來愈難以應對網絡安全攻擊。OneRASP 實時應用自我保護技術,能夠爲軟件產品提供精準的實時保護,使其免受漏洞所累。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客
本文轉自 OneAPM 官方博客