wazlo2004

wazlo2004

30 posts published

Microsoft Office Online Video攻擊概念

Microsoft Office Online Video攻擊概念

起因 最近在接觸一個要收錢的掃毒&檔案清洗的程式OPSWAT,要掃毒當然自己得要有毒才行,所以在網路上找了一個word的攻擊概念驗證的文章,來進行今天的介紹。 接下來就讓我們開始吧! 過程 首先打開一個word,切換到插入點擊線上視訊 我們這邊成功放入一個可撥放的影片。 接著我們存檔,並開始下一階段。 針對word檔做解壓縮。 接著我們進入word資料夾內編寫document.xml檔 搜尋 embeddedHtml 關鍵字,並對內容作修改,這邊我就不把我修改內容貼上了。 修改完並存檔後,我們重新壓縮這個word並重新命名 結果 接著打開檔案並點擊影片,會發現跳出一個下載提示!! 使用掃毒進去查看,眾多軟體只有一家抓到… 以上就是這個攻擊漏洞的原理,與掃毒結果。 資料來源:https://blog.cymulate.com/abusing-microsoft-office-online-video

Python 新手筆記(windows10)
Python

Python 新手筆記(windows10)

另外一篇有寫到for linux環境的安裝,這篇來說說在window的環境下如何使用。 window 10 安裝 python 3: 到https://www.python.org/downloads/下載 執行安裝程式 點擊下載的 python-3.x.x.exe 並記得勾選圖中的Add Python 3.7 to PATH 安裝完成後的確認 windows鍵+R,執行cmd 輸入python 到這邊恭喜安裝完成,輸入exit()可以離開 寫一段python script 在windows環進下,建議安裝Notepad++ (https://notepad-plus-plus.org/download/v7.5.9.html) 使用otepad++,可以選擇語言python,還算不錯用。 來是下script來計算一下加法八

telnet/ssh自動化腳本

telnet/ssh自動化腳本

起因 進入網路工程師這個領域快1年了,遇到了幾次需要大量並且重複的動作,接著發現有些東西是可以寫一些腳本來自動執行,所以就開始找相關資料來編寫了。 使用環境 基本上還是基於linux的執行,linux內請安裝expect。 apt-get install expect -y mac os 預設內建就有請查看/usr/bin/expect 目前我是使用在windows10內開啟ubuntu bash的方式,真的頗開心windows把這東西加進來。 文件介紹 這邊要介紹一些執行的文件 -device-list.txt 連線的設備ip清單 -cisco.sh 主要執行,並且呼叫expect執行 -configure-cisco.exp 所有執行expect的設定 -file_process.sh 文件整理 -results.log 執行完後的資料 文件編寫 1.首先我們先建立一份需要連線的設備清單,並取名為device-list.txt。 2.建立cisco.sh的文件,並在裡面加入以下內容 ##!/bin/

Shadowsocks+BBR VPN 架設筆記

Shadowsocks+BBR VPN 架設筆記

起因 因為最近有可能會使用到VPN所以自己租了一台VPS來玩玩,這邊筆記下架設過程。 -Shadowsocks與ShadowsocksR是某長城進化後,經多人證實能有效使用的VPN,是一種基於Socks5代理方式的加密傳輸協定。 -BBR(Bottleneck Bandwidth and Round-trip propagation time)是Google的一種壅塞控制演算法,主要是估計寬帶和延遲狀況,則是不斷偵測封包傳輸的錯誤率,根據總傳輸量和錯誤量的比例來決定要以何種頻寬傳輸,降低緩衝區堵塞的狀況,進而提高傳輸速度。 買VPS這段就直接跳過,因為我也不知道自己買的算不算貴…總之這邊VPS這邊,買完後確認拿到的IP沒有被牆擋住,就算基本合格了(n雖說是基本合格但是應該只有40-50分XD),網路速度與連線品質好,就更棒了。 首先選擇VPS的OS,以下這邊我OS是使用Centos6。 安裝Shadowsocks與BBR ssh進入VPS後,下載別人的Shadowsocks整合包。 wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh chmod +x

