# 邏輯漏洞舉例

如果 1 件 = 100 元,10 件 = 1000 元,那麼 -1 件 是不是就會是 -100 元。
在分析一個網站的時候,最好把每一個頁面都分析清楚。

這邊用的靶場就不用 DVWA, 會用這個

# Excessive trust in client-side controls

這邊先用 butpsuite 分析封包,發現他會把價錢和數量都送給後端。因此我們改一下送出去的價錢就好了。

# High-level logic vulnerability

封包分析完後只能送數量,所以我們送出一個負的數量,他說總共的價格不能小於 0, 因此我們選很多商品讓價格大於 0, 這樣就可以了。

# Low-level logic flaw

在這個實驗中,沒有辦法送負的商品數量,因此思路是用溢出的方式,超過他整數的範圍,讓他溢出到負數的部分,讓他在 1~100 之間。
這次使用到 burpsuite 的自動發送封包,之前都是在 repeater 裡面,把封包送到 Intruder 那邊,用 null payload, 就可以不斷發送封包,因為最大送出的數量是 99, 只好送出很多個 99 數量的封包。

# Inconsistent handling of exceptional input

在 burpsuite 要發現一個網站底下的目錄可以用 target-> sitemap -> 右鍵 -> engagement tools -> discover content。
在掃瞄的過程中就可以掃到 admin 目錄了。

先註冊一遍用戶。而這個頁面有給我們一個信箱,在註冊的時候可以用這個信箱。而註冊之後發現還是沒有辦法進去 admin 的頁面。

架設我們在註冊的時候把 email 命名的很長,發現他最大只到 255 個字元,因此我們可以把 email 變成這樣: <username>@dontwannacry.com.0aa800ed0436e336805a8b91006900df.web-security-academy.net 。這樣註冊完成之後再去 username 裡面看,就能發現他只有 <username>@dontwannacry.com 。實際上在我們應該是要建造一個 dontwannacry.com.0aa800ed0436e336805a8b91006900df.web-security-academy.net 這樣的郵件服務器,但是這個網站幫我們都處理好了,所以只要在 web-security.net 這裡註冊就好了。

註冊完成看一下就可以使用 admin 了。