1. 程式人生 > 其它 >基礎入門-系統及資料庫

基礎入門-系統及資料庫

前言

除去前面寫到過的搭建平臺中介軟體,網站原始碼外,容易受到攻擊的還有作業系統,資料庫,第三方軟體平臺等,其中此類攻擊也能直接影響到WEB或伺服器的安全,導致網站或伺服器許可權的獲取

知識點

作業系統層面

背景

windows、linux
三個點:系統層面的漏洞/識別/漏洞的型別
(像ddos漏洞,就不需要太注意,我們需要注意能獲取許可權的哪些漏洞。)

基於作業系統掃描測試------Nessus OPenvas Goby

識別作業系統常見方法

對方有網站通過網站識別,沒網站通過掃描工具進行掃描

(1)改變大小寫看作業系統的型別

windows作業系統不區分大小寫

linux區分大小寫

(2)通過TTL來判斷(TTL判斷不準確,不建議使用)\
windows NT/2000   TTL:128
WINDOWS 95/98     TTL:32
UNIX              TTL:255
LINUX             TTL:64
WIN7              TTL:64

通過修改本機上的TTL值可以混淆攻擊者的判斷(當然,很少有使用者會這麼做)。
TTL值在登錄檔的位置是:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters (通過在cmd命令裡面輸入:regedit,然後回車的方式可以開啟登錄檔)。其中有個DefaultTTL的DWORD值,其資料就是預設的TTL值了,我們可以修改DefaultTTL裡面的TTL預設值,但不能大於十進位制的255。

(3)通過掃描工具識別—nmap(最準確)

Nmap用於在遠端機器上探測網路,執行安全掃描,網路審計和搜尋開放埠。它會掃描遠端線上主機,該主機的作業系統,包過濾器和開放的埠。
Nmap作業系統的探測
使用nmap 驗證多種漏洞

Kali-linux:nmap命令
通過新增-sV引數,能夠得到服務版本資訊

簡要兩者區別及識別意義

網站路徑、大小寫、檔案在兩個系統之間的適用性,相容性,如果判斷出是哪種作業系統,就會從作業系統所支援的漏洞型別下手

作業系統層面漏洞型別對應意義

漏洞型別的不同會造成利用這個漏洞的條件也不同

SQL注入漏洞

SQL注入攻擊(SQL Injection),簡稱注入攻擊、SQL注入,被廣泛用於非法獲取網站控制權,是發生在應用程式的資料庫層上的安全漏洞。在設計程式,忽略了對輸入字串中夾帶的SQL指令的檢查,被資料庫誤認為是正常的SQL指令而執行,從而使資料庫受到攻擊,可能導致資料被竊取、更改、刪除,以及進一步導致網站被嵌入惡意程式碼、被植入後門程式等危害。

跨站指令碼漏洞

跨站指令碼攻擊(Cross-site scripting,通常簡稱為XSS)發生在客戶端,可被用於進行竊取隱私、釣魚欺騙、竊取密碼、傳播惡意程式碼等攻擊。

XSS攻擊使用到的技術主要為HTML和Javascript,也包括VBScript和ActionScript等。XSS攻擊對WEB伺服器雖無直接危害,但是它藉助網站進行傳播,使網站的使用使用者受到攻擊,導致網站使用者帳號被竊取,從而對網站也產生了較嚴重的危害。

弱口令漏洞

弱口令(weak password) 沒有嚴格和準確的定義,通常認為容易被別人(他們有可能對你很瞭解)猜測到或被破解工具破解的口令均為弱口令。設定密碼通常遵循以下原則: (1)不使用空口令或系統預設的口令,這些口令眾所周之,為典型的弱口令。

(2)口令長度不小於8個字元。

(3)口令不應該為連續的某個字元(例如:AAAAAAAA)或重複某些字元的組合(例如:tzf.tzf.)。

(4)口令應該為以下四類字元的組合,大寫字母(A-Z)、小寫字母(a-z)、數字(0-9)和特殊字元。每類字元至少包含一個。如果某類字元只包含一個,那麼該字元不應為首字元或尾字元。

(5)口令中不應包含本人、父母、子女和配偶的姓名和出生日期、紀念日期、登入名、E-mail地址等等與本人有關的資訊,以及字典中的單詞。

(6)口令不應該為用數字或符號代替某些字母的單詞。

(7)口令應該易記且可以快速輸入,防止他人從你身後很容易看到你的輸入。

(8)至少90天內更換一次口令,防止未被發現的入侵者繼續使用該口令。

HTTP報頭追蹤漏洞

HTTP/1.1(RFC2616)規範定義了HTTP TRACE方法,主要是用於客戶端通過向Web伺服器提交TRACE請求來進行測試或獲得診斷資訊。當Web伺服器啟用TRACE時,提交的請求頭會在伺服器響應的內容(Body)中完整的返回,其中HTTP頭很可能包括Session Token、Cookies或其它認證資訊。攻擊者可以利用此漏洞來欺騙合法使用者並得到他們的私人資訊。該漏洞往往與其它方式配合來進行有效攻擊,由於HTTP TRACE請求可以通過客戶瀏覽器指令碼發起(如XMLHttpRequest),並可以通過DOM介面來訪問,因此很容易被攻擊者利用。

Struts2遠端命令執行漏洞

Apache Struts是一款建立Java web應用程式的開放原始碼架構。Apache Struts存在一個輸入過濾錯誤,如果遇到轉換錯誤可被利用注入和執行任意Java程式碼。

