Truy cập thử thách ta được giao diện như sau:
Hình dung ban đầu sẽ là đi hết 4 stage đễ nhận được cờ .
Với Stage này ta thấy giá trị của input là một biểu thức tính toán bị Obfucate nên ta sẽ dùng công cụ deobfucate để tính toán ra giá trị của input. Ở đây mình sử dụng: de4js | JavaScript Deobfuscator and Unpacker
Ở đây paste chuỗi vào và chọn tùy chọn eval nó sẽ tính toán giá trị của biểu thức đó ra ta được ‘fnb’ chỉ cần nhập chuỗi này là sẽ qua Stage mới.
Tiếp tục tìm input của a để để thõa biểu thức đề bài cho , ở đây parseInt() chỉ là đảm bảo chuỗi nhập vào được chuyển thành số thôi. Mình sẽ có ví dụ sau:
+Trong JS, NaN
có kiểu number
(chuẩn IEEE-754)
+Giá trị sẽ là false nếu so sánh giữa NaN với nhau
+Và biểu thức (NaN-1<NaN) sẽ là false
Bạn cũng có thể tìm hiểu ở trang này để biết thêm chi tiết: Equality comparisons and sameness - JavaScript | MDN
Rõ vậy nên ta chỉ cần nhập ‘NaN’ thì sẽ pass qua stage tiếp theo.
Tiếp tục thì trong Js ta có Math.abs(1/-0) >1 . Tại sao à: