2015年7月29日 星期三

駭客攻擊的手法----偽裝程式入侵

底下是幾種常見的偽裝方式:
假裝為圖形檔
一個讓最多人中招的方法,就是將特洛伊木馬偽裝成圖檔。只要入侵者假裝成檔案名稱為「類 似」圖檔的名稱,受害者就會立刻執行它。
但圖檔的副檔名根本就不可能是exe,而木馬程式的副檔名基本上又必定是exe,明眼人一看就知道有問題。不過由於Windows預設是隱藏副檔名的關係,所以很多人都不會注意到副檔名這個問題。
另外也有一些入侵者會將木馬程式的檔案名更改為"pic.jpg.exe",如果電腦是設定為隱藏副檔名的話,就會顯示為pic.jpg,這樣就會更容易騙過受害者。

假裝為應用程式
比較有經驗的用戶,都不會將圖像檔和執行檔混淆。所以有些入侵者會索性直接將木馬程式說為應用程式,以exe作為副檔名。
然後再以不同的手法欺騙受害者,例如說成是最新的遊戲,務求受害者會立即執行它。
由於木馬程式執行後一般都沒有任何動作,很多受害者都會以為是傳送時檔案壞了因而不再追究。

合併程式
比較小心的用戶,上述的方法可能會引起他們的懷疑,所以就衍生了合併程式。
將兩個或以上的執行檔(exe檔)結合為一個檔,以後只需執行這個檔案,兩個執行檔就會同時執行。若入侵者將一個正常的執行檔和一個木馬程式結合,由於執行檔案時會正常執行,受害者都不會知道暗地裏木馬程式也同時執行了。

以後越來越不能生病

台灣未來的醫療危機
包括外科醫生的短缺和藥品可能出現的藥安問題。另外鑒於利潤和醫療糾紛的原因,到了2022年,外科醫生就要短少1500人。感覺是,我們越來越不能生病。

看來內容有兩個重點
第一、可以做不開刀手術的外科醫師就不開刀。
例如:心臟動脈阻塞,放支架的手術的給付是外科做繞道手術的1.5倍。所以寧可放支架。
例如:以深度靜脈血栓為例,如果積極治療,需要開刀,吸掉血塊、打血酸溶解劑,甚至放支架和做氣球擴張術可以確實打通血塊、避免副作用。但做ㄧ個賠一個,所以許多醫師傾向開口服的血栓溶解劑就好。

第二、台灣新藥的健保核價,只有十大先進國新藥價格中位數的一半,大大影響國際大廠將新藥引進台灣的意願。
新藥也就是原廠藥,為鼓勵藥廠研發,歐美國家通常給予20年的專利保護期。
另外是學名藥,其他藥廠在原藥廠專利過期後,依原廠申請專利時的公開資訊,製造同成份的藥物價格較便宜。

由於健保資金短缺,我們拿到的便宜的藥有時候藥效打六折到九折,甚至會出現是像食安問題的藥安問題的藥。所以吃下什麼問題藥都不知道。

代理伺服器(Proxy)的好處和使用上的危險

何謂代理伺服器?
代理伺服器是網路上提供轉接功能的伺服器。

比如你想進入目的網站是A,,由於某種原因你不能進入到網站A或者你不想直接訪問網站A,此時你就可以使用代理伺服器。在實際訪問網站的時候,先在瀏覽器的位址欄輸入你要訪問的網址,瀏覽器會自動先進入代理伺服器,然後代理伺服器會自動轉接到你的目標網站。

簡單來說,代理伺服器可以隱藏你的身份

使用代理伺服器還可以適當的提高瀏覽網站的速度,原因是在第一個用戶訪問代理伺服器以後,目標網站的內容就保存在代理伺服器上了。若你瀏覽同一網站,此時的網頁是從代理伺服器上直接讀取的,速度就有可能提高。

但是由於有些代理伺服器的頻寬比較窄或者瀏覽的人數比較多,使用者速度也可能比較慢的。

代理伺服器的危險
1. 個人資訊洩漏的風險
當您使用代理伺服器,您的個人信息被發送到代理伺服器,業主可以捕獲所有這些信息,如電子郵件地址,密碼,銀行信息和信用卡信息都可能被盜用。

