Sau buổi học 1-Day của CyberJutsu, mình cũng muốn tự làm lại để hiểu hơn về CVE này, lần đầu tập viết nên còn nhiều chỗ sai sót, mọi người góp ý giúp mình. Cảm ơn mọi người nhaaa!

Tổng quan và Setup

Frappe là một Open-source web application framework được xây dựng, phát triển bằng Python và Javascript

                                   Độ phổ biến của framework Frappe

                               Độ phổ biến của framework Frappe

ERPNext được xây dựng trên Frappe Framework. ERPNext cung cấp các tính năng phục vụ việc kinh doanh, như quản lý kế toán, quản lý hàng tồn kho, …

CVE-2019-14966 là CVE liên quan tới lỗ hổng bảo mật SQL được xác thực xảy ra trên Frappe Framework

Untitled

Ta có được những thông tin sau:

Recon

Hiểu được cách tổ chức code

Sau khi dùng thử ứng dụng, ta có thể nhận ra rằng nhiều cú request POST có sử dụng parameter cmd để gọi tới các API:

Untitled

Thực hiện việc tìm kiếm hàm is_chat_enabled và tiến hành đặt breakpoint. Có một điều cần lưu ý rằng, việc xử lý các cú POST sẽ do phía Backend xử lý (ở đây là Python xử lý) nên để nâng cao hiệu quả tìm kiếm, ta có thể filter file cần tìm:

Untitled

Untitled

Gửi lại cú request và thấy breakpoint được hit. Ngoài ra chúng ta sẽ nhận thấy sự tương quan của đường dẫn tới API và giá trị biến cmd được gọi: