引言javascript
去年參與了不少公司組織的security活動,而且給本身team,其餘team作過一些security相關的分享,今年公司security相關的活動又陸續開始了,想借此機會寫一篇文章記錄下對我以爲有意思的知識。java
先是參加了一個mars attack的hacking game,簡單講,在這個遊戲中你須要利用已有的計算機知識攻克系統,最終達到控制機器人的目的。 以後和cong、gene同窗組隊參加了一個online hacking game的活動,這個活動提供了一個在線的平臺,裏面分了不少hacking的task,這些task難易程度不等,我的以爲這是一個頗有意思的game,從中能夠學到不少security相關的知識。 同時還跟team作過一些分享,包括basic的security knowledge,DPP-GDPR等等。算法
基於對上面活動中用到的知識的一個總結,下面我列出以爲有意思的點:數據庫
SQL Injection:SQL語句注入,在開發人員對數據庫操做語句使用不當的時候,***者可經過系統暴露的用戶接口(好比輸入框,瀏覽器的javascript源碼)進行***,達到獲取非法數據的目的。windows
XSS:全稱是Cross site scripting,這種***本質上是基於javascript代碼被瀏覽器自動執行,從而達到截取受害者敏感數據的目的。XSS***分爲多種,下面舉一個例子說明存儲型XSS,假若有一個論壇,登陸之後能夠發帖,能夠查看其餘人的帖子,登陸信息存在cookie中,***者發一個帖子,帖子內容是javascript代碼:瀏覽器
<script>讀取cookie信息;發送到***者服務器</script>
那麼每次受害者瀏覽該帖子的時候該段script代碼都被執行,隱私數據就會被髮送到***者的服務器上。安全
以上二者其實能夠歸於一大類,注入***(還包括cmd injection),這類注入***經常排名OWASP前列。前兩年發生的大名鼎鼎的新浪微博XSS事件,就是這類***。怎麼有效的防止這類***呢?我的理解經常使用的作法是input validation和output encoding。服務器
Denial-of-Service:拒絕服務***,縮寫是DoS,我的以爲這是頗有意思的***,基本意思就是***者採起某種方法讓服務提供者(好比宕機,繁忙,或者達到某種安全策略閾值)不能正常提供服務。其實大學裏面網絡工程這門課就有講到什麼是DoS,如何發送大量假的數據包到服務器,而後導致服務器沒法提供正常的服務,具體能夠查閱相關資料。下面我想再舉一個DoS例子(從Paul那邊聽到的),通常的購票網站都有登陸嘗試次數的限制,在國內某些搶票關鍵時間,***者經過大量嘗試登陸失敗,導致你的帳號被鎖定,沒法正常購票,其實這也是一種DoS***。微信
Brute Force:便是暴力***,通常來講此類***的難易程度隨密碼規則的難易程度而定。一般在不少成熟的系統裏,都要求設定要知足必定複雜度規則的密碼,而且,我的以爲在設定密碼是,千萬不要用生日、經常使用數字串12345六、名字、公司名等等。 以前在online hacking game裏面有一步是須要解壓一個zip壓縮文件,可是這個文件是有密碼保護的,因而在網上找到一個暴力破解工具Zip Password Cracker,利用這個工具僅僅幾秒中就把這個密碼保護破解了。cookie
DVWA:Damn Vulnerable Web App,這是一個開源的供security愛好者學習測試的平臺,這個平臺包含了常見的漏洞,好比,SQL Injection,XSS,Path Tranversal等等。你們能夠下載到本地嘗試一下,官網地址是:http://www.dvwa.co.uk/。
Base64:其實Base64不是加密解密算法,只是一種encoding、decoding算法,這種算法簡單的將原始信息轉換成不那麼readable的字符串,從而達到隱藏信息的做用。其實不少常見的地方都有用到,好比說有的cookie信息,jwt token,一些***者經常經過解碼這些信息,從而過得一些敏感信息。
Caesar cipher:凱撒密碼,最先的一種加密算法,本質上是對原文按照某種規則進行一種替換,從而達到加密的左右。這種算法在當今已經是很是不安全的一種加密算法,能夠經過暴力很容易破解。 舉個例子,這個字符串就是經過凱撒密鑰加密的密文「EBG13 vf nggevohgrq gb fbzrbar snzbhf. Synt uvf ynfg anzr!」,能夠經過這個網址https://www.dcode.fr/caesar-cipher很容易獲得明文「ROTISATTRIBUTEDTOSOMEONEFAMOUSFLAGHISLASTNAME」。
網絡端口漏洞
想必你們都對去年發生的席捲全球的WannaCry勒索病毒有所瞭解,其實這個病毒的傳播方式就是利用網絡端口445漏洞,這個端口在某些版本的windows系統是默認打開的,這就形成了病毒的大規模傳播。
其實除了這個端口,還有一些其餘端口也可能會存在漏洞。以前在online hacking game裏面,有一個task就是關於ftp server 21號端口的一個漏洞。簡單講,這個漏洞是因爲目標主機上採用PCMAN FTP Server 0.7版本setup了一個FTP服務,然而這個版本存在一個buffer overflow的漏洞,要***這個漏洞,能夠經過Metasploit工具,Metasploit是一個penetration testing的工具,這個工具包含了針對不少已知漏洞的***的sample。具體如何實施***,有興趣額的同窗能夠參考文章Hacking PCMAN FTP Server with Metasploit(http://liminghua.004321.blog.163.com/blog/static/52325233201801945325996/)。
介紹兩個有用的網絡命令:
ping 廣播地址 查看同一個網段的其餘機器
nmap 192.168.56.1-255 網絡掃描
GDPR:General Data Protection Regulation,歐洲通用數據保護法案。這個法案明確了我的隱私數據被保護的重要性,企業應該如何保護用戶的隱私數據,若是有違規,將面臨最高年收入4%的鉅額罰款。我的以爲歐洲在這方面的法律法規仍是比較健全的,相比國內各類倒賣我的身份信息的案例,咱們在這方面還需進步啊。舉兩個案例來講明我的隱私數據保護的重要性:
前兩年Facebook收購WhatsApp以後,與WhatsApp共享我的資料,遭到歐洲國家強力反對及制裁。 http://tech.qq.com/a/20171219/021935.htm
準備發這篇文章的時候發現微信也在作GDPR的compliance。
最後的話:以上security相關知識的介紹,目的只是在於知識的學習,教育,傳播,請不要用於非法用途。