Yozzang의 해킹일기 💻
article thumbnail
728x90

이번 포스트에서는 Lord of SQLInjection의 vampire문제를 다루겠다.

 


문제를 클릭하면 다음과 같이 쿼리와 php코드가 표시된 화면을 볼 수 있다.

vampire

## 문제 해석 : 

해당 문제는 preg_match() 함수를 통해 '를 필터링하고 있으며, strtolower() 함수를 통해 입력된 값을 소문자로 바꾸고, str_replace() 함수를 통해 admin을 공백으로 바꾼 것을 알 수 있다.

또한 id값이 admin일때만 해당 문제를 해결할 수 있는 것으로 보인다.

 

## 문제 풀이 : 

우선 ADMIN을 넣어서 시도해보겠다.

### 사용할 공격문 : id=ADMIN

### 실행 결과 :

1차 시도

화면에 변화가 없다. 즉, 우리가 입력한 ADMIN이 admin으로 변경된 다음에 str_replace()에 의해 공백으로 치환된 것이다.

 

그럼 admin을 2번 입력하여 공격을 시도해보겠다.

### 사용할 공격문 : id=adadminmin

### 실행 결과 : 

공격 성공

## 추가 해석 : 

쿼리문 : id=adadminmin

여기서 우리가 입력한 공격문 중의 ad와 min사이의 admin이 치환되어 남은 쿼리가 admin이 되므로 공격에 성공한 것이다. 즉 ad'admin'min -> ad''min -> admin의 순서로 동작하여 admin이라는 값이 나온 것이다.

'Wargame > Lord of SQLInjection' 카테고리의 다른 글

Lord of SQLInjection (11. golem)  (0) 2022.05.27
Lord of SQLInjection (10. skeleton)  (0) 2022.05.25
Lord of SQLInjection (8. troll)  (0) 2022.05.21
Lord of SQLInjection (7. orge)  (0) 2022.05.20
Lord of SQLInjection (6. darkelf)  (0) 2022.05.19
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!