2013年11月26日 星期二

好用的滲透測試軟體 OWASP zaproxy

OWASP zaproxy 是一套好用的proxy軟體,甚至軟體本身也支援ssl 封包的加解密,技巧上當然不是什麼神祕技術,主要就是使用man in middle,所以如果你有需求要觀察https 的封包,就可以透過此套軟體,然後到設定頁面dynamic SSL certificate去產生一個憑證,然後把這個憑證安裝在你要觀察的那一台電腦上面,這樣就可以騙過browser 的sercurity check,簡單的步驟如下

1.  產生 Root CA certificate

1.NewImage

2.加憑證安裝到要觀察的client 端上面:

加憑證內容文字拷貝到一個文字檔,更改附檔名為.cer,然後直接點選,就會跳出安裝憑證選項,安裝玩後,就可以使用https proxy

NewImage

--

---BEGIN CERTIFICATE-----

MIID7DCCAtSgAwIBAgIEfaNZWzANBgkqhkiG9w0BAQUFADCBhDEnMCUGA1UEAwweT1dBU1AgWmVkIEF0dGFjayBQcm94eSBSb290IENBMRgwFgYDVQQHDA9hODliMTIxNWM5NDI4MmIxFjAUBgNVBAoMDU9XQVNQIFJvb3QgQ0ExGjAYBgNVBAsMEU9XQVNQIFpBUCBSb290IENBMQswCQYDVQQGEwJ4eDAeFw0xMzExMjYwNjIzMjRaFw0xNDExMjYwNjIzMjRaMIGEMScwJQYDVQQDDB5PV0FTUCBaZWQgQXR0YWNrIFByb3h5IFJvb3QgQ0ExGDAWBgNVBAcMD2E4OWIxMjE1Yzk0MjgyYjEWMBQGA1UECgwNT1dBU1AgUm9vdCBDQTEaMBgGA1UECwwRT1dBU1AgWkFQIFJvb3QgQ0ExCzAJBgNVBAYTAnh4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt2vbj6Ze+IRS53SyGE3ofxkXbsAFeZwUbHK9lHg3JhkqEM2cEzn8g0RMTKYRCR3GckN3fXsn9MjFlvUVomtyHIaTQguRCWhyVI2eKnHfyNox3M1KSl7btbyGE72zri0zXgLg4z1bJQh9oqkaO9n9BoNyyeHi2PuVrNC3C5CAoAqOvINoEc5WiasBD+sPbFGjeNHn169GAmA4OfSaAAZVr9MzD1cX5FCJtirUBjCq5Trqe060Bonyf1VVUv2w0NW87M6G2VanqYnq71CXaVfN2k8En/BXC+Clv4VuP+v4+QVWdgQIwssDoxtjQS+Pk3qLQaL6B7qIQkLgaanOgFpBBQIDAQABo2QwYjAdBgNVHQ4EFgQULJd+TVzhXivuoQcWC4jw3Z/D3ygwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAbYwIwYDVR0lBBwwGgYIKwYBBQUHAwEGCCsGAQUFBwMCBgRVHSUAMA0GCSqGSIb3DQEBBQUAA4IBAQAdfK5RBrShdKcmIVqOB4iXVAG1YgknTcAQrVRmKl5sclrYNd1AFo6onbNx/Ef3ufooxidwu76ZJOyaFjTSIo/X1NJtDlhfdSyVIcE5FxStS37IMZkNTAhjWAUFesS4tYrLYUzM6JBxYtpg+k+oVW/4jcpVwfwBGpjZ4jQB1F6FrhisOJVl15F2gtcCpC0tBqH3s8T1G65jjPeGjCgBOYv0yuk363ocoinY6BVDN+0PI6b20MIJXw5RvKdDnHzr6c5vHLXfOAb5UoJhtm0PrFK1pD7dBsAuXjdybVMFiVklx81RSYTyaxQUxLuhw0HbUElU9LUwvAMaUePdzFZ9Tt/A-----END CERTIFICATE-----

 

2013年11月25日 星期一

