目前分類:工作日誌 (9)

瀏覽方式: 標題列表 簡短摘要

SQL Injection資料隱碼攻擊的駭客攻擊手法,一直以來都高居OWASP Top10 的前兩名,有關於如何有效防範其攻擊的相關文件與技術討論,在網路甚至資安論壇,討論都非常激烈。最近卻發現仍然有許多programmer還是不清楚其攻擊的原理,在安全性問題的管理控制方式也沒有抓到重點,許多網站應用系統在開發時仍然漏洞百出,其主要的原因不外乎是架構鬆散,程式人員偷懶或早期撰寫程式碼的習慣不改的緣故。

在這種攻擊方式中,攻擊者會將一些惡意資料庫查詢語法,輸入到開發者使用的程式碼中。然後透過各種方式將該字串傳遞到如MS SQL Server資料庫的查詢命列中進行分析和執行。只要這個惡意字元或語法符合SQL 查詢語法的規則,在應用系統的編譯與執行階段時,就不會被編譯工具或執行階段工具發現。資料庫伺服器則會直接執行被竄改過的攻擊語法,對資料庫系統或儲存的資料,造成極大的威脅。因此,SQL 隱碼攻擊的危害是非常大的,那身為一個稱職的資料庫管理員或者開發人員該如何來防範呢?下面這些建議對相關人員預防SQL資料隱碼攻擊將非常有助益。

1.應用系統中存取資料庫時,應明確定義存取資料庫的使用者權限

假設一個普通用戶在SQL查詢語法中,嵌入一個Drop Table語句,那麼是否允許執行呢?由於Drop 語法關係到資料庫的基本物件,因此操作這個語句用戶必須有相對應的操作權限。在允許的權限中,對於終端使用者,即應用系統的操作者,除非必要,不需要賦予資料庫物件的建立、刪除等相關權限。即使在使用SQL語句中,被植入帶有惡意的操作語法或程式碼。由於因為權限管控嚴謹,對使用者的操作限制,這些惡意的動作也將無法被執行。故應用程式在存取架構設計時,最好把系統管理員的使用者與普通使用者區分開來。如此,可以最大幅度降低SQL Injection 資料隱碼攻擊對資料庫系統帶來的損害。

2.採用參數化(Parameterized)查詢語法 

一般SQL Injection 資料隱碼攻擊,是利用傳統習慣使用動態字串結合的方式,來組合成查詢語法,並將查詢語法結合程式碼,針對資料庫系統進行查詢或操作。因此,就給了駭客一個竄改資料並植入攻擊字串的機會。若能在撰寫SQL查詢語法時,使用者輸入的變數不是直接動態結合到SQL 查詢語法,而是通過參數來傳遞這個變數的話,那麼就可以有效的避免SQL Injection 資料隱碼攻擊。

換句話說,使用者的輸入絕對不能夠直接被結合到SQL查詢語法中。避免此類情形發生的作法,在針對使用者的輸入內容必須進行過濾,或者使用參數化的查詢方式,來傳遞使用者輸入的變數。參數化的查詢語法,在使用參數時,是把整個參數當成查詢資料,而不是將使用者輸入變數當成查詢的語法,因此就可以有效避免惡意使用者輸入攻擊語法。採用這種措施,可以杜絕大部分的SQL Injection 資料隱碼的攻擊。不過可惜的是,現在支援參數化語句的資料庫系統並不多。不過,如果在資料庫系統支援的情況下,開發人員在開發應用系統時要儘量採用參數化查詢的方式來設計系統。

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • Oct 20 Thu 2011 14:45
  • OSGi

OSGi(Open Service Gateway Initiative)有雙重含義。一方面它指OSGi Alliance組織;另一方面指該組織制定的一個基於Java語言的服務(業務)規範——OSGi服務平台(Service Platform)。

OSGi Alliance是一個由Sun MicrosystemsIBM愛立信等於1999年3月成立的開放的標準化組織,最初名為Connected Alliance。該組織及其標準原本主要目的在於使服務提供商通過住宅網關,為各種家庭智能設備提供各種服務。目前該平台逐漸成為一個為室內、交通工具、流動電話和其他環境下的所有類型的網絡設備的應用程序和服務進行傳遞和遠程管理的開放式服務平台。

該規範和核心部分是一個框架 ,其中定義了應用程序的生命周期模式和服務註冊。基於這個框架定義了大量的OSGi服務: 日誌配置管理、偏好,HTTP(運行servlet)、XML分析、設備訪問、軟件包管理、許可管理、星級、用戶管理、IO連接、連線管理、Jini和 UPnP

這個框架實現了一個優雅、完整和動態的組件模型。應用程序(稱為bundle)無需重新引導可以被遠程安裝、啟動、升級和卸載(其中Java包/類的管理被詳細定義)。API中還定義了運行遠程下載管理政策的生命周期管理服務註冊允許bundles去檢測新服務和取消的服務,然後相應配合。

OSGi原先關注於服務網關,其實可用於多個方面。現在OSGi規範已經用於從流動電話到開源的Eclipse(其中包括了與IBM的OSGi框架SMF兼容的開源版本)。 OSGi服務平台的應用包括:服務網關、 汽車流動電話、 工業自動化建築物自動化、 PDA 網格計算娛樂(如iPronto)、和 IDE

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

1. 「Shift+Delete」快捷鍵
用途:直接將所選文件或文檔等徹底刪除,不需放入回收站,
這個快捷鍵相信所有Windows系統用戶都不會陌生了,Windows 7系統繼續支持該功能。
  

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

su

yum install openssh-server

1>查看运行状态
To check if it is installed and running use the following command:
/sbin/service sshd status

2>启动ssh server
If the service is installed, but not running, it can be started either from the command-line:
/sbin/service sshd start

