파일 포함 및 임의 코드 실행이란 무엇입니까? - MalCare
게시 됨: 2023-04-13파일 포함 및 임의 코드 실행: 이달 초 WordPress에 구축된 비행기 티켓 웹사이트가 해킹되어 수십만 방문자의 개인 데이터가 노출되었습니다. 해커가 해킹하는 이유 에 대한 이전 게시물에서 데이터 도용, 스팸 이메일 전송, 검은 모자 SEO 기술을 사용하여 자체 제품 순위 지정 (권장 읽기 – 제약 해킹) 등을 포함하여 해커가 해킹하는 모든 이유에 대해 논의했습니다.
해커가 웹사이트를 해킹하는 방법을 배우는 것이 해커를 방지하는 열쇠이므로 이전 기사에서 WordPress 웹사이트에서 수행되는 가장 일반적인 해킹 공격을 나열했습니다.
일반적인 해킹 공격에 대해 이야기할 때 무차별 암호 대입 공격을 생각할 가능성이 큽니다. 그러나 파일 포함 및 임의 코드 실행이 WordPress 웹 사이트에서 가장 일반적인 해킹 공격 중 하나라는 사실을 알고 계셨습니까? 이 게시물에서는 이러한 공격을 자세히 이해하기 위해 이러한 공격에 대해 좀 더 자세히 살펴보겠습니다.
이러한 공격이 어떻게 작동하는지 이해하기 위해 가장 먼저 알아야 할 것은 이 공격이 PHP 파일과 관련되어 있다는 것입니다.이유가 궁금하시겠죠? 파일 포함 및 임의 코드 실행 공격 모두 PHP 파일을 사용하기 때문입니다.
그러나 PHP 파일은 무엇입니까? 부엌 캐비닛을 생각해보십시오. 캐비닛 안에는 설탕, 소금, 향신료, 식기 등과 같은 여러 품목이 있습니다. 각 품목은 주방에서 사용하는 용도가 있습니다.PHP 파일은 캐비닛이며 파일 내부의 코드는 해커가 원하는 특정 기능을 실행할 수 있게 해주는 항목입니다.이것이 해커가 JPEG 또는 PDF 파일과 같은 다른 파일보다 PHP 파일 업로드를 선호하는 이유입니다. JPEG 및 PDF 파일은 실행할 수 없습니다. 즉, 해커는 이러한 파일을 사용하여 기능을 실행할 수 없습니다. 읽기(즉 보기)만 가능합니다. 해킹된 사이트를 변경하는 데 사용할 수 없습니다.
웹사이트 서버에 PHP 파일을 업로드한 해커는 이를 사용하여 웹사이트에서 무엇이든 할 수 있습니다. 이것이 파일 포함 및 임의 코드 실행 공격을 실행하는 데 PHP 파일이 사용되는 이유입니다.
파일 포함 공격이란 무엇입니까?
이와 같은 복잡한 웹 사이트 공격을 이해하는 가장 좋은 방법은 실제 시나리오를 예시하는 것입니다. 기관의 웹사이트를 운영하고 있으며 그 사이트의 이름은 college.com이라고 가정해 보겠습니다. 몇몇 학생이 최근 대학 행사에서 찍은 사진을 게시할 수 있도록 사이트에 액세스할 수 있도록 허용합니다. 누군가 귀하가 제공한 액세스 권한을 오용하고 악성 PHP 파일(hack.php라는 이름)을 웹사이트에 업로드합니다. 목표는 대학 웹사이트를 통제하는 것입니다. 학생이 악성 PHP 파일을 업로드하면 기본적으로 업로드 폴더에 저장됩니다.WordPress의 기본 구조를 아는 사람은업로드된 파일이 어디로 가는지 알고 있습니다.
파일은 해커가 파일과 원격으로 상호 작용할 수 있도록 하는 문 역할을 합니다. 해커는 여전히 사이트를 제어할 수 없으며 통신 창만 있습니다. 이해를 돕기 위해 A라는 사람이 금지된 나라에 가고 싶어한다고 상상해 보십시오. 그래서 그는 사람 B라는 에이전트를 보냅니다. 사람 A는 해커이고 국가는 대학 웹 사이트를 나타내며 사람 B는 hack.php 파일입니다.
대학 웹사이트에 업로드된 PHP 파일 —-> 웹사이트 서버에 파일이 저장됨
B라는 사람은 몇 가지만 훈련받았고 그 정도밖에 할 수 없습니다. 따라서 A라는 사람은 다음에 무엇을 해야 하는지 지시해야 합니다. 같은 맥락에서 PHP 파일은 통신 창을 생성한 다음 해커의 추가 명령을 기다립니다.
웹사이트에 더 많은 파일을 업로드할 수 있는 방식으로 hack.php가 생성되었다고 가정해 봅시다. 해커는 웹사이트 서버에 이미 있는 hack.php를 사용하여 업로드할 파일(control.php라는 이름)을 만듭니다. 새 파일인 control.php는 해커가 웹 사이트에 대한 전체 액세스 권한을 가질 수 있도록 합니다. 그는 hack.php 파일에서 제공하는 창을 사용하여 control.php 파일을 사이트에 업로드합니다.웹 사이트 서버에 이미 존재하는 파일(hack.php)을 사용하여 control.php 파일을 업로드하는 과정을 Local File Inclusion 이라고 합니다 .
로컬 파일 실행의 좋은 예 중 하나는 Easy Forms for MailChimp WordPress 플러그인(v 6.0.5.5) 에서 관찰된 취약점입니다 . MailChimp 플러그인을 사용하여 웹사이트 소유자는 WordPress 사이트에 다양한 유형의 양식을 추가할 수 있습니다. 취약점으로 인해 해커는 MailChimp 양식을 사용하여 PHP 파일을 웹사이트 서버에 업로드할 수 있었습니다.파일이 웹사이트 서버에 저장되면 해커는 파일과 통신할 수 있었고 다양한 방법으로 서버를 제어하거나 사이트를 손상시킬 수 있는 코드를 실행할 수 있었습니다.
시나리오는 다음과 같습니다. 대학 웹사이트에 방화벽이 설치되어 있어 해커가 control.php를 업로드할 수 없습니다. 다른 별도의 파일을 업로드할 수는 없지만 파일을 '포함'할 수 있습니다. 이는 대학 웹 사이트 서버에 이미 있는 hack.php 파일 내에 파일을 삽입할 수 있음을 의미합니다. 해커가 control.php 파일을 업로드할 수 있는 경우 웹 사이트 서버는 파일을 읽고 해커가 원하는 모든 작업을 수행할 수 있는 내부 코드를 실행합니다. 그러나 그는 파일을 업로드할 수 없기 때문에 서버가 control.php 파일을 읽도록 하는 다른 방법을 찾아야 합니다. 해커가 생성한 경로는 온라인상에 존재하며 대학 웹사이트의 서버는 이를 읽을 수 있어야 합니다. 따라서 해커는 경로를 생성하고 대학 웹 사이트 서버가 읽을 수 있도록 온라인에서 사용할 수 있도록 합니다. 그런 다음 서버는 경로에서 얻은 코드를 실행하기 시작하고 코드는 해커가 사이트를 완전히 제어할 수 있는 방식으로 작성되었으므로 이제 해킹이 대학 웹 사이트를 제어합니다. 서버가 원격 파일을 읽도록 하는 이 프로세스를 원격 파일 포함이라고 합니다.
TimThumb 취약점 사례는 원격 파일 포함의 인기 있는 예입니다. TimThumb은 WordPress 사이트에서 이미지를 쉽게 편집할 수 있는 WordPress 플러그인이었습니다. imgur.com 및 flickr.com과 같은 이미지 공유 웹사이트에서 조달한 이미지를 누구나 사용할 수 있게 되었습니다. TimThumb은 imgur를 유효한 사이트(또는 화이트리스트)로 인식합니다. 이 기준을 이용하는 해커는 http://www.imgur.com.badsite.com과 같은 유효한 사이트를 언급하는 URL이 포함된 파일을 생성합니다.그들이 위에서 언급한 것과 같은 URL로 악성 파일을 업로드하면 플러그인은 파일이 유효한 웹사이트에서 온 것으로 믿도록 속입니다.그리고 웹사이트의 서버에 악성 파일을 업로드할 수 있습니다. 플러그인의 취약점을 이용하여 웹사이트 서버 외부에서 악성 파일을 포함시키는 이 모든 과정을 원격 파일 포함(Remote File Inclusion)이라고 합니다. 악성 PHP 파일이 웹사이트 서버에 저장되면 해커는 이 파일과 통신하여 원하는 작업을 실행할 수 있습니다.
임의 코드 실행 공격이란 무엇입니까?
원격 및 로컬 파일 포함이 무엇인지 알았으니 이제 임의 코드 실행이 무엇인지 이해해 보겠습니다. 파일 포함과 임의 코드 포함은 상호 연관되어 있습니다. File Inclusion의 경우 해커의 목표는 웹 사이트에서 임의의 코드를 실행하는 것입니다. 해커가 대학 웹사이트에 hack.php를 업로드한 다음 hack.php의 도움으로 control.php를 업로드한 로컬 파일 포함의 예로 돌아가 보겠습니다.임의 코드 실행이라는 문구는 해킹된 웹사이트에서 자신이 선택한 명령을 실행할 수 있는 해커의 능력을 설명합니다.PHP 파일(hack.php 및 control.php)이 웹사이트 서버에 있으면 해커는 원하는 모든 코드를 실행할 수 있습니다. 그가 업로드한 파일에서 코드를 실행하는 이 프로세스를 임의 코드 실행이라고 합니다.
해킹은 복잡합니다. 이 글에서는 간단하게 설명하려고 노력했지만 이해가 되지 않는 부분이 있다면 독자 여러분의 글을 부탁드립니다 . 다음 게시물에서는 XSS(Cross-Site Scripting)라는 워드프레스 사이트에 대한 또 다른 일반적인 해킹 공격에 대해 논의하고 있습니다. 구경하다.