How to disable windows strong password enhancement

問題:

Microsoft 為了加強security,所以預設會開啟強制使用者使用比較複雜的密碼規則,雖然說這是對的,但有時候我單純只是想要測試軟體,不需要這樣複雜的密碼強度,因此會了把它關閉,讓使用者可以隨意設定容易記憶的密碼,你需要的就是去找到並修改Password Policy

 

HowTo:

在網路上看到兩個方法

方法一:

很簡單就是找到你的管理者工具(administrative tool),找到Local Security Policy -> Account Policies—> Password Policy

然後修改Password must meet complexity requirement to “Disable” 即可,不過我的經驗是在我的2012 Essentials 卻只能看到設定,但卻無法修改,所幸還有第二個方法可以修改

 

方法二:

1.叫出group policy console

# “gpmc.msc”

2.@Group Policy Management -> Forest: YourServerName.local -> Domains -> YourServerName.local
Select “Default Domain Policy” then right-click and select “Edit…” to open the Group Policy Management Editor.

3. @Group Policy Management Editor
Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy

2013年11月23日 星期六

How to enable muliple RDP logon

因為工作需要,同時間用同一個帳號遠端登入同一台機器,發現只要登入,另一台登入的機器都會被踢出去,看了一下,原來是安全性上的設定,將他取消即可,詳情請參考下列的文章

http://www.petenetlive.com/KB/Article/0000471.htm

2013年11月22日 星期五

How to know the correct encode

 
#!/usr/bin/python
# -*- coding: utf-8 -*-
str_encodings='utf_8 utf_16 iso2022_jp_1 iso2022_jp_2 iso2022_jp_ext gbk gb18030 big5 big5hkscs euc_jp euc_jis_2004 euc_jisx0213 cp950 ascii latin_1 iso8859_2 iso8859_3 iso8859_4 iso8859_5 iso8859_6 iso8859_7 iso8859_8 iso8859_9 iso8859_10 iso8859_13 iso8859_14 iso8859_15 iso2022_jp iso2022_jp_2004 iso2022_jp_3 iso2022_kr gb2312 euc_kr hz johab koi8_r koi8_u mac_cyrillic mac_greek mac_iceland mac_latin2 mac_roman mac_turkish ptcp154 shift_jis shift_jis_2004 shift_jisx0213 cp037 cp424 cp437 cp500 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 cp863 cp864 cp865 cp866 cp869 cp874 cp875 cp932 cp949 cp1006 cp1026 cp1140 cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258'
encodings = str_encodings.split(" ")
for code in encodings:
name=row[0].decode(code,’ignore’)
print code,"===",repr(name)

[MAC] Mac OS 升級後,遇到 MySQL_python import error

這問題,幾乎我只要升級MacOS就會遇到一次

 

Error Message

Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4-py2.7-macosx-10.9-intel.egg/_mysql.so

Reason: image not found

 

Troubleshooting steps:

1.找出你安裝的Mysql_python 版本

pip freeze local|grep MySQL

2.

find out what library paths the MySQLdb C extension _mysql.so is looking for

otool -L /Library/Python/2.7/site-packages/MySQL_python-1.2.4-py2.7-macosx-10.9-intel.egg/_mysql.so

 

2. Install  or   Just copy missing libmysqlclient.xx.dylib to the lib folder

 otool -DX /opt/local/lib/mysql5/mysql/libmysqlclient_r.16.dylib

2013年11月20日 星期三

Can't join AD server : "DNS 名稱不存在。"( Error code 0x0000232B RCODE_NAME_ERROR)

原因:無法找到對應的兩筆DNS record,

 

解決方法:

最簡單的解決方法就是開啟 錯誤訊息中的Detail,找著裡面的說明加上這兩筆record

1._ldap._tcp.dc._msdcs.[yourdomain.com]

2. [yourpcname].[yourdomain.com]

2013年11月15日 星期五

How to dump freetds log (use tsql) and use unixodbc to access MSSQL 2008 on Mac Maverick