3>配置ssh
打开/etc/ssh/ssh_config ,去掉其中:
Port 22
Protocol 2,1
前面的#号,然后重新启动:service sshd restart

4>配置开机自动启动SSH服务:
vi /etc/rc.local
加入
/etc/init.d/sshd start
听说除了tomcat,其他的只要把启动参数写入rc.local就好

5>最后需要设置一下防火墙,允许ssh端口被访问:
iptables -I INPUT -p tcp -j ACCEPT
然后就可以通过ssh工具连接了
或者在图形界面下对防火
进行配置,启动防火配置:
/usr/bin/system-config-firewall

6>其它
另外fedora与debain和unbutu一样,也可以通过下面命令进行启动与关闭:
/etc/init.d/sshd stop
/etc/init.d/sshd start
/etc/init.d/sshd restart


/etc/init.d/iptables stop
/etc/init.d/iptables start
chkconfig sshd on

 


DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

 下載符合您Linux版本的Kernel Header 
若不知道自己的Linux版本為何時,請輸入下列指令以獲得系統版本資訊
#> uname -r
2.6.25-14.fc9.i686
 Fedora Core Linux 9


DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

環境資訊

來源: Sybase ASE 15.5

image

image

 

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

簡單的介紹一下ESXi,ESXi就是ESX的免費版本,用過vmware的人絕對不能不知道的一套作業系統,主要的用途就是可以建立很多很多的虛擬主機(Virtual Machine,簡稱vm),這裡所說的虛擬主並不是說網路上的租空間流量的虛擬主機,而是安裝多個作業系統在一個實體機器上,實體的機器我們可以成為host,建立在host上的vm可以稱做guest,而ESX就是一個專門提供guset的環境,可以提高vm的運作效能。

ESXi的環境可以帶來什麼好處呢?其實最大的好處就是節能減碳有效利用系統資源,這兩點好處息息相關,也是目前IT的一個運行方向,當然我也不能落後太多XD。以往要裝一個作業系統來玩玩就得多一台機器,出現了vmware之後就可以把系統裝在其中,大多人都會在windwos上裝個vmware server或workstation,只是我覺得windows不是一個很穩定的作業系統可以讓vm穩定的運作下去,而選擇ESX就不會有這樣的顧慮,因為這就是專門的啊!目前這個網站的loading大概用不到20%的系統資源,若是把網站架在一個實體主機上,那麼額外的80%資源的確就是有點浪費掉了,於是使用ESXi對我來說是個好選擇,我可以利用一台實體的機器來玩更多的系統或是架構,而不會影響到網站的運作,只要硬碟夠大記憶體夠多,更可以多裝vista和windows 7來當做軟體測試環境,一樣只是使用一台電腦而已,你覺得優不優呢?

在實體主機轉移虛擬主機的初期,我原本只是要先過渡一顆硬碟過去用,但不幸遇到了一個很大的麻煩,在關機時竟然遇到kernel panic的問題,害我的實體主機LVM整個壞掉無法正常開機(之後會介紹如何修復),於是只好被迫提早進行搬遷計畫,一邊修實體主機一邊裝虛擬主機=.=,當然最後是都搞定啦(一夜未眠)~之後唯一遇到的難題就是我無法在ESXi下將實體硬碟(Physical Disk)的資料在vm中直接使用,我有一個1TB的資料硬碟遲遲不能轉移,當然最後還是成功囉!分享一下過程囉!


DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

設定環境

  1. 安裝AppServ 至 C:\AppServ\
  2. 進入phpMyAdmin手動建立資料庫 mantis (utf8_gen)
  3. 修改 mysql.ini
    開啟 mysql.ini 後,在 [mysqld] 內新增下列敘述後存檔。
    max_allowed_packet=16M
  4. 修改 C:\Windows\php.ini
    開啟 php.ini 後,調整下列的值:
    memory_limit = 30M

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

[转帖]SQL SERVER和SYBASE的渊源

之所以將這兩種數據庫一起是應為MS SQL Server是購買Sybase公司1987年推出的Sybase SQL Server,又稱為大學版INGRES的第三代產品,所以他們實質是一樣的。
  SQL Server的新版本是SQL Server 7,SQL Server具有單進程愈多線索的體系結構。及SQL Server只有一個服務器進程,所有的客戶都連接多這個進程上。但是,改進程又細分為多個並發的線索,他們共享數據緩衝區和CPU時間,能及時捕捉各用戶進程發出的存取數據的請求,然後,按一定的調度算法處理這些請求,比操作系統直接對這些請求進行調度高效的多。

  Microsoft提供了一個數據庫引擎,應用範圍可以從運行Microsoft Windows 95/98操作系統的移動膝上型電腦,到運行Windows NT Server操作系統企業版的兆兆字節對稱多處理器群集。所有這些系統都能保證關鍵任務業務系統要求的安全性和可靠性。

  SQL Server的事務處理量大,響應速度快,並能為數百或更多用戶維持這種高性能。

  SQL Server首先在核心層實現了數據完整性控制,包括建表時申明完整性和用觸發器機制定義與應用有關的完整性。支持分佈式查詢與更新。

  Sybase公司是1984年成立的,屬於後起之秀。他推出了支持企業範圍的“客戶/服務器體系結構”的數據庫。Sybase把“客戶/服務器數據庫體系結構”作為開發產品的重要目標。他們吸取了INGRES的研製經驗,以滿足聯機事務處理應用的要求,與1987年推出了Sybase SQL Server,稱為大學版INGRES的第三代產品。
  Sybase System 11.5是其最新產品,支持企業內部各種數據庫應用需求,如數據倉庫、聯機事務處理、決策支持系統和小平台應用等。

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()