Cloudflare Challenge page 우회기
하루하루 매크로 돌리는 사이트에서 Cloudflare Challenge page 리캡챠를 도입하였다.
대게 리캡챠 통과 방법은 쿠키값이랑 UserAgent의 두개의 조합으로 Cloudflare Challenge page 서버에서 체크하는 식이다.
![](https://www.kudryavka.me/content/images/2023/10/image-1.png)
쿠키 조작 툴로 순수 request를 보내 Cloudflare Challenge page를 통과하는건 확인할수있다.
문제는 사람 검증 통과 유무인데 단순 유저가 보기에는 버튼클릭이 전부인지라 영상처리를 이용하여 시도하였다
![](https://www.kudryavka.me/content/images/2023/10/image-2.png)
보통 이런사이트들은 핑거프린터 또한 있어서 영상처피로 찾은 특징점에 마우스를 가져다 대면서 랜덤한값으로 움직이게 처리하였다. 이 영상을 보면 알겠지만 실패로 끝났다.
유로 API두 사용하였지만 아쉽게두 Cloudflare Challenge page를 우회하는 API를 제공하는곳은 없다.
2captcha API도 제공은하지만 해당 API는 Cloudflare Challenge page에서의 페이지 변환은 두개인데 그 사이에 적절하게 특정 스크립트를 넣어야하기때문에 매크로로 처리하는건 사실상 불가능하다. 또한 몇몇 사이트는 Cloudflare Challenge page지원한다구 하였지만 내린곳이 꽤 많다.( 덕분에 여러 API에 현금을 충전했다. )
![](https://www.kudryavka.me/content/images/2023/10/image-5.png)
![](https://www.kudryavka.me/content/images/2023/10/image-3.png)
![](https://www.kudryavka.me/content/images/2023/10/image-4.png)
오픈소스 조차도 다음과 같은 댓글이 있다.
![](https://www.kudryavka.me/content/images/2023/10/image-6.png)
진짜 답이없어서 크롬 드라이브 코드를 분석 하였다. 크롬 드라이브를 보면 실제 API를 가짜 API이름으로 한번 더 래핑하는걸 볼수있다.
![](https://www.kudryavka.me/content/images/2023/10/image-7.png)
구글 공개하는 크롬 드라이브는 내부용이아니라 외부용이라는걸 간접적으로 알수 있다.
드라이브 일부분을 패치하여 Cloudflare Challenge page 해당 문제를 해결했다.
![](https://www.kudryavka.me/content/images/2023/10/image-8.png)
덕분에 나의 봇이 다시 정상적인 동작을 하기 시작하였다.