2011年5月4日 星期三

.net 使用外部dll

在網站專案上選擇新增參考->瀏覽->選要加入的dll檔案
加入後會放在自動新增的bin資料夾裡面
使用時要加上
using dllname;

2011年4月12日 星期二

Perl異常吃CPU

今天主機又被攻擊了= =
top內看到perl的程式把CPU吃光了,不過我沒抓下來
用netstat看一下從那裡來的@@
# netstat -n|more
Proto Recv-Q Send-Q Local Address           Foreign Address        State
tcp 0 0 xxx.xxx.xxx.xxx:80 134.208.xxx.xxx:49561 SYN_RECV
tcp 0 0 xxx.xxx.xxx.xxx:38693 69.64.47.228:5190 ESTABLISHED
你是誰啊= =
# lsof -i :5190
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
perl 2524 apache 3u IPv4 74879420 TCP xxx-xxx-xxx-xxx:38693->balder791.startdedicated.com:aol (ESTABLISHED)
perl 2561 apache 3u IPv4 74879420 TCP xxx-xxx-xxx-xxx:38693->balder791.startdedicated.com:aol (ESTABLISHED)
perl 2573 apache 3u IPv4 74879420 TCP xxx-xxx-xxx-xxx:38693->balder791.startdedicated.com:aol (ESTABLISHED)
perl 2654 apache 3u IPv4 74879420 TCP xxx-xxx-xxx-xxx:38693->balder791.startdedicated.com:aol (ESTABLISHED)
perl 2680 apache 3u IPv4 74879420 TCP xxx-xxx-xxx-xxx:38693->balder791.startdedicated.com:aol (ESTABLISHED)
perl 2741 apache 3u IPv4 74879420 TCP xxx-xxx-xxx-xxx:38693->balder791.startdedicated.com:aol (ESTABLISHED)
perl 10443 apache 3u IPv4 74879420 TCP xxx-xxx-xxx-xxx:38693->balder791.startdedicated.com:aol (ESTABLISHED)

=..=每次攻擊都是這個域名公司的
全部kill掉後,上辜狗找到可能的原因是透過php的fileupload上來的,可執行的程式碼上傳到/tmp底下,利用/tmp預設大家都可寫入可執行的特色,進行攻擊。
進到/tmp底下發現名為'f'的檔案,手賤的我一看到它就rm掉了
忘了看它裡面寫什麼東西...= =""
但是網站還是需要上傳的功能,總不能把它關了
這時候就要利用mount -o noexec,nosuid的方式
將/tmp掛載成不能執行,不能使用指令的模式
# vi /etc/fstab
/dev/VG00/lv_tmp /tmp ext3 noexec,nosuid 1 2

#mount /tmp -o remount

希望降子能有效阻擋此類攻擊 囧>

--
參考網址
http://www.study-area.org/phorum/index.php?topic=59532.0
http://blog.teatime.com.tw/1/post/126

2010年11月23日 星期二

jQuery find

在表單(form)中如果有動態表格(table)的話,要找到表格內的動態元素的笨方法是
$("#formid").children("table:last").children("tbody").children("tr")[0].children("td")[0].children("select");

為了避免這種蠢斃了的情況
jQuery很貼心的給了我們find(大心)
上面的笨句子就可以改成
$("#formid").children("table:last").find("select");

世界整個變美好了(茶)

2010年11月17日 星期三

visual studio 2010 要求驗證

我在用vs2010時,它臨時的網頁伺服器一直叫我驗證
雖然可以在IE設定裡調成預設使用window驗證
可是在使用服務參考時就行不通了
找了老半天,在website的起始選項裡的起始選項
底下的伺服器有個選項是「NTLM驗證」
把它勾掉後就不會再要求驗證了
我的平台是win7 64bit,vs2010是32bit
不知道是不是這個原因??

--
一開始灌好vs2010
寫好hello world,按下run
結果完全不理我= =
網頁跳不出來

原來是因為我的預設瀏覽器是firefox的關係...
套句曹老師的話
真是爛透了

2010年10月14日 星期四

vsftp設定

我在vsftpd.conf多加了幾個設定
local_umask=002
pasv_enable=YES
pasv_min_port=xxxxxx
pasv_max_port=xxxxxx
chroot_local_user=YES
user_config_dir=/etc/vsftpd/userconf

大部分的指令網路都查的到
而最後一條指令是設定個別user的conf檔存放位置

例如要把user1的家目錄指定到網頁資料夾可以這樣寫
vi /etc/vsftpd/userconf/user1

local_root=/var/www/html

這樣user1一登入便會進到html資料夾內
而且我有設定chroot_local_user=YES
所以user1也無法離開根目錄亂逛囉!

另外如果要使用xinetd管理vsftp
vsftp有寫好的設定檔供使用
cp /usr/share/doc/vsftpd-2.0.5/vsftpd.xinetd /etc/xinetd.d/vsftpd

存好後將disable改為no
另外要注意的是要將vsftp的主動模式(stand alone)關掉
我就是沒有關所以一直不成功...
vi /etc/vsftpd/vsftpd.conf

listen=NO
可以開始使用囉
--
參考網頁
http://www.linuxpk.com/5831.html
http://itnewsvendor.appspot.com/2071040-rhel5_xinetd_%E6%96%B9%E5%BC%8F.html
http://linux.vbird.org/linux_server/0410vsftpd.php#server_vsftpd.conf

timestamp to date

moodle在mdl_log檔中的time是使用unix timestamp
為了調資料時讓人看的懂可以使用mysql的函式
FROM_UNIXTIME(unix_timestamp)

預設輸出是長降子
mysql> SELECT FROM_UNIXTIME(1196440219);
-> '2007-11-30 10:30:19'

後面也可以加參數指定格式囉

--
參考網頁
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime

2010年10月5日 星期二

/etc/rc.d/rc.sysinit: line 648: fsck:command not found

電源失敗後出現的致命訊息
因為開機都會執行fsck,而在/sbin裡卻找不到fsck了!!
這...應該是死定了!!
google過沒有找到什麼好方法
只好拿liveCD試看看
liveCD開完機後自動就將所有的硬碟都mount起來了
還好資料都還在,可以趕快進行備份