Weil Jimmer's BlogWeil Jimmer's Blog


Category:Note

Found 26 records. Now is Page 1 / 6.

域名的故事
No Comments

發布:2018-01-04 00:49:42

前言:最近會想寫這篇文章都是因為看到網路上有別人在講他們的故事,讓我有感而發。

本站在 2012 年就已經成立了,那時候還是在使用 TWBBS 免費自由網域,隨意以電腦資訊為主題想了一個名稱「0000」,於是乎註冊了「0000.twgogo.org」,至本文章發布日,此網域仍舊可以使用,我甚至心想乾脆就以之為永久網域吧!不料自由網域也即將關停長達十八年的服務,讓我心中頗有不捨。

在2016年二月前,我一直都是採用自由網域,不過一直期盼能夠擁有 .com 網域,不過頂級網域並非免費的,而且我也沒管道不知道要怎麼付款,再加上那時候都還是國中國小階段,怎麼可能有錢付…,故只好用免費的架站。直到高中三年級才擁有了自己的第一個網域「00wbf.com」,原本是想繼承「零」的特性,可是四個零早早就被別人註冊走,我也不想要太長的網域名稱,想註冊 wbf 相關類的網域,結果大多都被註冊走了,只好變成 00wbf 這個名稱。使用這網域將近九個月時,我已經開始厭惡了,因為開頭是數字再加上後面英文輸入不太好打,要嘛就全數字或全英文,而且好像也不好記憶。

因此,2016年十一月,我又在域名註冊網站上閒晃,一直在想一個好名稱,喜歡的,有代表性的,結果當我查到 weils.net 時,發現沒有人註冊!讓我突然心一喜,就決定是這個域名了,可以直接翻譯成 Weil's Net,讓我覺得還可以接受,雖然我比較想要 weil.net,不過都被別人註冊走了,當初註冊完後就開始祕密佈署,等到正式測試完後再取代掉原本網域。

原以為這樣就可以鬆一口氣,沒想到我竟然有一點不捨,第二年,我還是又續約了 00wbf,心想這種網域萬一落入他人之手,是不是可以冒用我的名義?開始在想:換網域的缺點似乎不只有網址改變,不只有影響SEO,最重要的是要保持著原本的網域…我還在想,到底何時要放棄舊的網域,目前沒有什麼定案。

以上都是講我自己的私人網域,其次也有註冊比較公用性質的,個人比較重視公私分明,能盡量不合一就不合一。同樣在 2012 年註冊了名為「birch.twgogo.org」這個名稱,birch 是白樺樹的英文,原本也是一直架著論壇好幾年,直到後來主機一直有問題,再加上自己本身無心管理,才暫時放棄管理,但網站一直都是 Online 的。而且我也註冊很多個自由網域指向同個 IP,同時我還註冊了「birch.idv.la」(之前在香港IT聯盟註冊的,現在已停止服務)。

後來私人網域已經有了頂級網域後,我認為公用域名應該也要是頂級域名,才可以凸顯其專業,原先有拿到免費優惠碼,故註冊一年的 wbft.asia,不過是在我不太喜歡的網站註冊的,覺得續約麻煩,轉移又要錢,再加上不喜歡 asia 這個後驟,即使 asia 也是 gTLD,我依舊老古板的認為要用傳統域名比較專業,於是註冊了 wbftw.org,同樣的,為何不註冊 wbft.org,我也是很想阿,不過已經被別人註冊走了,我甚至想註冊 wbf 就好,最後還是決定使用 wbftw.org。

「wbftw」可以直接解釋為「wbf」(白樺論壇)與「tw」(台灣),也可以解釋成白樺論壇網頁,多一個 w,跟我自己的私人網域一樣,總是多出不想要的字母,我個人是對團隊網域沒有任何不滿,就這樣了,覺得取名也不會太爛,是有點難記但很獨一無二,原本想註冊 WBFTeam 礙於太長了,就不考慮註冊那麼長的網域,於是就沿用此網域至今。不知道何時,白樺論壇才能正式再度 Online。

網域這種東西,不僅僅象徵了品牌、唯一性,一旦註冊了就影響深遠,大家都是記憶這個名稱、這個網址,一旦換網域問題真的很多!尤其是當舊網址已經散播出去時,要通知所有大大小小的網頁去修改網址是非常困難的!

By Weil Jimmer


This entry was posted in General, Experience, Mood, The Internet, Note By Weil Jimmer.

BadUSB 初體驗 Arduino Duckuino Hid Keyboard Attack
No Comments