2. 網絡釣魚詐騙
一些代理伺服器實際上是專門用假網站給他們的用戶。通過代理伺服器,您可能會遇到看起來像你的銀行網站或電子郵件提供的網站,但它們是被用來捕捉你的信息或是虛擬的網絡釣魚網頁。您可以輸入您的信息,但後來突然不能訪問該頁面。你可能不知道,你的信息已經被竊取,直到做任何事為時已晚。

3. 代理伺服器是知名網站的黑名單
有些網站專門禁止代理伺服器的IP地址。這意味著,使用代理服務器,你無法訪問某些網站。

4. 透明代理
很多代理伺服器仍然可以實際顯示你的真實IP地址。這是一個很大的風險,你認為你的IP地址無論從任何網站都被隱藏,實際上你的IP地址被提供給他們的用戶。

2015年7月28日 星期二

營養素快速查詢

生命由細胞構成細胞由水、醣類、脂質、蛋白質和核酸等組成。

 

大部分維生素和礦物質人體身體無法合成製造,故必須攝取自食物的有機物質。

 

維生素能幫助人體吸收養料。人體能製造一些維生素,但種類不全,數量不足,所以必須靠食物補充。維生素C和B群消耗很快,所以每天都要補充。

 

A、D、E和K則能在體內儲存幾個星期。只要所吃的食物種類較多,一般可獲得所需的全部礦物質和維生素。

 

身體只能製造少量的維生素,如皮膚受陽光照射後,可以製維生素D,而少量的維生素K及H則是由消化道內的細菌製造。身體可從色胺酸製造出菸鹼酸,但身體不能製造維生素A、C、E或維生素B群中的一種,只能製造菸鹼酸,這些維生素必須從食物中攝取。居住在無法充分得到陽光照射的人們,必須額外食用其他食物來攝取維生素D。長期服用抗生素者,必須額外攝取維生素,因抗生素會抑制消化道內製造維生素的細菌生長而使其數量減少。

 

脂溶性維生素

維生素A: 保護眼睛、提升免疫力、保護表皮黏膜使細菌不易侵害、維持牙齒和骨骼的正常發育

食物: 南瓜、胡蘿蔔、辣椒

維生素D: 預防肌肉無力、使骨骼健康、協助鈣、磷的吸收與運用、幫牙齒的正常發育
食物: 魚肉、豆腐、雞蛋

維生素E: 脂溶性抗氧化劑、保護肝臟、減少維生素A及多元不飽和脂肪酸的氧化、控制細胞氧化、維持動物生殖機能
食物: 紅豆、核果類、海藻

維生素K: 構成凝血脢元所必需的一種物質、可促進血液在傷口凝固、以免流血不止

水溶性維生素

維生素B群: 幫助肝臟淨化解毒、並有助於食物轉變成能量釋出、避免囤積體內

維生素B1: 維持神經系統正常、促進食慾、幫助消化、維持腸道正常蠕動及消化液的分泌、預防及治療腳氣病神經炎、促進動物生長、能量代謝的重要輔脢
食物: 地瓜、薏仁、杏鮑菇

維生素B2: 參與代謝、細胞的輔酶、參與氧化還原、防治眼血管沖血及嘴角裂痛、防止皮膚炎
食物: 牛奶、薑、菠菜

維生素B6(泛酸):為一種輔脢,幫助胺基酸之合成與分解、幫助色胺酸變成菸鹼酸 

維生素B12: 維持神經正常功能、避免惡性貧血、促進核酸之合成、對醣類和脂肪代謝有重要功用、病影響血液中麩基胺硫的濃度、治惡性貧血及惡性貧血神經系統的病症
食物: 香蕉、海產、雞蛋

菸鹼酸:構成醣類分解過程中二種輔脢的主要成分、此輔脢主要作用為輸送氫、使皮膚健康,也有益於神經系統的健康 

葉酸(B9): 造血功臣、參與細胞生成、幫助血液的形成,可防治惡性貧血症、促成核酸及核蛋白合成 、參與胺基酸代代謝、幫助紅白血球的形成
食物: 牛肉、根莖類、萵苣

維生素C: 養顏美容、幫助傷口癒合、促進人體膠原蛋形成、細胞間質的主要構成物質、使細胞間保持良好狀況
食物: 苦瓜、樱桃、柑橘


優質蛋白質
幫助腸道肌肉蠕動,排清宿便。


