日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

黑客攻防日记---刘欣

發(fā)布時間:2023/12/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑客攻防日记---刘欣 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
小黑的日記? 2010-6-22 晴


我最近發(fā)現(xiàn)了一個網(wǎng)站,是個博客平臺,很火,大家都到那里去寫注冊賬號,寫日志。


我也好奇地去看了看,不過,我主要是想看看有什么漏洞沒有,哈哈。


我發(fā)現(xiàn)他這個網(wǎng)站只用了HTTP協(xié)議,沒用HTTPS,換句話說,所有的數(shù)據(jù)都是明文傳輸?shù)?#xff0c;包括用戶名和密碼, 我覺得機(jī)會來了。


我尊敬的大哥給了我?guī)着_服務(wù)器的信息,他說通過這幾臺服務(wù)器能夠偷窺,不,是監(jiān)視發(fā)往博客平臺服務(wù)器的HTTP數(shù)據(jù),還能通過這幾臺服務(wù)器當(dāng)個中間人,攔截修改請求和響應(yīng), 這讓我喜出望外。


既然數(shù)據(jù)都是明文的,我就輕松地拿到了很多人的用戶名和密碼。更有意思的是,這些人的用戶名和密碼在很多平臺都是一樣的,這下次發(fā)財了!


我把用戶名和密碼都獻(xiàn)給了大哥。


張大胖的日記 ? ?2010-6-23 ?陰


最近收到了不少投訴,都是說密碼泄露的問題,我覺得不可能啊,因為我根本就沒有明文存儲密碼!


有些人還不相信,我百口難辨。


在服務(wù)器的數(shù)據(jù)庫里,我存的都是hash過的密碼,為了防止黑客破解, 每個密碼還都加了鹽(salt)以后才做的存儲。 密碼怎么可能泄露?




想來想去,我覺得還是從瀏覽器到服務(wù)器這一段出了問題,肯定是有人在偷窺, 老子一定要加密!


我想用RSA這種非對稱的加密方式(碼農(nóng)翻身注: RSA的詳細(xì)解釋戳這里):


服務(wù)器生成public key 和 private key , 瀏覽器用JavaScript使用public key 對密碼加密, 然后服務(wù)器端用private key 進(jìn)行解密。 這樣,密碼在傳輸過程中就不會被竊取了。



小黑的日記? 2010-6-24 多云


我突然發(fā)現(xiàn),好多密碼都被加密了!


我讓大哥看了看,大哥說沒有私鑰,我是無法解密的, 不過他建議我當(dāng)個中間人,也生成一對兒public key 和private key , 對博客網(wǎng)站冒充是瀏覽器, 對瀏覽器冒充是博客網(wǎng)站。


我把我的public key 發(fā)給瀏覽器,瀏覽器把加密后的數(shù)據(jù)發(fā)給我,我用我的private key 解密, 就拿到了明文密碼。


然后我還得用博客網(wǎng)站的public key 把密碼加密,發(fā)給博客網(wǎng)站,讓它渾然不知。


這件事難度不小,真是讓人興奮。


張大胖的日記, 2010-6-25 陰


MD, 密碼還是泄露,氣死老子了。


幸虧Bill提示我說可能有中間人,?我怎么忘了我和Bill 建立HTTPS的時候已經(jīng)考慮到中間人這種情況了?


(碼農(nóng)翻身注: 《一個故事講完HTTPS》)


中間人難于防范,還得搞數(shù)字證書證明身份,如果我把這一套都搞好,豈不是又實現(xiàn)了一遍HTTPS? 重復(fù)發(fā)明輪子!


要不我也上HTTPS ,一勞永逸地解決問題? 但是我這是個小網(wǎng)站,搞個正規(guī)的、瀏覽器不會提示安全風(fēng)險的證書也不便宜吧?


真是煩人!


小黑的日記, 2010-6-26 晴


當(dāng)中間人真是爽!


張大胖的日記, 2010-6-27 小雨


老子決定不再折騰HTTPS了!


Bill建議我可以對瀏覽器發(fā)過來的密碼加密, 其實也不是加密,而是做個Hash, Hash過的數(shù)據(jù)是不可逆的,不能恢復(fù)原始的明文密碼。


瀏覽器端:

hash(password,salt) -> hash_password

然后瀏覽器把(username, hash_password) 發(fā)給服務(wù)器端。


服務(wù)器端:

從數(shù)據(jù)庫獲得之前保存的hash_password


和瀏覽器傳遞過來的hash_password比較,看看是否相等。


從此以后,網(wǎng)絡(luò)上傳輸?shù)亩际撬^hash_password,再也看不到明文密碼了, 讓那幫偷窺的孫子們哭去吧!