nginx反向port給docker容器使用
Nginx

nginx反向port給docker容器使用

使用nginx當作proxy的話,要指定port給docker container,讓容器可以正常運作。 讓我們回憶一下,docker container run的指令八 docker run -it --name bonze.test.tw -p 1019:80 其中1019就是我們分配給bonze.test.tw這個docker container的port。 那我們要如何設定呢,其實很簡單。 到nginx(路徑/etc/nginx/conf.d),建立一個bonze.test.tw.conf,並輸入以下內容。 server { listen 80; server_name bonze.test.tw; proxy_connect_timeout 300; proxy_send_timeout

Cisco switch 使用wireshark抓封包

Cisco switch 使用wireshark抓封包

今天想用wireshark抓經過switch的封包,就要在switch裡面給一些設定 假設要在第21port空port抓第22port的封包。 switch# conf t config# monitor session 1 source interface Fa0/22 config# monitor session 1 destination interface Fa0/21 這樣只要把自己筆電的網路線插在21port上,再開啟wireshark就能抓取經過22port的封包了。 ps:interface不一定都是fa0/xx,請注意自己的設備上的interface。

CISCO QOS 限速簡易設定

CISCO QOS 限速簡易設定

QOS 簡介 QOS(Quality of Service)即服務質量,對於網絡業務,服務質量包括傳輸的頻寬、傳送的延遲、數據的丟包率等。在網絡中可以通過保證傳輸的頻寬、降低傳送的延遲、降低數據的丟包率以及延遲抖動等措施來提高服務質量。 設定步驟 Set.1 設定ACL Router(config)# access-list 100 permit ip host 192.168.1.1 any or Router(config)# ip access-list extended SSLVPN Router(config-ext-nacl)# permit ip host 192.168.1.1 any Set.2 設定class,

路由協議Enhanced Interior Gateway Routing Protocol(EIGRP)簡單介紹

路由協議Enhanced Interior Gateway Routing Protocol(EIGRP)簡單介紹

EIGRP 簡介 Enhanced Interior Gateway Routing Protocol (縮寫為EIGRP),又譯增強型內部網關路由協議,一種內部網關協議(IGP),在內部網關路由協議(IGRP)的基礎上,由思科公司發展而成,於2013年Cisco將此標準公開,不再是私有的路由協議,EIGRP 屬於 Hybrid Routing Protocol (混合型),包含了 Distance-Vector 與 Link-State 的特性。就像 Link-State 一樣,EIGRP 會把相鄰的 Router 成為 Neighbor,定時檢查他們的狀態,而 EIGRP 源用了 Distance-Vector 的概念去計算 Network 的 distance(距離)。 已知目前路由可分為兩大類: Routing by rumor

機房搬遷紀錄
筆記

機房搬遷紀錄

前一陣子,因為工作的因素,有幸加入了一個機房搬遷的案子, 在這邊順手紀錄一下,一個伺服器機房要搬遷需要準備些甚麼。 談判&討論 是的,你沒看錯第一件事就是談判,要先跟負責人喬定,哪些設備要搬到新機房,哪些設備又要下架或者移去別的地方。 接著要討論新機房的配置,並且確定哪些設備要上架到哪個地方,要不要建立新機房…等等問題。 這一步驟,就佔了整體搬遷時間的大多數時間,也是搬遷時順利不順利的關鍵, 很不幸的我是後期才加入近來,只參加到後面2.3場討論,但也足以讓我看清這部分的重要性。 清點設備&查線 接著就是清點舊機房的所有設備了,這邊要注意的有以下幾點: 設備有無滑軌 設備的名稱 確認該設備的ip 設備的U數 確認好以上幾點,舊機房的清點也就宣告完結,當然以上就短短幾字,執行起來還真的差距頗大, 光是要跟客戶確認該設備=該ip就花了不少時間,有時候還有可能遇上忘記帳號密碼等等的囧事。 U是一種表示伺服器外部尺寸的單位,是unit的縮略語,詳細尺寸由作為業界團體的美國電子工業協會(EIA)決定。 機櫃的高度通常以”U”

VMWare ESXI 6.5 修補Intel CPU漏洞問題

VMWare ESXI 6.5 修補Intel CPU漏洞問題

最近Intel的CPU漏洞問題,引發一連串的更新,VMWare ESXI也不例外,VMWare的官網也很快地給出修補的Patch。 在此筆記下,我目前的處理方法。 下載官網Patch 前往官網登入後下載相對應版本的Patch 這次我測試使用的是6.5update1版本 檔名:ESXi650-201801001.zip 網址:https://www.vmware.com/patchmgr/findPatchByReleaseName.portal 把下載的Patch上傳至esxi6.5設備的硬碟中 1.在esxi6.5的硬碟中建立一個資料夾ex:patches 2.把下載的檔案ESXi650-201801001.zip上傳至這個資料夾 關閉並備份所有虛擬機 把所有虛擬機關閉,並備份。 ex:匯出成ovf 把主機進入維護模式與開啟SSH PS:如果有虛擬機電源沒有關閉,將無法進入維護模式。 SSH進入 Windows可以使用putty linux直接使用ssh指令即可 ssh root@xxx.xxx.xxx.xxx 輸入更新指令

比對程式

最近遇到要更換switch,但是裡面的設定要照原本的來。自己設定好後,要確認是否和原版一樣,總不能自己一個一個慢慢對八,所以找了一些直覺化的比對程式。 WinMerge 簡介 WinMerge 是一套可以把2款文件來對比的軟體。可以用來快速比對文字檔哪裡不一樣。 軟體網址:http://winmerge.org/ 其他類似軟體:meld、diffmerge 網址:http://meldmerge.org、https://sourcegear.com/diffmerge/

為何要從HTTP換成HTTPS?

為何要從HTTP換成HTTPS?

HTTP? HTTPS? 一般在使用網站的時候,大部分的人都不會太在意網址開頭的HTTP與HTTPS。今天就讓我們來聊下,這兩個到底差在哪? HTTP是什麼?HTTPS又是什麼? HTTP全稱HyperText Transfer Protocol(超文字傳輸協定),是一個屬於Layer7的協定。主要的目的在於提供一種發布和接收HTML頁面的方法。通過HTTP或者HTTPS協定請求的資源由URL(Uniform Resource Identifiers)來標識。 HTTP是由明碼來傳送網頁,並沒有任何加密,使用一般模式下進行交談,所以在網際網路上內容有可能遭攔有心人士攔截竊聽(ex:Wireshark),HTTP協定不使用加密協定,其中原因有:加密會增加許多運算資源,也會佔用更多的頻寬。 反觀HTTPS(Hypertext Transfer Protocol Secure),是以安全為出發點的協定,加入了SSL(Secure Sockets Layer)協定作為安全憑證,因此網站透過協定上的加密機制後能夠防止資料竊取者就算攔截到了傳輸資訊卻也無法直接看到傳輸中的資料,所以多為電子信箱、金融等為主使用,但公開的內容就不需要加密了?。 公開的內容就不需要加密? 答案當然是否定的因為有以下3點問題 1.HTTP明文傳輸不僅會洩露數據,也會很容易被注入數據。 簡單形容下,

TCP/IP學習---何謂協定?

TCP/IP學習---何謂協定?

Protocol 協定? 網際網路是結合各自發展的多種通訊技術所形成的,而整合這些技術並且具備應用能力的,就是TCP/IP。既然TCP/IP是來自各方,那麼想要應用,就必須有協定來促使各方技術合作並通用。這邊讓我們來了解下,到底什麼是「協定」。 五花八門的Protocol! 在現在的網路世界中,我們常會看到”協定”這個詞。TCP/IP中,就有IP、TCP、ICMP、UDP、HTTP…等等許多協定,這些協定可以說是組成TCP/IP並且使之可以應用的關鍵,當然協定不只有TCP/IP,比如Apple電腦早期的AppleTalk中的DDP、RTMP、AEP…等等使用於Apple公司產品的區域網路,都是協定的一種。 為何需要Protocol? 平常我們在使用網路的時候,並不會察覺到Protocol的存在,大概有在需要設定連線網路的時候才會想起。因為只要知道應用程式的用法,就能使用網路,不必在意Protocol是什麼,也能讓自己上網。但是不能否定的如果今天沒有這些協定,我們使用網路一定不會如此輕鬆快樂。 所謂的Protocol,

為何需要切分子網路?

為何需要切分子網路?

為何需要切分子網路? 原因很簡單,當你的公司擁有一個A級網路,並且需要讓256x256x256-2=16777214台電腦同時上網,想想Ethernet網路中的CSMA/CD來解決碰撞的問題的方法,應該會讓你的16777214台電腦都不能上網或者超卡。 CSMA/CD Carrier Sense Multiple Access with Collision Detection(載波偵聽多路存取/碰撞檢測) 此方案要求裝置在傳送影格的同時要對信道進行偵聽,以確定是否發生碰撞,若在傳送資料過程中檢測到碰撞,則進行如下碰撞處理操作: 傳送特殊阻塞資訊並立即停止傳送資料:特殊阻塞資訊是連續幾個位元組的全1訊號,此舉意在強化碰撞,以使得其它裝置能儘快檢測到碰撞發生。 在固定時間(一開始是1 contention period times)內等待隨機的時間,再次傳送。 若依舊碰撞,則採用截斷二進位指數避退演算法進行傳送。即十次之內停止前一次「固定時間」的兩倍時間內隨機再發送,十次後則停止前一次「固定時間」內隨機再發送。嘗試16次之後仍然失敗則放棄傳送。 堵塞 我們都知道,當多台電腦使用一個Hub來連接網路,並且其中一台電腦想做壓力測試,那麼這個Hub最後一定會因為堵塞,導致連這個Hub的所有電腦都聯不上網路,接著那個想做壓力測試並且不告知的人一定被靠杯死XD。

使用DcokerHub線上創建一個映像檔
Docker

使用DcokerHub線上創建一個映像檔

問題 前幾偏文章中我們有提到如何編寫dcokerfile,但東西始終在自己電腦中,要如何給其他人一起修改並進化自己的dockerfile?又要如何不佔用自己電腦的空間與資源的情況下擁有自己想要的dcoker image?這個時候DockerHub提供給了我們一個解決的方法。 如何使用DcokerHub來線上創造一個image(映像檔) 首先把自己dockerfile上傳到自己github 點選Create Automated Bulid之後可以選擇github或者bitucket 這邊我使用github,經過權限授權後,DockerHub會掃出自己git中的專案這時候選擇剛剛上傳有dockerfiles的專案。建立好之後,我們會發現並沒自己的dockerfile。這個時候選到Build Settings 因為git有分支,所以這邊他會要確定分支之後,才可以開始Build。這時選好分支按下Trigger後選到Build Details會看到他正在build docker。 等個幾分鐘之後 會看到他顯示打勾 表示完成。這個時候表示他已經build完成,去Dockerfile會看到自己這份dcoker image裡面安裝了什麼。 結論 利用Github可以讓自己的dcoekrfile給他人一起協作或改進,再利用Dockerhub來Build出符合自己需求的docekr image。完成之後,他人如果想要使用這個image,也能夠快速知道這個image裡面到底裝了哪些東西,讓大家不再瞎摸象了。 以上就是使用dockerhub來建立image的大致過程了。

CMS

UX/UI系列:Drupal 快速權限管理(Fast Permissions Administration),讓你跟簡陋的權限管理說再見!

前言 身為一個工程師,對於一些權限的管理,總會特別重視,但是drupal預設的權限管理介面,不禁令人感到簡陋,並且並不好管理。如果對預設的管理權限感到不滿,來試試看”Fast Permissions Administration”吧。 介紹 Fast Permissions Administration(fpa)這個模組在改善drupal權限設定的問題,提供drupal權限設定時有更好的界面。 安裝 在drupal.org的Modules中找到Fast Permissions Administration 找到下方穩定版,複製連結網址。 在drupal安裝模組中,貼上連結網址並安裝。 啟用模組。 或者直接使用drush安裝 drush en fpa 使用 點開”使用者”裡面的”權限”會發現比原本預設的管理界面好上很多 安裝前 安裝後 結論 使用者權限管理,

Dockerfile簡單介紹
Docker

Dockerfile簡單介紹

前言 經過前幾次的docker教學,相信大家都已經體會到,docker快速佈署環境的厲害。 其中docker image的可謂功勞重大。但如果今天要使用別人的image,可是卻不知道image的作者之前在裡面安裝了什麼??就好比一個黑箱子,要你把手伸進去一樣,但你卻不知道自己會摸到什麼,很恐怖吧! “人類最古老而強烈的情緒,便是恐懼;而最古老最強烈的恐懼,便是對未知的恐懼。”—霍華德·菲利普·洛夫克拉夫特 所以!這個時候就有Dockerfile出現了,可以讓大家知道這個image用了哪個版本的作業系統或基底,是誰製作了這個image,安裝了神麼東西,啟動時執行什麼。這樣一來,不管是誰要接手或利用你的image,就清楚透明許多。 什麼是Dockerfile? dockerfile簡單來說就是一個容器container自定義的安裝 由一行行命令語句組成,並且支援以 # 開頭的註解行。 他大致上會擁有四個東西 基底映像檔 維護者(建議加入) 操作指令 容器啟動時執行指令(不一定每個都有) 這四個東西,可以說是組成了dockerfile的重要因素,接下來我們來好好說下關於這四個因素。 基底映像檔 湯有湯底,房子有地基,開頭都說是基底了,

ubuntu預設安裝nginx版本太舊!?快來試試無痛升級nginx 1.8.1
Nginx

ubuntu預設安裝nginx版本太舊!?快來試試無痛升級nginx 1.8.1

ubuntu14.04預設安裝的nginx版本是1.4.6,看起來好像還可以 但是如今nginx的最新開發版本已經到了1.9.10,穩定版也到了1.8.1 我們今天的目標是讓nginx版本升級到1.8.1 並且能夠使用php5-fpm使php能夠正常運作 1.安裝Nginx Stable PPA sudo apt-get install python-software-properties sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get upgrade 2.升級nginx root@www:~# apt-get upgrade nginx Reading package lists... Done Building dependency tree Reading state

Apache

如何使用dockerfile與supervisor建立一個能自動啟動apache2的container

每次docker container關閉後開啟,總是要進去container內手動重新啟動apache2,為了減少自己的困擾與麻煩,我找到了2種方法。 第一種 直接同步bash檔-v ~/file/bash.bashrc:/etc/bash.bashrc 在bash檔最下面加上service apache2 restart。 ps(最近發現,只要把更改過的bash.bashrc這個檔案ADD到Dockerfile裡面的/etc/bash.bashrc裡面,build起來的container,就可以直接使用/bin/bash自動啟動apache2啦) 第二種 也就是我這次要介紹的,利用dockerfile與supervisor來建立一個container 第一步 建立一個放dockerfile的資料夾 mkdir test 在資料夾內建立一個dockerfile的檔案並編寫dockerfile cd test nano Dockerfile 簡單介紹一下dockerfile Dockerfile 由一行行命令語句組成,並且支援以 # 開頭的註解行。 一般而言,Dockerfile 分為四部分:基底映像檔資訊、維護者資訊、映像檔操作指令和容器啟動時執行指令。

Nginx

docker建立網站伺服器

docker 上上次提到過docker,並寫了一些介紹。 這次來寫寫如何在一台機器中安裝docker與使用docker快速佈署伺服器環境 當然在此之前,請各位大大可以先看看https://www.gitbook.com/book/philipzheng/docker_practice/details 這裡面說明了眾多docker的基本操作、概念與知識 廢話不多說, 安裝docker ubuntu中安裝很容易 curl -sSL https://get.docker.com/ubuntu/ | sudo sh 更多版本中裝docker? 當然,有些過於老舊的系統,可能不支援安裝docker。 這種時候,可能就要仔細看看docker的說明了 https://docs.docker.com/engine/installation/ubuntulinux/ 使用? 我在這邊舉一個最簡單的例子 首先下載一個映像檔 docker pull ununtu:12.04 如果直接打docker

Nginx

varnish nginx本機+nginx-docker

varnish+nginx+docker 會想提出這個架構是因為,如果今天有5個網站要裝varnish提昇效能,那麼5個container就多了5個varnish的安裝佔用記憶體,如果今天裝在外面,只要裝一次varnish的空間,就能應付5台,效能需要提昇的container。 varnish+nginx+php5-fpm裝同一台container內 varnish(本機)+nginx+php5-fpm 圖表化 快取清除問題,因為是使用在drupal上,剛好varnish4.x的快取清除是掛在drupal的設定>開發>效能模組上,這個模組可以定時刪除快取。 當然如果今天不想使用外面的varnish快取,只要不勾選drupal 設定>開發>效能裡面的”匿名使用者頁面快取”varnish就不會快取這個網站。 當然快取混雜問題,目前使用兩個不同網站,並沒有發生這個問題。 varnish是反向快取伺服器 這邊安裝是4.0.2版 (查詢varnish版本指令 :/usr/sbin/varnishd -V) /usr/sbin/

Apache

memcache 介紹與安裝

memcache 介紹 Memcached 是 danga.com(運營 LiveJournal 的技術團隊)開發的一套分佈式內 存對象緩存系統,用於在動態系統中減少數據庫負載,提升性能。 Memcached 是什麼 很多人把 memcached 當作和 SharedMemory 那種形式的存儲載體來使用,雖然 memcached 使用了同樣的“Key=>Value”方式組織數據,但是它和共享內存、 APC 等本地緩存有非常大的區別。Memcached 是分佈式的,也就是說它不是本 地的。它基於網絡連接(當然它也可以使用 localhost)方式完成服務,本身它 是一個獨立於應用的程序或守護進程(Daemon 方式)。 Memcached 在很多時候都是作為數據庫前端 cache 使用的。因為它比數據庫少 了很多 SQL 解析、磁盤操作等開銷,

Apache

ubuntu-apache2-drupal 單一根目錄多網站建立

為什麼要使用多網站? drupal安全性更新問題與減少模組佔用記憶體 如果今天部使用多網站,而是每個網站分開資料夾,那麼今天要做安全性更新,就必須一個網站,一個網站更新。 今天所有網站都放在同一個資料夾,那麼drupal核心更新時,在更新一次,可能就可以更新5.6個網站。 同時也減少大量相同模組安裝,所造成佔用的記憶體。 如何使用多網站(以ubuntu-apache2為例) 1.在/etc/apache2/sites-available/建立設定檔 bene5.n.tw設定檔 nano bene5.n.tw.conf ServerAdmin xyz@arthurtoday.com ServerName bene5.n.tw ServerAlias bene5.n.tw DocumentRoot /var/www/drupal ErrorLog /var/www/drupal/