Mình đang gặp một vấn đề với 1 victim site sử dụng cloudflare chống crawl rất lạ. Với kinh nghiệm auto hơn 10 năm của mình thì đây là trường hợp rất lạ và chưa hiểu được. Nếu request tới trang web này sử dụng curl, hay trình duyệt chế độ headless (không hiển thị browser) thì bị captcha liền. Nhưng không dùng chế độ headless browser (Có của sổ browser hiển thị) thì lại ko bị gì. Về tham số request y hệt chỉ khác là có headless = true | false mà kết quả khác nhau hoàn toàn. Mình ko hiểu cơ chế thằng CF nó detect kiểu gì. Nay đưa lên đây ae thảo luận xem ai đã gặp tình huống này chưa?
Cách này nó load 1 script trước để check các info của trình duyệt rồi sinh ra 1 token validate sau đó refresh page. Còn đây ngay kết quả đầu tiên luôn nhé. Nên mình đoán nó detect phía server.... nhưng bằng kỹ thuật gì thì chưa rõ. Dùng headless browser thì các script vẫn chạy mà.
Nếu detect phía backend mà lần đầu thì em đoán chỉ có check header thôi! Đang định nói giống bác mà chắc site ngách !
anh lấy fiddler, bắt cái gói server response đầu tiên mà nó trả về trong trường hợp headless và non-headless xong so sánh thử. nếu vẫn không ra thì anh replace các string nhạy cảm chưa info/từ khóa rồi dán lên đây ae cùng bóc tách. Em vẫn tin là nó phải load script thứ hai để validate, vì http request không thể mang thêm thông tin gì khác ngoài đám header
Đã ổn với headless browser rồi nhé. Nhưng vẫn không thành công với curl mặc dù pass header giống y hệt. Nhưng mình bỏ qua phi vụ này rồi. Giả sử có dùng curl được nhưng khi request quá nhiều mà CF ko tạo dc token nó cũng bắt nhập captcha liền à. Mình bypass vấn đề này của thằng CF bằng cách để sắc xuất 2% request sẽ hiện full trong 10 giây trên headless browser để các script đính kèm của CF tạo token.... và mọi thứ ổn. Có điều dùng headless browser tốn tài nguyên hơn CURL.
Cách này nó load 1 script trước để check các info của trình duyệt rồi sinh ra 1 token validate sau đó refresh page. Anh có cách nào lấy token vụ này ko anh? ko dùng headless ?
Có!! Đọc code JS của nó và tìm cách generate ra cái token đó.... Quan trọng victim có đủ sexy để mà trèo 7 quả núi không thôi.
Em mới test thử 9gag[.]com, trình duyệt thì vẫn bình thường mà, cUrl thì bị lock. Các bác thử xem thế nào!