代號A1金融交易平台漏洞挖掘

2022-07-25 16:00:35 字數 1934 閱讀 9253

前言

分析某金屬交易平台後台管理軟體,利用sql注入達到提權目的(演示敏感內容將會打碼處理)。

工具

1..net framework

2. exeinfope

3..net reflector 

漏洞分析

首先我們登入軟體檢視軟體有哪些功能(這裡我有乙個許可權不足的帳號)。

登入成功後我們會看到如下選單內容,隨便點開幾個介面看看,檢視有資料並且操作正常。

我們使用exeinfo工具檢視launcher是什麼語言開發的,是否帶殼

看到這個資訊我們發現是.net開發的程式,我們可以使用net reflector 來檢視程式原始碼。

program是.net程式的入口點,我們可以從program下手檢視main裡面呼叫哪些內容

發現這裡有乙個主介面函式mainform,通過分析**找到合適的斷點,可以多下幾個斷點。比如:「messagebox.show」、"textbox.text"、"datagridview.datasouce"、「enable」。多嘗試一些然後根據堆疊回溯,找到你需要程式邏輯的位置。

我們隨便挑選乙個功能檢視,看看裡面**。發現裡面有sql語句,通過這個語句我們發現這個程式有sql注入漏洞。通過修改如何sql可以查詢更多資料,比如將時間條件移除這樣可以查詢出更多資料。

通過sql語句中使用ifnull函式這裡猜測使用mysql資料庫。那麼我們就採用mysql指令碼攻擊。

1.查詢庫中所有表

select * from sysobjects where xtype='u';

--xtype='u':表示所有使用者表,

--xtype='s':表示所有系統表。

2.查詢表中所有列

select name from syscolumns where id=object_id('表名');
3.查詢表中所有列名和字段型別

select sc.name,st.name from syscolumns sc,systypes st where sc.xtype=st.xtype and sc.id in(select id from sysobjects where xtype='u' and name='table_name');
攻擊步驟:

1.找到select和insert、update、delete地方個一處,方便後面提權操作

2.執行sql查詢語句查詢庫中有哪些表結構

3.找到類似管理員或者,使用者資料表結構

4.檢視使用者或者管理員表資料,找到自己id對應的資料行

5.通過執行sql語句進行修改對應的資料達到篡改資料的結果 

漏洞總結

通過靜態程式,找到程式中使用sql語句的地方,靜態修改後動態執行,從而執行我們想要修改的資料,這個修改過程需要多次嘗試。通過伺服器返回的對應的錯誤資訊進行反覆修改嘗試,最終達到攻擊目的。

excel表中 A 1和A 1和 A1都有什麼不同

通俗一點解釋 countif a 1 a1,a1 指在a 1 a1中查詢與a1的資料相同的所在單元格的個數,當公式下拉時,就變成了countif a 1 a2,a2 countif a 1 a3,a3 但是 countif a 1 a1,a1 1這個公式只是乙個條件,不能單獨成立。當它找出所在區域中...

c語言那些細節之a 1和 a 1的區別

首先a是乙個陣列名,當看到這個a與 a時,一般我們的理解都是這個陣列的首位址。沒錯,如果加上列印的話,確實兩個值是一樣的。不過 a是整個陣列的首位址,a則是陣列首元素的位址,雖然值一樣,但是意義卻不相同。在此之前有必要先看下c程式在記憶體中的分布圖。下面來看乙個例子吧還是。示例 html view ...

linux shell 基礎語法A 1

從echo開始 echo可以看做print printf之類的東西。幾乎所有的shell指令碼都離不開echo。echo有如下幾個作用 1 輸出指令碼執行流程的提示資訊 2 互動式指令碼列印提示資訊 3 構建格式化的日誌 4 除錯指令碼時,可以用來列印出一些中間變數的值 當然也可以用bash x除錯...