# Tìm hiểu lý thuyết Web Application Technologies
https://hackmd.io/@O_v7bSgGTW6665BSrrI8eQ/r1eZQOCxp
# Write-up picoCTF GET aHEAD
**Mô tả**
Tìm flag tại http://mercury.picoctf.net:34561/
**Hints**
1. Có thể có nhiều hơn 2 sự lựa chọn.
2. Kiểm tra các công cụ như Burp Suite để sửa đổi Request của bạn và xem Respond.
**Solution**
- Mở Burp Suite => Proxy => Intercept => Bật Intercept => Open browser, truy cập vào liên kết để tìm flag.

Từ tab Proxy => Intercept, có thể chặn các Request và Respond HTTP được gửi giữa trình duyệt và máy chủ mục tiêu.
- Sau khi lấy được Request, gửi Request đến Repeater => Send để xem Respond. Phương thức sử dụng cho Red là GET. Phương thức sử dụng cho Blue là POST.

- Tiêu đề có tên là GET aHEAD, nên cần thay đổi phương thức GET thành phương thức HEAD, Send để xem Respond.

Flag: picoCTF{r3j3ct_th3_du4l1ty_8f878508}
# Write-up picoCTF Cookies
**Mô tả**
Tìm flag tại http://mercury.picoctf.net:29649/
**Solution**
- Truy cập vào liên kết để tìm flag.

- Nhập "snickerdoodle" => Search

- Inspect => Application => Cookies => http://mercury.picoctf.net:29649/

- Xuất hiện dòng text "Select a cookie to preview its value". Nên cần thay đổi value để tìm flag.

- Thay đổi value đến giá trị 18, tìm được flag.

Flag: picoCTF{3v3ry1_l0v3s_c00k135_a1f5bdb7}
# Write-up Root-me HTTP - IP restriction bypass
**Mô tả**
Tìm flag tại http://challenge01.root-me.org/web-serveur/ch68/
**Solution**
- Mở Burp Suite => Proxy => Intercept => Open browser, truy cập vào liên kết để tìm flag => Bật Intercept => login

- Sau khi lấy được Request, gửi Request đến Repeater => Send để xem Respond.

- IP không thuộc mạng LAN. Cần thêm tiêu đề X-Forwarded-For, X-Forwarded-For xác định địa chỉ IP gốc của máy khách kết nối với máy chủ web thông qua máy chủ proxy.
- Các dải địa chỉ IP cụ thể được dành riêng cho các loại mạng khác nhau và 192.168.0.1 được dành riêng cho các mạng như mạng LAN.
- Thêm X-Forwarded-For: 192.168.0.1 sau Host => Send, tìm được flag.

Flag: Ip_$po0Fing
# Write-up Root-me HTTP - User-agent
- Mở Burp Suite => Proxy => Intercept => Bật Intercept => Open browser, truy cập vào liên kết để tìm flag.

- Sau khi lấy được Request, gửi Request đến Repeater => Send để xem Respond.

- Sửa tiêu đề User-agent thành "admin" => Send, tìm được flag.

Flag: rr$Li9%L34qd1AAe27
# Write-up Root-me HTTP – Headers
- Mở Burp Suite => Proxy => Intercept => Bật Intercept => Open browser, truy cập vào liên kết để tìm flag.

- Sau khi lấy được Request, gửi Request đến Repeater => Send để xem Respond.

- Respond trả về "Header-RootMe-Admin: none". Thêm "Header-RootMe-Admin: none" vào Request => Send, tìm được flag.

Flag: HeadersMayBeUseful
# Write-up Root-me HTTP – POST
- Mở Burp Suite => Proxy => Intercept => Open browser, truy cập vào liên kết để tìm flag => Bật Intercept => Give a try!

- Sau khi lấy được Request, gửi Request đến Repeater => Send để xem Respond.

- Sửa giá trị score thành 999999 => Send.

- Respond trả về: <form action="" method="post" onsubmit="document.getElementsByName('score')[0].value = Math.floor(Math.random() * 1000001)"> nên cần thay đổi giá trị của score lớn hơn 1000001. Sửa giá trị của score thành 1111111 , tìm được flag.

Flag: H7tp_h4s_N0_s3Cr37S_F0r_y0U