
Quickjack은 고급 클릭재킹 및 프레임 슬라이싱 공격을 직관적으로 생성할 수 있는 포인트 앤 클릭 도구입니다.
Quickjack은 고급 및 은밀한 클릭재킹 및 프레임 슬라이싱 공격을 수행하기 위한 직관적인 포인트 앤 클릭 도구입니다.
Quickjack 도구를 http://samy.pl/quickjack/quickjack.html에서 직접 사용하세요.
제작: @SamyKamkar // [email protected] // http://samy.pl // 2014년 12월 22일
코드는 github에서 확인할 수 있습니다.
Quickjack을 사용하면 클릭재킹을 쉽게 수행하거나, 많은 웹사이트에서 사용자의 '클릭'을 가로채어, 사용자가 자신의 쿠키를 사용하여 알지 못하게 버튼이나 링크(예: Facebook 좋아요 버튼)를 클릭하도록 강제할 수 있습니다. 자동 생성된 코드를 어떤 사이트에든 배치하면 여러 사용자로부터 수천 번의 클릭을 빠르게 얻거나, 피해자를 특정 URL로 유인하여 표적 공격을 수행할 수 있습니다. 또한 사용자가 당신이 가지고 있지 않은 정보를 가지고 있다고 믿게 속이거나, 사용자가 자신도 모르게 정보를 제공하도록 강제할 수 있습니다.
이 데모에서는 사용자가 모르게 Facebook 좋아요를 가로채는 동시에, 사용자의 imgur 이름을 우리 사이트에 표시하는 방법을 보여드리겠습니다.
Quickjack은 쉬운 포인트 앤 클릭 코드 생성뿐만 아니라, 기본 iframe이 사용자의 마우스 움직임을 따라 페이지 어디든 이동하고, 클릭재킹 프레임을 숨기며, 사용자의 클릭이 언제 이루어졌는지 감지하여 클릭재킹을 제거하고 사용자가 실제로 의도한 클릭을 수행할 수 있도록 하는 방법을 지원합니다.
Quickjack에는 페이지의 작은 부분을 캡처하여 사용자에게 표시함으로써, 당신이 그에 대한 정보를 가지고 있다고 믿게 만드는 프레임 슬라이싱 도구도 포함되어 있습니다. 예를 들어, 일반적으로 사용자의 이름이 포함된 웹사이트의 일부를 슬라이스한 후, 해당 프레임 슬라이스를 자신의 사이트에 배치하여 사용자의 이름을 알고 있는 것처럼 보이게 할 수 있습니다.
프레임 슬라이싱을 사용하여 사용자로부터 정보를 얻을 수도 있습니다. 예를 들어, 사이트에서 사용자 이름의 여러 문자를 슬라이스한 후 재배열하고 다른 문자와 숫자를 추가하여 captcha로 만듭니다. 사용자가 captcha를 입력하면, 그들은 단지 자신의 이름의 아나그램(및 당신이 제거하는 다른 문자)을 입력하는 것이며, 당신은 그들의 이름을 알아낼 수 있습니다!
이 프로젝트에서는 Quickjack이 이러한 방법을 어떻게 수행하는지, 클릭재킹과 프레임 슬라이싱이 어떻게 작동하는지, 그리고 Quickjack 도구에 제시된 더 강력한 클릭재킹을 가능하게 하는 일부 고급 기술과 Facebook과 같은 사이트에서의 실제 데모를 살펴볼 것입니다.
Quickjack은 원래 더 이상 온라인에 있지 않은 '케이크 슬라이싱' 앱을 기반으로 합니다.
클릭재킹은 처음으로 놀라운 Robert Hansen과 Jeremiah Grossman에 의해 발견되었습니다.
Quickjack 도구는 http://samy.pl/quickjack/quickjack.html에서 사용할 수 있습니다.
Quickjack을 여기 온라인에서 간단히 사용하거나, 제 github에서 소스 코드를 직접 다운로드할 수 있습니다: https://github.com/samyk/quickjack
Facebook에 대한 클릭재킹 공격을 몇 초 만에 생성하는 방법을 비디오에서 확인할 수 있습니다.
HTML 데모(아마 오래가지 않을)를 여기에서 확인하세요: http://samy.pl/quickjack/pwned.html 이 페이지를 클릭재킹합니다: http://samy.pl/quickjack/fb.html (Facebook으로의 iframe을 포함합니다)!
클릭재킹은 놀라운 Robert Hansen과 Jeremiah Grossman에 의해 처음 발견되었습니다.
Quickjack은 클릭재킹을 재미있고 쉽게 만듭니다! 또한 클릭재킹을 강력하고 은밀하게 만드는 몇 가지 고급 기능을 추가합니다.
마우스를 추적함으로써 Quickjack은 숨겨진 클릭재킹 iframe을 사용자의 마우스 포인터 바로 아래에 지속적으로 유지합니다. 이렇게 하면 사용자가 페이지에서 클릭하는 순간 클릭이 가로채집니다.
전통적으로 클릭재킹 공격을 수행하는 사람은 교차 도메인 정책으로 인해 클릭재킹이 발생한 시점을 감지할 수 없습니다. 그러나 우리는 포커스가 부모 창(우리가 제어하는 창)에 있도록 하여 이를 우회합니다. 클릭재킹 프레임 내에서의 클릭이나 포커스를 감지할 수는 없지만, 부모 창(우리가 제어하는 창) 내에서 포커스 손실(blur)은 감지할 수 있습니다!
즉, 사용자가 iframe 내부를 클릭하는 순간(알지 못한 채), 우리 창이 blur되어 특별한 호출을 트리거합니다. 이 호출은 클릭재킹 iframe을 더 숨겨, 사용자가 수행하는 다음 클릭이 실제로 그들이 있는 페이지에서 발생하도록 합니다! 대단하죠!
레퍼러 제거는 HTTP 리퍼러를 제거하여 대상 도메인이 클릭재킹 공격의 출처를 알 수 없게 하는 방법입니다. 여러 리디렉션을 사용하거나 HTTPS를 전환하여 선택적으로 허용됩니다.
일부 브라우저에서 사이트가 프레임 버스팅/탈출을 사용하는 것을 방지하기 위해 오래된 프레임 버스팅 회피 방법을 사용합니다.
재미있고 직관적인 프레임 슬라이싱을 사용하여 모든 페이지에서 프레임을 잘라낼 수 있습니다. 다음은 이미지가 아닌 imgur의 실제 프레임 슬라이스입니다.
X-Frame-Options HTTP 헤더를 사용하거나 OWASP의 다른 훌륭한 지침을 따라 quickjacking, clickjacking 또는 frame slicing을 방지할 수 있습니다.
언제든지 질문이 있으시면 연락 주세요!
Twitter에서 @SamyKamkar를 팔로우하세요!
더 많은 제 프로젝트는 http://samy.pl에서 볼 수 있으며, [email protected]로 연락 주세요.