網站存在遠端程式碼執行漏洞的大部分原因是由於網站採用了Apache Struts Xwork作為網站應用框架,由於該軟體存在遠端程式碼執高危漏洞,導致網站面臨安全風險。CNVD處置過諸多此類漏洞,例如:“GPS車載衛星定位系統”網站存在遠端命令執行漏洞(CNVD-2012-13934);Aspcms留言本遠端程式碼執行漏洞(CNVD-2012-11590)等。

框架釣魚漏洞(框架注入漏洞)

框架注入攻擊是針對Internet Explorer 5、Internet Explorer 6、與 Internet Explorer 7攻擊的一種。這種攻擊導致Internet Explorer不檢查結果框架的目的網站,因而允許任意程式碼像Javascript或者VBScript跨框架存取。這種攻擊也發生在程式碼透過多框架注入,肇因於指令碼並不確認來自多框架的輸入。這種其他形式的框架注入會影響所有的不確認不受信任輸入的各廠商瀏覽器和指令碼。

檔案上傳漏洞

檔案上傳漏洞通常由於網頁程式碼中的檔案上傳路徑變數過濾不嚴造成的,如果檔案上傳功能實現程式碼沒有嚴格限制使用者上傳的檔案字尾以及檔案型別,攻擊者可通過 Web 訪問的目錄上傳任意檔案,包括網站後門檔案(webshell),進而遠端控制網站伺服器。

因此,在開發網站及應用程式過程中,需嚴格限制和校驗上傳的檔案,禁止上傳惡意程式碼的檔案。同時限制相關目錄的執行許可權,防範webshell攻擊。

應用程式測試指令碼洩露

由於測試指令碼對提交的引數資料缺少充分過濾,遠端攻擊者可以利用洞以WEB程序許可權在系統上檢視任意檔案內容。防禦此類漏洞通常需嚴格過濾提交的資料,有效檢測攻擊。

私有IP地址洩露漏洞

IP地址是網路使用者的重要標示,是攻擊者進行攻擊前需要了解的。獲取的方法較多,攻擊者也會因不同的網路情況採取不同的方法,如:在區域網內使用Ping指令,Ping對方在網路中的名稱而獲得IP;在Internet上使用IP版的QQ直接顯示。最有效的辦法是截獲並分析對方的網路資料包。攻擊者可以找到並直接通過軟體解析截獲後的資料包的IP包頭資訊,再根據這些資訊瞭解具體的IP。

簡要作業系統層面漏洞影響範圍

通過漏洞去獲取許可權,對作業系統形成干擾,使得某些服務崩潰

舉例:MS17010

漏洞:需要前提條件、不需要前提條件,然後去獲取許可權,然後do something。
通過漏洞去獲取許可權,對作業系統形成干擾,使得某些服務崩潰

資料庫層面

2.2.1 識別資料庫型別常見方法

(1)資料庫分類

小型資料庫 Access
中型資料庫 MySQL
大型資料庫 Oracle、sqlServer
(2)通過網站及作業系統識別

一般情況下

ASP+Access,sql server (windows)  
PHP+Mysql(linux、windows) 埠:3306
ASPX+Mssql(windows) 埠:
Jsp+Mssql(windows),oracle (linux、windows)埠:1521
Python+Mongodb (linux、windows)
......

access和mssql不支援linux作業系統

通過nmap工具掃描,檢視埠開放情況

常見資料庫埠號
sql server--------埠:1433
Mysql-------------埠:3306
oracle-------------埠:1521
Mongodb---------埠:27017

filtered:過濾。nmap不確定是埠否開放,過濾可能來自專業的防火牆裝置,路由器規則或者主機上的軟體防火牆
open:埠開放。所以上述主機確定是mysql資料庫

意義

資料庫的結構功能都不一樣,不同的資料庫攻擊以及漏洞都不一樣。

資料庫常見漏洞型別及攻擊

弱口令攻擊:通過弱口令登入到資料庫中,得到網站管理員資料資訊,登入網站後臺,進行修改

簡要資料庫層面漏洞影響範圍

通過漏洞,進行攻擊,也可以獲取資料庫的相關許可權,進行一系列的操作

第三方層面

如何判斷有哪些第三方平臺或軟體

常見的第三方軟體
jboss、phpmyadmin,vsftpd,teamview等

比如phpmyadmin的判定
• 通過網站掃描其目錄來判定,如果網站探測不到,那就通過埠掃描。要多層次判斷,不能僅限於埠掃描,根據不同的應用採取不同的方法。
• 如果nmap掃描不出來,可能是有第三方防護軟體(安全狗)等攔截。還有可能是對方服務部署在內網。

根據不同的應用,用不同的方法去掃描探針,大部分使用的
埠掃描也有缺陷

簡要為什麼要識別第三方平臺或軟體

通過識別第三方軟體,來找出漏洞,從而進行滲透測試

常見第三方平臺或軟體漏洞型別及攻擊

攻擊多種多樣
漏洞危害可以直接影響到許可權。

簡要第三方平臺或軟體安全測試的範圍

其他

除去常規web安全及app安全測試外,類似伺服器單一或複雜的其他服務(郵件,遊戲,負載均衡等),也可以作為安全測試目標,此類目標測試原則只是少了web應用或其他安全問題,所以明確安全測試思路是很重要的

演示一某作業系統層面漏洞演示

演示二某作業系統層面漏洞演示

現在這個ubuntu的ip地址是

msf攻擊參考

繼續操作

演示三第三方應用安全漏洞

我們可以從vulhub上看到一些操作

修改之後

補充

安全掃描件