1.How to enable freetds dump
 $TDSDUMP=/tmp/freetds.log tsql -H mysql_sqlserver -p 1433 -U sa
2.這一版的unixodbc可能有問題,在網路上看到有人提到,一定等手動把odbcinist.ini存放在/etc下面才有作用,
所以我用了sybolic link去幾絕這個問題,也成功的建立連線
 $create sybolic to /etc from /usr/local/etc/odbcinst.ini
3.sample code
##/usr/bin/python
import sqlalchemy as sa import urllib URI='DRIVER={FreeTDS};Server=%s;Database=db_ControlManager;UID=%s;PWD=%s;TDS_Version=8.0;Port=1433;' % (server,user,password) connection_string='mssql+pyodbc:///?odbc_connect='+urllib.quote_plus(URI) engine = sa.create_engine(connection_string) conn=engine.connect() conn=db_connect() sql="select * from tb_userinfo" result=conn.execute(sql).fetchall() for row in result: for col in row: print col

2013年11月13日 星期三

What is Restful API

REST stands for Representational State Transfer. It relies on a stateless, client-server, cacheable communication protocol

stateless:  無狀態,(相反詞為stateful),亦即每一個連線都是獨立的,不會記住前一個連線狀態,用一個簡單的方式去取代

原本複雜的network application

 

RESTFUL application 使用HTTP request 去取代所有的 CRUD (Create/Read/Update/Delete) operations

2013年11月12日 星期二

[Mac] 利用Maverick tag [標記] 做軟體分類

轉到Mac 已經快滿兩年,這中間的使用經驗大體上來說都是好的,除了一點,我始終找不到好的方法做軟體分類,當電腦軟體中充滿滿慢的軟體,雖說可以透過spotlight來尋找,但事實上我現在記憶力已經大幅衰退,常常連要用什麼關鍵字搜尋都記不起來,還好現在Maverick有了檔案標記這個功能,我可以幫我常用的類似軟體,標上一個我記得的tag這樣大大的方便我搜尋使用

如何叫出 iOS 7.0 spotlight

在每一個頁面的中間以下位置,手指往下滑,即可叫出spotlight ,如果再上面一半的頁面就會叫出通知訊息頁面

[Mac] locate command 使用

在Mac 中要啟用locate 指令時,要縣建立一個locate database

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

  也可以透過下列手動更新資料庫的方式建立

sudo /usr/libexec/locate.updatedb

2013年11月10日 星期日

python module check command "pip"

install pip

easy_install pip

 

Use pip check what you have

pip freeze | grep -i repoze.who=

Install specific version

pip install repoze.who==1.0.19

2013年11月9日 星期六

Use fabric to send icinga plug-in

Because I don’t have access permissions on production servers. It caused me to think how 
to use agnetless icinga  plugin to monitor server.  This is a cause of this concept.
First, I write a fabric command to a local function naming _icinga_cmd. It will retire a exit code after executing.
 
def  _icinga_cmd(cmd):
 with settings(hide('warnings','running', 'stderr'),warn_only=True):
  try:
   result=sudo(cmd)
   if result.return_code==0:
    print "OK -"
    sys.exit(0)
   elif result.return_cod==1:
    print "WARNING-"
    sys.exit(1)
   elif result.return_code==2:
    print "CRITICAL-"
    sys.exit(2)
   elif result.return_code==3:
    print "UNKNOW-"
    sys.exit(3)
   else:
    print "Waring - Can't get response"
    sys.exit(1)
   return result.return_code
  except:
#           print "Warning- Can't get response"
   sys.exit(0)
   return
def check_unix_memory():
   cmd='/home/pmp-check-unix-memory -d' _icinga_cmd(cmd)
   _icinga_cmd(cmd)

2013年11月7日 星期四

[Mac] 2011 MBP 升級Maverick (10.9)後休眠模式失效

至從升級到Marverick後,發現休眠模式似乎失效了,原本只是發現燈號怎麼是恆亮,本來以為是燈號有問題而已,