脂肪
供給熱能、幫助脂溶性維生素的吸收與利用、增加食物美味及飽腹感
魚油: Omega-3富含多元不飽和脂肪酸EPA及DHA可降低食慾,減少想吃高熱量食物的慾望。



纖維
促進腸道蠕動,幫助排出宿便,維護腸道健康。


益菌
乳酸菌: 建立好菌生長環境,幫助腸道排出或分解有毒物質,預防腸道老化。



酵素(酶,enzyme)


輔酶
Q10



礦物質


葉黃素


胡蘿蔔素




駭客攻擊的手法----植入webshell

何謂webshell?
webshel​​l就是以asp、php、jsp或者cgi等腳本程序,可以是你自己用來以網頁型式管理網站的工具。也可以稱之為一種網絡的後門(web backdoor,WebShell Trojan)。駭客在入侵了一個網站後,通常會將asp或php後門文件與網站服務器WEB目錄下正常的網頁文件混在一起,然後就可以使用瀏覽器來訪問asp或者php後門,得到一個命令執行環境,你可以上傳和下載文件,查看數據庫,執行任意命令。

webshell如何植入伺服器?
 1)利用系統檔案上傳的前台服務,上傳WebShell的腳本,上傳目錄往往權限控制不嚴或有可執行的權限。攻擊者可以利用上傳功能,上傳一個腳本文件或上傳假圖片,然後就可以使用瀏覽器來訪問asp或者php後門。
 2)客戶拿到後台管理員密碼,登錄到後台系統,放置WebShell木馬。
 3)sql injection。

成功案例:
WIN2003 IIS6.0環境。

優點:
惡意WebShell腳本和正常的web文檔是混合的,而主機服務器和遠程控制的駭客可以通過port80傳輸數據,而不會被防火牆阻擋,一般也不會在系統日誌發現記錄,具有較強的隱蔽性,一般不容易被查殺。

如何防止系統被植入的WebShell?
 1)Web服務器端,打開防火牆,防毒軟體,關閉這些功能的遠程桌面,經常安裝伺服器補丁並定期更新防毒軟體。
 2)管理員定期更改密碼,加強類似安全管理,防止伺服器被感染木馬。
 3)加強權限管理,目錄權限來限制敏感腳本執行權限上傳目錄不允許執行腳本。
 4)防止sql injection

2015年7月20日 星期一

canvas vs svg

早期網頁要顯示圖形只能藉著貼上外部圖片來完成。
例如:
<img src="圖片" width="200" height="100">

HTML5可以使用canvas標籤,搭配canvas api,使用javascript來完成繪圖。

canvas標籤(也可說canvas是一個以像素為基礎的點陣圖畫布)
<canvas id="canvastest" witdth="300" height="300"></canvas>

使用javascript取得canvas元素DOM的物件
var canvas = document.getElementById("canvastest");

範例:
<!DOCTYPE html>
<html>
 <head>
  <script type="application/x-javascript">
function canvastest() {
 var canvas = document.getElementById("canvastag");
 if (canvas.getContext) { // 檢查瀏覽器是否支援canvas
 var ctx = canvas.getContext("2d");

 ctx.fillStyle = "rgb(200,0,0)";  // 把「填滿樣式」設為紅 200 綠 0 藍 0
 ctx.fillRect (10, 10, 50, 50);   // 畫一個填充的長方形

 ctx.fillStyle = "rgba(0, 0, 200, 0.5)"; // 把「填滿樣式」設為紅 0 綠 0 藍 200 透度 0.5
 ctx.fillRect (30, 30, 50, 50);          // 畫一個填充的長方形
 }
}
  </script>
 </head>
 <body onload="canvastest()">
   <canvas id="canvastag" width="300" height="300"></canvas>
 </body>
</html>

利用計時器canvas也可以製作動畫。另外,其實Flash CS5也有將自家動畫轉成HTML5 canvas程式碼的功能。
其實Adobe是可以將Flash與illustrator的向量圖轉成FXG格式,透過HTML 5的Canvas元素來呈現。技術上是可以利用Flash製作動畫、互動遊戲後,輸出成Javascript、HTML5開放標準網頁的。

向量圖形又如何?
向量圖是完全根據向量來呈現影像的幾何基元 (形狀、點、線及多邊形)。使用向量圖形當成網頁的背景影像,以支援高 DPI 及「捏合」縮放功能。例如繪製地圖。

