1.Information Gathering

: Port Scan

 

 

 

(1) 첫 번째 난제!

Bypass Access Control Mechanism

 

웹에 접속해 보니

허용 중인 아이피 대역이 명시되어 있는데

정상 접속하려면 저쪽에서 요구하는

아이피 대역을 사용해야 한다.

 

이런 경우

HTTP 헤더 중 하나인

XFF(X-Forwarded-For)를

추가하여 간단히 해결이 가능한데

 

실행해 보면

 

정상 접속이 가능하며

동일한 방법으로

버프로 XFF를 추가해

Request를 날리면,

정상 접속이 가능하다.

 

XFF는

서버에 요청한 사용자의 IP를 식별하기 위한

표준 기능!

 

 

매 요청마다 넣어주기 번거로우니

버프에 Match and Replace 규칙을

추가한다.

이제 요청 헤더에 XFF가 자동 삽입된다.

 


 

 

 

(2) 두 번째 난제!

이런저런 시도를 해보았지만

로그인이 불가한 상황.

 

 

혹시나 하는 마음으로

디렉터리를 검색

 

몇 개 나오길래 요청해 보니

모두 login.php 페이지로

리다이렉트 된다.

 

 

응답 내 HTTP 코드를

302에서 200으로 변조 후

재 요청해 보니

페이지 정상 확인이 가능했는데

 

 

정상적으로 기능을 사용하려면

매번 302를 200으로 바꿔주던가

Location의 리다이렉트 주소를

접속 경로로 변경해야 한다.

 

 

다시 버프에 해당 룰을 만들어 준 뒤

계속 점검을 해나간다.

 

 

응답 코드를 바꾸던

 

Location 값을 없애던 택일

 

 

 

 

 

2. Exploitation

 

직원 명을 검색하는 경우

노출되는 파라미터에

참 / 거짓 구문을 입력해 보니

조회되는 데이터가 다르고

 

이외 다른 구문을 입력해 보니

sql 인젝션이 가능한 상황이다.

 

 

공격 전

가장 먼저 확인해야 할 것은

SQL의 종류인데

 

어떤 종류의 SQL을 사용하는지 알아야

데이터 조회에 필요한 구문이 먹힌다.

 

 

SQL 종류 확인 후

테이블 정보를 조회한 뒤

테이블의 컬럼을 알아본다.

 

 

이 대상에서 사용하는 SQL은

별도의 컬럼 필드가 없으므로

데이터를 생성할 때의 쿼리를 담고 있는

sql 필드의 내용을 통해 컬럼 이름을 확인해야 한다.

 

 

 

사용자 데이터 추출 후

ssh로 로그인을 시도하면

 

침투 성공

 

 

 

 


 

 

3. Privilege Escalation

 

: privileges check

 

: 모든 디렉토리 검색

> key는 sql 인젝션이 가능했던 것을 토대로 검색

C: > where /r C:\ *무엇*
 
 

 

특정 파일 내 관리자 비번이 적혀있고

ssh로 로그인 시도하면

 

 

728x90

+ Recent posts