ps : 在瀏覽器中進(jìn)行hash的時候,有一個salt參數(shù), 這個salt從哪里來? 肯定是從服務(wù)器端獲取的啊。


小黑的日記, 2010-6-28 晴


大哥猜對了,那家伙果然對密碼做了hash,然后再發(fā)到服務(wù)器端,現(xiàn)在我難于獲取明文密碼了。


不過,那家伙還是留了一個大漏洞,既然我還能監(jiān)聽到 user_name, hash_password, 我就重新發(fā)送一下到服務(wù)器端,還是成功登陸這個博客系統(tǒng)了! 哈哈!


張大胖的日記, 2010-6-29 中雨


焦頭爛額!


這個瀏覽器端的hash操作沒能發(fā)揮作用。今天研究了半天,才發(fā)現(xiàn)那些黑客可以重放攻擊


Bill說主要的原因還是salt固定導(dǎo)致的, 我決定再增加一點難度,增加一點動態(tài)的東西:驗證碼(captcha)!


用戶登錄的時候,發(fā)個驗證碼(captcha)到瀏覽器,這個驗證碼每次都不一樣。


瀏覽器端:

第一次Hash:

hash(password,salt) -> hash_password1


第二次Hash:

hash(hash_password1,captcha) ?->?hash_password2

然后瀏覽器把(username,?hash_password2captcha) 發(fā)給服務(wù)器端。


注意:hash_password1并不會發(fā)送給服務(wù)器, 黑客們窺探不到。


服務(wù)器端:


驗證captcha 是否正確


使用username從數(shù)據(jù)庫獲得hash_password


hash(hashed_password,captcha) ?-->?hash_password3


比較hash_password2hash_password3,看看是否相等。

如果相等,登錄成功,否則,登錄失敗。


hash_password2是使用一次性的驗證碼生成的, 即使被那幫孫子截獲,他也沒法展開重放攻擊,因為驗證碼已經(jīng)失效了。


小黑的日記, 2010-6-30 陰天


那家伙越來越聰明了嘛,增加了驗證碼,老子的重放攻擊也不管用了。


不過大哥真是威武,他告訴我要另辟蹊徑,想辦法攻擊博客系統(tǒng)的數(shù)據(jù)庫,只要把數(shù)據(jù)庫拿到了,用暴力的方法破解它!


今晚就開始行動!


張大胖的日記, 2010-6-30 多云


Bill今天來了,他告訴我一件重要事情,不管你前端怎么加密,后端的安全措施一點都不能少!


我決定,把用戶在瀏覽器中輸入的密碼做兩次hash, 一次在瀏覽器端做,另外一次在服務(wù)器端做,把最終的結(jié)果作為密碼存到數(shù)據(jù)庫中。


瀏覽器端:


front_hash(password,salt) ->front_hash_password

發(fā)送(username,front_hash_password)到服務(wù)器端


服務(wù)器端:


back_hash(front_hash_password,salt) -> backend_hash_password


和數(shù)據(jù)庫保存的hash_password做比較, 看看是否相等。


這么做的結(jié)果就是, 如果那幫孫子真的把我的數(shù)據(jù)庫給偷走了,他們也很難通過撞庫的方式破解其中的密碼。


因為他們通常會把常用密碼建立一個字典,然后通過hash算法生成hash值,如果這個hash值和待破解數(shù)據(jù)庫的值相等,不就知道明文是什么了嗎?


但是我的數(shù)據(jù)庫中的密碼是通過front_hash_password 作為明文密碼,再次hash計算出來的。而那個front_hash_password本身就是個散列值,毫無規(guī)則可言。假如它是個32位的16進(jìn)制字符串, 那將會有16^32 中組合,這是個天文數(shù)字,?這樣字典也就難以建立了。


如果黑客把密碼也按照我的方式,把常用的密碼做兩次hash呢?


這也不怕,Bill說可以把瀏覽器端的hash算法設(shè)置得復(fù)雜一點,增加破解的難度。 當(dāng)然復(fù)雜的算法比較耗時, 但是Bill說了: 瀏覽器是分布的,完全可以充分利用他們的計算能力嘛!


Bill真是個聰明的家伙。


為了最終的安全,我想我還是上HTTPS吧!


小黑的日記, 2010-7-1 陰


終于把博客系統(tǒng)的數(shù)據(jù)庫給拖下來了,可是怎么都破解不了。


大哥研究了一下說,這個網(wǎng)站可能用了復(fù)雜的Hash算法, 破解起來太耗時間了,放棄吧。


更加悲催的是,我發(fā)現(xiàn)這個網(wǎng)站開始使用HTTPS了,真的難以下手了。


我還是去看世界杯去吧。

總結(jié)

以上是生活随笔為你收集整理的黑客攻防日记---刘欣的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。