向量圖可以使svg標籤

範例:
<!DOCTYPE html>
<html>
<body>

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>

</body>
</html>

SVG Code explanation:
An SVG image begins with an <svg> element
The width and height attributes of the <svg> element define the width and height of the SVG image
The <circle> element is used to draw a circle
The cx and cy attributes define the x and y coordinates of the center of the circle. If cx and cy are omitted, the circle's center is set to (0, 0)
The r attribute defines the radius of the circle
The stroke and stroke-width attributes control how the outline of a shape appears. We set the outline of the circle to a 4px green "border"
The fill attribute refers to the color inside the circle. We set the fill color to yellow
The closing </svg> tag closes the SVG image
Note: Since SVG is written in XML, all elements must be properly closed!

下表列出了canvas 與SVG 之間的一些不同之處:
Canvas
點陣圖
放大到一定程度後會模糊
不支持事件處理器(要使用javascript)
能夠以 .png 或 .jpg 格式保存結果圖像
最適合圖像密集型的遊戲,其中的許多對象會被頻繁重繪

SVG
向量圖
無論放大多少倍清晰度不變
支持事件處理器
最適合帶有大型渲染區域的應用程序(比如google地圖)
複雜度高會減慢渲染速度(任何過度使用DOM 的應用都不快)
不適合遊戲應用

2015年7月19日 星期日

資料庫正規化

正規化:
A.欄位唯一性 (Field Uniqueness)
B.主關鍵欄位 (Primary Key)
C.功能關聯性 (Function Dependence)
D.欄位獨立性 (Field Independence)

意思就是:
當成鍵值的欄位不可以重複,
資料重複出現的欄位分解到另一個table,
欄位的關聯要明確!!!

MySQL 的特性

為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等

可以處理擁有上千萬條記錄的大型數據庫 。我們正在對某些包含50,000,000 個記錄的資料庫使用MySQL

多種列類型:1、 2、 3、4、和8 字節長度的有符號/無符號整數、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、SET和ENUM類型

全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數( COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、 MAX()和MIN() )

支持ANSI SQL的LEFT OUTER JOIN和ODBC語法

每個表允許有16個索引。每個索引可以由1~16個列或列的一部分組成。最大索引長度是256 個字節(在編譯MySQL時,它可以改變)。一個索引可以使用一個CHAR或VARCHAR字段的前綴

你可以在同一查詢中混用來自不同資料庫的表

用C和C++編寫,並用大量不同的編譯器測試

優化的SQL查詢算法,有效地提高查詢速度

使用核心線程的完全多線程。這意味著它能很容易地利用多CPU(如果有)

可運行在不同的平臺上。支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統

包括myisamchk,一個檢查、優化和修復數據庫表的快速實用程序

既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名

提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑

MySQL 常用的指令


Login MySQL:  Two ways to login mysql
mysql --host=host_name --user=user_name --password=your_password db_name

mysql [-h hostname] [-u username] [-pyourpassword]

ex: mysql -h 192.168.1.1 -u root -proot , notice; -p and password without space

for safety reason, leave -p with blank and system will prompt you enter password.



MySQL command line:
Note that all text commands must be first on line and end with ';'
               (\?) Synonym for `help'.
clear          (\c) Clear command.
connect     (\r) Reconnect to the server. Optional arguments are db and host.
exit            (\q) Exit mysql. Same as quit.
help          (\h) Display this help.
print           (\p) Print current command.
quit            (\q) Quit mysql.
status        (\s) Get status information from the server.
system      (\!) Execute a system shell command.
tee            (\T) Set outfile [to_outfile]. Append everything into given outfile.
use            (\u) Use another database. Takes database name as argument.

Databases:
show current database:  select database();

create database [database_name];

drop database [database_name];

show databases;

use [database_name];

Tables:
Create Table

Alter Table

show tables;

desc [table_name];

drop table  [table_name];

Others;
show engines; 

show status;

show processlist; 

SHOW INDEX FROM tablename; 顯示表中的索引信息。

list mysql user: 
select user,host from mysql.user;
show grants for 'root'@'host';





MySQL BACKUP:
mysqldump
mysqldump --tab=/path/to/some/dir --opt --full

SELECT INTO OUTFILE
SELECT * FROM [table_name]  into outfile 'filename.csv'