1. Đề bài Cho web có tên là “emoji voting”
Source code emoji voting
2. Giải quyết Dạo quanh source code một vòng và tôi phát hiện ra một số thứ như vầy.
Api với endpoint “/api/list” có nhận giá trị “order“ từ body của request (giá trị này người dùng kiểm soát được) và gửi tới function “getEmojis()” để truy vấn database
Đi vào function “getEmojis()”, thì thấy câu truy vấn database được nối chuỗi, và không có filters hay encode gì cả.
1. Đề bài Đề bài cho một trang web như vầy
Web MiniSTRyplace
Và source code như vầy
Source code MiniSTRyplace
2. Giải quyết Nhìn vào hình source code bên trên, điều đầu tiên đập vào mắt là dòng code số 17.
include('pages/' . (isset($_GET['lang']) ? str_replace('../', '', $_GET['lang']) : $lang[array_rand($lang)])); Đúng vậy, đoán ngay ra luôn là dạng LFI rồi.
Có 1 điểm cần lưu ý ở đây, là giá trị của $_GET[‘lang’] sẽ bị replace chuỗi ‘.
1. Đề bài Bài này cho một web như vầy.
Cho luôn source code như vầy Vậy bài này lại là một bài review source code.
2. Giải quyết Các bạn để ý thì ảnh trên, bài thi cho địa chỉ web, khi truy cập vào thì có chức năng enroll với input cần điền vào là một email. Đọc vào source code thì có luôn chức năng send mail.