發布:
更新:2017-12-24 19:36:21

最近不知道為啥,突然心血來潮一直想要來編譯 USB隨身碟,做一支 BadUSB,遺憾的是一直找不到目標型號的控制器(Controller)。後來搜尋,沒想到網路上竟然已經有賣類似功能的東西了!

BadUSB 顧名思義就是壞的 USB 碟,會執行一些程式碼,可能會讓電腦受損,而這類攻擊都是需要實體插入電腦裡面的,並且,防毒軟體有很大機率是掃描不到,程式碼都是在閃存控制器(Flash Memory Controller)裡面,除非很底層的軟體,否則幾乎是碰不到那區塊。

雖然一般隨身碟拿來修改的話,價格比較便宜,但是不太好操作,真正的 Rubbery Ducky 又太貴了,買不起。網路上的 Arduino 做成的微型控制器比較便宜一點。很久以前也有萌生用 Arduino 實作的想法,不過太醜了,就是一塊電路板,沒有殼,網路上找不太到賣殼的,而現在我找到的真的很精美,不是 MicroUSB 所以連轉接都不用,於是乎買來體驗一下。僅僅是測試,至於啥麼用途,可以自由發揮,例如:騙別人這是普通的隨身碟之類的,插上去就立刻變身成鍵盤執行惡意代碼。

上圖即是我網購的帶有 Arduino ATmega32U4 控制器的 USB,外觀就像正常的隨身碟,不是所有 Arduino 都可以當成鍵盤用,例如 Arduino Nano 就不行。

這樣一來就可以把 Arduino 當成 Rubbery Ducky 使用,直接實行 Hid Keyboard Attack。網路上已經有教學文章可以直接將 Rubbery Ducky 的程式碼 轉為 Arduino專用的程式碼。這樣就不太需要自己修改。

可以參考:https://github.com/Nurrl/Duckuino

DELAY 2000
GUI r
DELAY 100
SHIFT
STRING cmd
ENTER
DELAY 100
STRING shutdown -t 0 -y -s
ENTER

以上是我編譯的 Script Example,用途是立刻將電腦關機,當我實際運行時有遇到不少麻煩,好像開不了 Windows Key + R Key,最後解決方法是把

Keyboard.press("r"); 
換成
Keyboard.press('r');

就這個單雙引號害我 Debug 好久,加上 Delay 好像也沒用。覺得奇特。

運行結果如下方影片:

By Weil Jimmer


This entry was posted in Arduino, C, General, Experience, Functions, Note By Weil Jimmer.

Grub 加入 VeraCrypt 開機選單 多系統
No Comments

發布:
更新:2017-08-14 21:08:02

好久沒發文了,今天寫篇沒有程度的文章做個小筆記。

最近和同學聊天,正好扯到了加密硬碟,突然想到我自己的電腦 Win10 也是屬於未加密的一類,所以乾脆就用 VeraCrypt加密掉好了,可惜卻出現一個問題就是開機選單只能選單一系統,其他硬碟的系統好像偵測不到一樣,變成灰色的選項不給選。所以只好事後補修這個問題啦。

先開機進入BIOS重新選擇開機選單,開到特定Linux,安裝Grub,

apt-get install grub-efi

網路上似乎很少人講這個東西。即使有 issue 被提交了,但下面也沒啥人回應。

首先,打開目標文件:/boot/grub/grub.cfg,搜尋 menuentry 'Windows Boot Manager (on /dev/sdb1)'

然後複製整個 menuentry,在這邊直接修改是沒什麼效果的,到時候Update掉又被OverWritten,打開:/etc/grub.d/40_custom,

在下面直接加入整個 menuentry。以下是示範:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry 'Windows 10 VeraCrypt (on /dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-efi-B673-5372' {
	insmod part_gpt
	insmod fat
	set root='hd1,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1  B673-5372
	else
	  search --no-floppy --fs-uuid --set=root B673-5372
	fi
	chainloader /EFI/VeraCrypt/DcsBoot.efi
}

直接改掉 chainloader 的資訊,對應到 /EFI/VeraCrypt/DcsBoot.efi 即可。最後直接輸入指令:

update-grub

這樣就大功告成了。

By Weil Jimmer


This entry was posted in Bash, General, Experience, Note By Weil Jimmer.

本站通過之標準
No Comments

發布:
更新:2017-05-04 20:20:55

本站於 2017.01.20 決定將網域 weils.net 加入 HSTS preload 清單中,並且全站HTTPS,以增進用戶之體驗與安全。