後來就寫個小程式,發現我闔上螢幕後,在啟動,其實程式一直在跑,只是螢幕關閉而已,查看了是什麼造成休眠失效,

雖然有兩個可疑的程式在跑,不過我把他們都關掉後,還是一樣,然後再Apple的討論區發現,這很可能是Marverick的bug

最後解決方法是重新設定hibernatemode 

pmset -a hibernatemode 0
1.BackgroudTask 1 :這個很可能是因為你enable Time Machine造成的,你會看到一個backupd-helper的process

   2.ApplepushServiceTask 1:  可能會看到 AppleBluethoothHIDKeyboard 之類的,但事實上通常不是真的藍芽造成的,而是起他的

程式造成的,以我的例子是logmein造成的

#pmset -g assertions

NewImage

時事評析:從大統橄欖油延伸到頂新味全之食品安全

從今年九月以來,從所謂的九月政爭到大統用假的橄欖油事件,到最近連大的食品公司,頂新都牽扯近來,台灣被搞的人心惶惶,幾個月前,從網路上看到一個笑話,寫說這一切都是馬英九的陰謀,因為為了早日讓台灣人習慣中國大陸的黑心食品,說來實在悲哀,看到一些高官出來喊人手不夠等等,無法檢驗等等,立法委員也出來喊要修法等等,其實我覺得都不是正解,因為如果今天是一家廠商這樣做,這樣加強檢驗還可行,但我強烈懷疑這是一個共犯結構,對於這種犯罪,或者說商人的黑心,我腦中只想到一句成語”殺雞敬猴”,這時候應該找一家大的廠商,然後一次重罰重逞,甚至讓一家公司倒閉也好,讓其他公司警惕,而不是弄到不做不行,但真的要做又可能下不了台,回顧過去歷史一個朝代的沒落幾乎都來至於兩件事情,一個是土地居住問題,另一個就是食物問題,土地改革幾乎都是中國歷代國家興起的的第一要項,當一個朝代到末代,幾乎財富都會過度集中在少數人手上,所以會造成起義改革,而叛亂則大多來至於食物問題,因為都是一群為了求溫飽而起義的人,通常沒太大權力目的,所以常常最後被平亂,相對於因為土地改革造成的起義都來至於權力的變更,說來一般人民實在很可憐

Fabirc (2): @Task and @roles

Decorators:

We can use decorators to use a specific environment.

-use @task to separate task from general functions.  

For example. It you use command fab list to  list all command in below fabfile.  It will only display 

the functions with @task decorators .

##fabfile.py
from fabric.api import *
@task
def cmd(cmd):
        run(cmd)

def cmd2(cmd):
        run(cmd)
@task
def cmd3(cmd):
        run(cmd)
-use @roles to specify a task only can ran on which roles
#fabfile.py
env.hosts=[“192.168.1.1”,”aal.yourdomain.com"]
env.roledefs={“web":[“aal.yourdomain.com"],”ap":[“1.1.1.1"]}

And you can use decorators to specify which tasks are ran on which roles.

