보안/Web Hacking

웹 해킹 유데미 섹션 20,21

recordmastd 2025. 5. 14. 18:05

서버 = 컴퓨터

: 서버 역할을 하는 특정 어플리케이션(= 웹 서버)이 컴퓨터에 있다는 뜻

 

일반적으로 인터넷 서버는 인터넷에 연결된 모든 컴퓨터에서 액세스 가능 >> 클라우드에 호스팅되어 있다

서버에는 실제 IP가 있으며, 인터넷에 연결된 모두가 해당 컴퓨터와 통신 가능

 

웹 서버

- 이미지, 스타일 파일, HTML 파일 등 >> 웹사이트를 표시하고 렌더링하기 위한 파일

- 웹 어플리케이션 파일(데이터베이스와 상호작용) >> 데이터 처리를 위해 서버에서 실행

 웹 어플리케이션 자체에는 상품 정보가 저장되어 있지 않음. 상품 정보는 데이터베이스에 저장되어 있음

 

데이터베이스

- 수많은 테이블 형식으로 저장 (ex. 유저명, 유저의 비밀번호)


웹사이트를 해킹하는 방법

*웹 사이트: 웹 브라우저에 설치된 어플리케이션

1. 서버 해킹 (server side attack)

- 서버 쪽을 해킹하여 운영체제에 설치된 웹 서버나 기타 어플리케이션을 보고 컴퓨터에 접근할 수 있는 취약점 찾기

2. 웹사이트 관리자 해킹(client side attack)

- 관리자가 접근할 수 있는 정보를 활용해 사이트를 해킹

3. 웹 어플리케이션 해킹 (web applicaton pentesting)

- 관리자의 컴퓨터에 접근할 수 없는 경우, 그 사람의 웹사이트를 해킹하여 접근

 

모든 방법은 연결되어 있음


정보 수집

 

- 사용된 프로그래밍 언어, 대상ip주소, 도메인 이름 정보, 웹사이트에 사용된 기술, 서버 종류, db종류, DNS 레코드 정보 수집

 

- 목록에 없는 파일, 남들은 보지 못하는 서브도메인

 

Whois Lookup (조회)

 

- 서버, IP주소, 도메인 등 인터넷 리소스의 사용자를 찾는 데 사용하는 프로토콜(해킹아님)

 

Netcraft

- 웹사이트에 사용된 기술을 알 수 있음

 

- hosting history에서 서버 정보, 유닉스 mod_ssl 등의 정보를 알 수 있고 이는 컴퓨터의 취약점과 익스플로잇을 찾는 과정에서 매우 중요한 정보임

 

- site technology 섹션에서 server-side를 보면 해당 웹사이트가 PHP를 사용한다는 사실을 알 수 있음. 타깃을 정하고 코드를 실행할 때 PHP로 해야하기 때문에 매우 중요함(그래야 대상 웹사이트가 그걸 실행할 수 있음)

 

Robtex DNS Lookup

- 종합적인 DNS 정보

 

*DNS(domain name system): 도메인과 IP 주소를 서로 변환하는 역할

 

- reverse, 로 같은 서버에 있는 웹사이트를 찾을 수 있음

 

역방향 조회: IP주소로 연결된 도메인을 조회(but 서버에 연결된 모든 웹사이트를 못 찾을 수 있음)

- record로 DNS 레코드의 세부 사항을 볼 수 있음

 

A레코드: 도메인 이름을 ip주소로 변환하는데 사용되는 레코드, 웹사이트 파일을 호스팅하거나 포함하는 서버의 ip주소

 

- SEO: 검색 엔진 최적화

 

-shared: 대상 웹사이트의 ip

일반 캄퓨더는 ip를 가지고 있으며, ip주소를 이용해 대상 웹사이트에 액세스

->> 웹사이트 해킹에 실패해도 다른 웹사이트를 찾고 서버를 찾아서 타깃 사이트를 해킹할 수 있음

 

- 타깃 웹사이트의 보안력이 높지만 서버의 보안력이 낮을 때 사용

 

- 서브 도메인에서는 민감한 정보를 찾을 가능성이 있음

 

-도구: knockpy