而近期,Chrome 的桌面及安卓穩定版(版本58之後)已經硬寫入本站域名,而任何舊版瀏覽器以HTTP訪問本站皆是"危險"且不可能的事情,若發生請立刻中斷連線,以保護您的資訊免於駭客侵犯。

而本站在昨日添加了 DNS CAA 紀錄進入幾個主要網站域名,更加強了預防假證書的發行。

昨日,本站也修復了歷來 weils.net 無DS紀錄導致 DNSSEC不安全的錯誤,故即日起, weils.net 之 DNSSEC 已經完全正常運作。

本站也全面以HTML5 W3C標準通過網站規格驗證,確保網站擁有良好的瀏覽品質。

另在更久以前 url.weils.net 成立之初,本站也全面使用現行網際網路最新之協定 HTTP/2 ,使用戶瀏覽本站速度會更加快速。

最後則是本站支援 IPv6 。


This entry was posted in Announcement, General, Experience, HTML, The Internet, Note, WebHosting By Weil Jimmer.

深入淺出 Email 通訊運作原理
No Comments

發布:
更新:2017-05-04 20:27:46

現代已是資訊豐富多元的時代,不像以前得依靠郵差去送信,只要寄送電子郵件,幾乎瞬間就可以傳遞到對方的手上。Email也問世幾十年,但當初沒有設計好,現在才有一堆新的政策補強Email的缺點。

我直接進入正題,若有誤還請多多包涵或留言糾正我。

首先,我想先簡單介紹,Email郵件的格式,Email很像一個正常的網頁回應,包含標頭,內容,標頭Header會含有一些重要資訊,例如誰寄信的、收件者是誰、郵件的編碼、發件人IP(非必要)……資訊。通常內容是用Base64編碼啦。少數HTML郵件,是直接傳送 plaintext 純文本 UTF8 編碼郵件。郵件編碼設定有誤可能會造成收件亂碼或是軟體不支援此編碼的各種問題。

以下是範例郵件內容:


Mime-Version: 1.0
Date: Mon, 10 Apr 2017 12:59:53 +0000
Content-Type: multipart/alternative;
 boundary="--=_RainLoop_611_240864755.1491829193"
Message-ID: <fc76c3e9a9187fd5b0cb8f86a8f119b8@weils.net>
X-Mailer: RainLoop/1.11.0.203
From: "Weil Jimmer" <me@weils.net>
Subject: test
To: weil@00wbf.com

----=_RainLoop_611_240864755.1491829193
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