@roles(“web")
def apache():
    sudo("apt-get update")
    sudo("apt-get install -y apache2")

 

How to mount a NFS folder on win xp

1. Install windows service for unix3.5

http://www.microsoft.com/en-us/download/confirmation.aspx?id=274

 

2.mount a NFS folder

*Launch dos prompt

#!mount  user@yourdomain:/your/share/folder   f: [driver letter for mount point]

How to scp a all directory, not only file

#! scp  -r  user@yourdomain.com:/your/folder   /remote/folder

How to resolve install python broken yum current version of Python, which is:

If you encounter the below message when executing “yum” on your linux system,

It is because you broke the system default python version. The simplest way 

is force indicated yum to use python 2.4 version.  Modify your yum (/usr/bin/yum)

to call python at first line

#!/usr/bin/python2.4

 

##Error

It's possible that the above module doesn't match the

current version of Python, which is:

 

 

2013年11月5日 星期二

Mysql Error: 1205 :Lock wait timeout exceeded; try restarting transaction

mysql > show engine innodb status\G;

mysql > show variables like 'innodb_lock_wait_timeout';

 

 

##enlarge innodb_lock_wait_timeout

mysql>set @@GLOBAL.innodb_lock_wait_timeout=500;

## Enable general log

mysql> show variables like 'general_log';

mysql>set @@GLOBAL.general_log=ON;

2013年11月3日 星期日

重置設定 解決Ipad 1 經常當機問題

最近iPad Air上市了,看者手邊經常當機的iPad 1 ,不經讓我想起難不成我也要對Apple折服嘛?難不能iPad 1 被Apple有計劃的放棄後,就沒救了嗎? 雖然也很想借者這樣的說法來說服自己更換新的iPAd,不過想當年也是發了我不少錢才買的iPad,到現在也沒用幾年,但經常性的當機,的確讓我使用他的頻率越來越少,稍微一搜尋了一下,大部分的討論都是說是因為iPad 1 記憶體太少,屬於先天不足,所以都是因為軟體太肥大的關係,但後來看到國外論壇有人說只要把iPad 1 重置救可以解決這樣的問題,我一般都把iPad 1拿來做行事曆管理以及一些書籍文章的閱讀,應該也不算太肥大的軟體,就想說不然來測試一下,發現還真的改善了,目前第一天使用還沒遇到當機,,不過請確定自己做完備份後再執行這個Reset All Settings,因為會將你的資料全部清空,你得靠者restore才能把資料回覆

 

NewImage

Weinberg tirangle problem

 

問題:

1.http://www.testing-challenges.org/Weinberg-Myers+Triangle+Problem

答案:

2.http://euler.tn.edu.tw/think17.htm

2013年11月2日 星期六

[Mac] 正確的MBP 電池使用方式

上個星期在偶然的狀況下看到一邊有關如何延長macbook電池壽命的文章,發現原來電池的續電量是可以挽救的,就照裡面寫的使用方式,

用了幾天,發現電池續電量真的有回升,在10/29電池續電量只剩下83%,今天已經回升到89%了,雖然不知道到底是真的有用還是沒有,

 

原始文章:http://appleuser.com/2013/08/22/how-to-extend-macbook-battery-life/

蓄電量掉落是可以挽救的,

  1. 只要你重新開始充,充到滿後讓他維持一、兩個小時再放
  2. 等電量差不多降到 95% 時再充到滿,再重複第一個步驟

NewImage

 

 

備註:為了不久的將來可能得更換MBP電池,順便把另一篇自行更換電池的文章,附在後面

http://blog.lyhdev.com/2013/02/macbook-pro-2000.html

[Mac] Mac 10.9 maverick hang (當機問題)

自從升級上Mac 10.9之後,發現系統經常當機,大概一天會死當一到兩次,狀況跟kernal panic不太一樣,當機時,會發現
滑鼠有時候還可以移動,按caps lock時燈號也會變換,但系統就是hang住了,只能強制按電源鍵重新開機,檢查系統的log 發現
是死在google chrome helper,後來在google 論壇上發現,這狀況不是特例,很多人遇到了,有人回覆只要安裝新的beta以上版本32.以上問題就解決了

##系統log
2013/11/2 下午8:14:51.209 imagent[350]: [Warning] 12 CoreFoundation 0x00007fff9905b8f1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 2013/11/2 下午8:14:51.209 imagent[350]: [Warning] 13 CoreFoundation 0x00007fff9904d129 __CFRunLoopDoSources0 + 441 2013/11/2 下午8:14:51.210 imagent[350]: [Warning] 14 CoreFoundation 0x00007fff9904c7ef __CFRunLoopRun + 831 2013/11/2 下午8:14:51.210 imagent[350]: [Warning] 15 CoreFoundation 0x00007fff9904c275 CFRunLoopRunSpecific + 309 2013/11/2 下午8:14:51.210 imagent[350]: [Warning] 16 Foundation 0x00007fff9283aa7c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 253 2013/11/2 下午8:14:51.210 imagent[350]: [Warning] 17 Foundation 0x00007fff9292370a -[NSRunLoop(NSRunLoop) run] + 74 2013/11/2 下午8:14:51.210 imagent[350]: [Warning] 18 imagent 0x0000000108f272a9 imagent + 33449 2013/11/2 下午8:14:51.210 imagent[350]: [Warning] 19 libdyld.dylib 0x00007fff907c85fd start + 1 2013/11/2 下午8:15:02.277 WindowServer[133]: disable_update_timeout: UI updates were forcibly disabled by application "Google Chrome" for over 1.00 seconds. Server has re-enabled them. 2013/11/2 下午8:15:10.989 WindowServer[133]: common_reenable_update: UI updates were finally reenabled by application "Google Chrome" after 18.73 seconds (server forcibly re-enabled them after 10.02 seconds) 

 

##Google 論壇討論串

http://productforums.google.com/forum/#!msg/chrome/VYoL6Xs-DUQ/9KXCtUB8C3QJ

 

 

##Google chrome dev build

http://www.chromium.org/getting-involved/dev-channel

知識分類與電腦資料夾的管理

今天在整理我多年儲存的資料時,發現資料夾已經又亂到幾乎無法管理的地步了,也影響到知識的學習,美國著名的教育學家John Dewey

曾說過,all knowledge is classification,所以做好分類就是知識,不過要如何做好知識分類就不是一門簡單的學問。

 

 

之前我的命名一般都是以數字開頭命名做一點簡單的排序,然後再中間,因為google desktop search 的出現,就改成需要時,直接搜索,現在隨者Mac Maverick 支援資料夾與檔案標記tag的功能,就讓我想是否可以趁機整理整理我的資料,事實上我的數字命名規格是參考GTD (get

things done)的作者 David Allen所提倡的AZ  alpha filing system (AZ資料夾整理數),目前是希望建立一個合用的AZ 命名資料夾

然後透過程式自動搜尋相關的tag達到自動分類資料的夾的方式,嚴格來講,透過實體檔案分類跟透過標籤事後在分類,兩種是不同的概念,不過我想如果可以結合兩個優點,且不會增加自己檔案管理的負擔,是可以嘗試看看的

 

 ##知識的分類l:

1.http://jlis.lis.ntu.edu.tw/article/o17-7.pdf

##AZ alpha filing system

參考網站:

1.http://www.casfaa.org/assets/documents/GettingThingsDone_filing.pdf

2..http://timeimprint.blogspot.tw/2009/03/1quizlet.html

3.http://blog.xuite.net/twhsi/Blog/64334069-%E7%B4%99%E5%BC%B5GTD%EF%BC%8C%E6%96%87%E4%BB%B6%E5%A4%A7%E4%BD%9C%E6%88%B0+%E8%AB%87%E8%AB%87David+Allen%E5%A6%82%E4%BD%95%E7%AE%A1%E7%90%86%E5%A5%BD%E6%96%87%E4%BB%B6

4.http://timeimprint.blogspot.tw/2009/09/az.html

##Mac Filder in 10.9

http://chris959.blogspot.tw/2013/06/osx-finder.html

2013年11月1日 星期五

[How to]如何解目錄下所有的rpm 檔案

 $find . -name "*.rpm" | xargs -t -I file sh -c "rpm2cpio file |cpio -idm"

 

xargs:

*-I :  replace argument,代表 -I 後面的string,在這邊是使用file 需要被變數取代

sh: 執行command

*-c 代表command 會從stirng輸入

rpm2cpio:會將指定的一個.rpm文件轉換為一個cpio文檔,輸出到標準輸出

cpio:
*-i 表示提取文件
* -v 表示顯示執行過程
* -d 表示根據數據包中原來的路徑建立目錄 

AlertGrid

web site:http://alert-grid.com

Alert grid is an instant notifications for events received from your systems.  I used it to enhance our system’s monitoring system.

I use Icinga as our monitoring system and build up an admin console to do some advance operations.

 

How to restore a deleted onenote page

復原不小心誤刪的onenote