4A安全性分析

2021-09-11 11:23:58 字數 2184 閱讀 4005

路人甲 · 2015/01/05 9:03

前段時間在zone裡看到有人問4a的滲透測試,本人正好接觸過幾款4a和堡壘機產品,今天抽空就總結下個人在滲透中遇到的4a問題。

認證的方式一般有以下幾種:

靜態口令

動態口令令牌

usb令牌

存在的問題有:

這裡的賬號列舉並不是僅僅知道哪個賬號存在,哪個賬號不存在。

#!php

$mobile = $_get["mobile"];

......

if(empty($errmsg))

$oper = "主賬號:".$username."登入失敗,原因:".$errmgs;

......

複製**

從上面賬號可以看到,登入時,如果你輸入的是手機號,那麼登入失敗的時候,就會將手機號對應的username返回,那麼我們就可以拿手機號和使用者名稱到密碼找回頁面等地方做進一步的測試。

很多寫的不嚴謹的程式,在判斷使用者是否處於登入狀態時,都是根據cookie判斷,如下面**,直接根據cookie中的userid和username,如果存在,就判斷使用者已經登入。由此就可以修改cookie,登入任意使用者的賬號。

#!php

public function index()else }

複製**

4a中賬號分為主賬號和從賬號,乙個使用者只會有乙個主賬號,唯一標識了他的身份。這個主賬號還會有n個從賬號,對不同的系統會有不同的從賬號,方便使用者訪問其可以訪問的系統。如下圖

wooyun: 帕拉迪堡壘機任意使用者密碼重置

在這個bug中,可以通過修改密碼的功能,重置其他使用者的密碼。典型的賬號管理問題。

token在4a中可謂是到處都是,那麼如果token驗證不嚴謹,很可能出現戲劇性的結果。接下來這個漏洞給大家展示token失效的時候。

這個頁面不是通過4a登入過來的,而是直接訪問**的登入介面,登入後的頁面。

上面的圖是通過4a登入後,訪問系統時,將url和username修改為管理員的頁面和使用者名稱,然後可以看到,頁面顯示的就是管理員的頁面了。

授權一般分為:

1.基於使用者的授權ubac

2.基於使用者角色的授權rbac

3.基於資源的授權abac

存在的問題有:

4a許可權分配中有個很重要的功能就是基於資源的授權,比如給主賬號a分配乙個securecrt,讓其可以使用ssh,給主賬號b分配乙個notepad,讓其可以使用記事本。但是大家都知道通過瀏覽器、記事本等「查詢檔案」的功能可以調出cmd等功能。

如下圖,是通過分配的ie瀏覽器,直接呼叫出cmd視窗,接下來,你想幹什麼,都ok。

無可厚非,越權問題在現在的程式中,幾乎都存在,這個問題,並沒有得到太大的重視。

#!php

public function payfor()

}}複製**

看上面**,**獲取到ordersn後,直接執行了刪除的動作,而**本身並沒有使用rbac之類的許可權管理,導致存在越權問題。這種屬於水平越權,還有一種垂直越權,這裡不列舉了。

#!php

public function download()");

$fp = fopen($filename, 'rb');

fpassthru($fp);

fclose($fp);

}複製**

一些堡壘機具有前置機,意思是某些在堡壘機中實現不了的功能(比如內建pcanywhere,只是比如),那麼就需要把pcanywhere放到前置機中,當需要使用pcanywhere時,就會遠端登入到前置機上,呼叫pcanywhere的頁面。

問題是什麼呢,既然是遠端登入呼叫pcanywhere的頁面,那麼我們只要使用windows鍵或者使用alt+tab就可以切換到其他程式上,進而就控制了前置機。

wooyun: auditsec運維操作審計-堡壘機密碼的利用

大家可以看看這個金鑰問題。。

審計主要是對登入、訪問等所有的動作記錄日誌,檢視是否有不合規的事件。

wooyun: 帕拉迪/華為/江南天安堡壘機偽造web登入**ip漏洞

在這個bug中通過x-forwarded-for偽造了登入的ip,這就對日誌造成了影響,如果以後需要整理日誌,或者根據日誌找出不合規事件,那就會存在很大的影響。

JSONP安全性分析

1 主要是callback引數有沒有進行適當的處理,會造成xss漏洞,結合csrf可以獲取資訊。比方說引數為callback alert 1 truecallback。所以需要伺服器b進行請求過濾轉碼。2 這段 的大致意思就是假設黑客發給c乙個惡意鏈結,c開啟以後,這個惡意鏈結中的js 會執行,會向...

scanf安全性分析

int scanf char 是其函式宣告。其中只要求第乙個引數是char 即字串即可,而對於其他引數則沒有限制型別和個數,這其中有安全風險。舉個例子 scanf d c i,ch 如果從鍵盤上輸入的資料是 30 a?則變數ch的值是空格字元而不是字元 a 這種錯誤很隱蔽,因此建議讀者盡量不要使用s...

4 資料庫安全性

先建立乙個檢視 然後將檢視的許可權授予給使用者 create view cs student as select from student where sdep cs grant select on cs student to 王平 grant all privileges on cs studen...