--=0A=0AWeil Jimmer , Member Of White Birch Forum Team.=0Ahttps://www.wbf=
tw.org (https://www.wbftw.org/)=0A=0ABest Regards.

----=_RainLoop_611_240864755.1491829193
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><head><meta http-equiv=3D"Content-Type" content=3D"t=
ext/html; charset=3Dutf-8" /></head><body><div data-html-editor-font-wrap=
per=3D"true" style=3D"font-family: arial, sans-serif; font-size: 13px;"><=
signature><br><br>--<br><br>Weil Jimmer , Member Of White Birch Forum Tea=
m.<br><a target=3D"_blank" rel=3D"noopener noreferrer" href=3D"https://ww=
w.wbftw.org/">https://www.wbftw.org</a><br><br>Best Regards.</signature><=
/div></body></html>

----=_RainLoop_611_240864755.1491829193--

郵件講完了,之後就是Email格式。

全世界 Email以 username@domain.net 為主,想必大家都知道這個形式也看過很多次,根據RFC標準,Email地址有效長度上限是254字串。而 「@」之後的文字為域名,就是網域名稱,通常對應的域名可能包含mail關鍵字,而且盡可能的越短越好(畢竟使用者不會記那麼長的Email)。例如:gmail.com、yahoo.com、weils.net。

講到域名就得扯到 DNS (Domain Name System),這邊簡單介紹就好了,由於現行網路世界,記憶英文單字的網址比記憶IP更來的人性化,才出了一個域名系統,瀏覽網頁都要透過查詢域名IP以對應目標伺服器才可以上網,同理,Email也是如此,Email域名透過查詢MX紀錄,得知"優先順序"及"目標伺服器IP或另一個域名"。

如圖:

得到正確的 IP 之後,透過 TCP 連線,連到目標伺服器的 SMTP (port25或587)軟體,進行通訊作業。

可以參考看看我寫的這篇文章:不用寄信 檢查 Email 是否 真實 存在 PHP

這是整個 Email 通訊的流程,透過連線到發信伺服器,然後,發到另一台收件伺服器,通過內送信件軟體存到資料庫,然後透過IMAP或POP3的形式傳出來。當然現行有更安全的通訊協定,經過TLS加密的IMAPS、POP3S,以及SMTPS…等,其中也有驗證證書,暫且不提,要談到安全連線可以參考我之前寫的文章:淺談 HTTP、HTTPS、HSTS 安全 MITM、SSLStrip

這大概就是收發信的完整流程,一些人會在內送伺服器軟體上加入過濾程式、掃描病毒,如:SpamAssassin。

我再補充一些關於IMAP(Internet Message Access Protocol)、POP3(Post Office Protocol)的區別。IMAP簡言之就是會同步Email伺服器的各種動作,在多個裝置同步登入讀取訊息,郵件也是儲存在伺服器上面。而POP3則會將郵件下載到本機的空間,並且從伺服器上面刪除,導致只有第一次取信的客戶端可以拿到信件,其餘都無法取信,因為已經被刪掉了,由於是存在本機,所以是不占用太多伺服器空間,除非一直不去取信。舉例:手機登入POP3伺服器讀取訊息,電腦版再登入電腦版的郵件軟體,是看不到那則訊息的,但假如是用IMAP,則兩台裝置都可以看到信件,並且其中一台已讀,另一台也會跟著已讀。

這大概就是完整的 Email 體系,但還是有安全問題。如果要講監聽的風險,很多軟體都會寫明是否驗證Email伺服器的CA證書,不過大多數預設都是忽略的,即使證書錯誤,依舊照常登入收信寄信,這給了駭客一個機會竊取 Email 資訊,另外一個安全問題就是:"發件者"是可以被偽造的!如下圖所示:

甚至發件人可以濫用發件伺服器,任何沒有設定權限(Relay Access)的伺服器都可能被拿來當作群發伺服器,發送一堆垃圾信以及偽造信件。

基於這個原因,現在的 Mail 系統,又加了一個新的技術就是DKIM,為了杜絕未經簽署,無法判斷是不是對方寫的真實信件,而不是偽造的。這整個政策主要就是,在域名key加入一個selector,裡面包含DKIM加密公鑰。

並把簽章的資訊附在郵件上面,

如果通過驗證,大多數郵件軟體則會顯示勾勾或任何已驗證的標示,Gmail則會顯示此郵件的簽署者。由此可以確保信件是由"特定域名"的"官方伺服器"寄出的,不是其他假的伺服器偽造出來的信件。

但,如果有其他來信是沒有簽章的,是否要信任該信件呢?這又牽扯到一個新的政策就是Author Domain Signing Practices (ADSP),一樣通過domainkey,宣告一個TXT紀錄確保所有郵件都是有簽章的!

_adsp._domainkey.example.com.   IN   TXT   "dkim=all"

基本上,啟動 DKIM 就已經很安全了,不過基於設置上很麻煩,有另一個方法也不錯就是SPF紀錄(Sender Policy Framework (SPF)),確保發信伺服器的IP,只能由是哪些允許的IP。

如此一來,過濾垃圾信的軟體就更好計分了,沒通過DKIM簽章,沒有加密,SPF紀錄不合的,沒有對應 hostname 的伺服器一律黑單。這些政策使得用戶能夠受到更好的保護,而不會被偽造的假信所欺騙。

基於並非所有收件伺服器都很嚴謹的過濾掉信件,所以還有一個DMARC政策,給域名管理者一個更方便的方式管理其他假的發件人。

DMARC可以控制:那些沒有通過驗證的郵件是否被接受,以及,收件伺服器可以發送每日收件報告給域名管理者…等功能。以確保域名不會因被其他人濫發郵件而被列為黑單。

以下是我收到的每日回報的郵件。

附件的內容大概長這樣,


<?xml version="1.0" encoding="UTF-8" ?>
<feedback>
  <report_metadata>
    <org_name>google.com</org_name>
    <email>noreply-dmarc-support@google.com</email>
    <extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
    <report_id>4041210869707717010</report_id>
    <date_range>
      <begin>1491523200</begin>
      <end>1491609599</end>
    </date_range>
  </report_metadata>
  <policy_published>
    <domain>weils.net</domain>
    <adkim>r</adkim>
    <aspf>r</aspf>
    <p>none</p>
    <sp>none</sp>
    <pct>100</pct>
  </policy_published>
  <record>
    <row>
      <source_ip>2600:3c02::f03c:91ff:fe91:3ccd</source_ip>
      <count>4</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>pass</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>weils.net</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>weils.net</domain>
        <result>pass</result>
        <selector>email</selector>
      </dkim>
      <spf>
        <domain>weils.net</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
  <record>
    <row>
      <source_ip>45.79.194.99</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>pass</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>weils.net</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>weils.net</domain>
        <result>pass</result>
        <selector>email</selector>
      </dkim>
      <spf>
        <domain>weils.net</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
</feedback>

既然都有了這麼多保護用戶的政策,用戶是否就可以安全無疑地使用 Email 呢?我想說的是:理論上沒錯,但是 Email 仍然不可以當作"隱私"的儲藏所。

Gmail會有自動機器人讀取你的電子郵件,試著找出任何違法的內容並且自動送交給相關司法機構,你可以相信 Email 服務商不會賣你的資料嗎?MailBox通常是不會加密的,網路上有一家公司提供安全的 Email服務可以參考一下(ProtonMail),正因如此,一般用戶是不可以透過 Email寄送任何敏感訊息!越正規的公司越會禁止任何違法活動,如果要安全的傳送資料,還是使用較具有隱私性的服務,或是私人Mail,基於這個緣故,現在有人推倡使用PGP加密Email。

利用PGP加密的Email,沒有私鑰以及密碼是無法解密!如下圖:

而收件人因為擁有自己的私鑰所以可以解密。如下圖:(Gmail擴展功能:PGP

使用PGP加密的軟體,輸入一組自訂的密碼,會產生公鑰(Public Key)、私鑰(Private Key),通常我們會為了方便,把私鑰公鑰一塊存在別人的伺服器裡面,但是別擔心私鑰被儲存不安全,因為私鑰有透過加密,必須輸入當初自訂的密碼,才可以解密。

所以,要解密必須擁有密碼和私鑰。要加密,則要擁有對方的公鑰,有點類似用對方的鎖頭鎖住盒子,再寄給對方,對方必須擁有鑰匙才可以打開盒子。

同時也可以用這個方法對自己寄出的信件進行數位簽章(Sign),如此一來可以確認雙方的通訊絕對安全之外,也可以確保發信人確實就是對方,因為只有對方知道密碼。

大概介紹完了,我有想到其他的我再補充。

By Weil Jimmer


This entry was posted in General, Experience, The Internet, Note, WebHosting By Weil Jimmer.

 1 2 3 4 5 6 /6 頁)下一頁 最終頁

Visitor Count

pop
nonenonenone

Note

重啟核四,關閉維修火力發電廠,減少空氣汙染,以核能養綠能。

在寒冬中的夜裡,殘弱的小花因雪而凍結,靜待春天到來,以溫煦的陽光使身上的冰融化,再度綻放。

支持網路中立性.
Support Net Neutrality.

WPA2 已被 KRACK 攻擊破解!請更新 Wi-Fi 軟體。

不用 Line 改用 Telegram。跟上最新潮流。

歡迎前來本站。

Search

Music

Counter

1971
天前是本網站的生日

Republic Of China
The strong do what they can and the weak suffer what they must.

Privacy is your right and ability to be yourself and express yourself without the fear that someone is looking over your shoulder and that you might be punished for being yourself, whatever that may be.

It is quality rather than quantity that matters.

I WANT Internet Freedom.

Reality made most of people lost their childishness.

Justice,Freedom,Knowledge.

Support/Donate

This site also need a little money to maintain operations, not entirely without any cost in the Internet. Your donations will be the best support and power of the site.
MethodBitcoin Address
bitcoin1NRMVGGpm2T1pmeejisLSEhCXfCefEW9V4
paypal
Register in linode via invitation link and stay active for three months.Linode

The Lie We Live

youtube

The Questions We Never Ask

youtube

Support The Zeitgeist Movement

The Zeitgeist Movement

Man

youtube

In The Fall

youtube

Facebook is EATING the Internet

Facebook

Categories

Announcement (4)

Arduino (2)

Bash (2)

C (3)

C# (4)

C++ (1)

Experience (41)

Flash (2)

Free (10)

Functions (36)

Games (13)

General (47)

HTML (7)

Java (12)

JS (7)

Mood (24)

Note (26)

Office (1)

PHP (9)

Privacy (4)

Product (9)

Python (4)

Software (8)

The Internet (16)

Tools (12)

VB.NET (8)

WebHosting (7)

Wi-Fi (5)

XML (4)