Hackthebox - Neonify
Contents
Description
Link challenge tại đây
Step
Đây là giao diện chính của challenge:
Đọc source code ta có thể thấy ứng dụng chạy bằng Ruby và sử dụng ERB template để render. Đây có thể là một bài SSTI Ruby ERB Template.
Ngoài ra input còn bị regrex match với tất cả kí tự từ 0 tới 9, từ a tới z.
Ở đây regex sẽ chỉ match từ đầu tới cuối ở trong một dòng, tức là nếu chèn vào một string bất kì rồi dùng ký tự new line (\n)
để xuống dòng, rồi chèn vào payload SSTI thì sẽ exploit thành công.
Đọc thêm tại đây: https://davidhamann.de/2022/05/14/bypassing-regular-expression-checks/
Payload:
keke
<%= File.open('flag.txt').read %>
Endcode payload:
Chèn payload và gửi request:
Flag: HTB{r3pl4c3m3n7_s3cur1ty}