Yozzang의 해킹일기 💻
article thumbnail
728x90

이번 포스트에서는 Lord of SQLInjection의 darkelf문제에 대해 다루겠다.

 


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

darkelf

## 문제 해석 :

해당 문제는 preg_match() 함수를 통해 prob, _, .,(, ), or, and를 필터링한 것을 알 수 있다.

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

 

## 문제 풀이 :

먼저, 원래의 쿼리문을 무효화 시키고 id값이 admin이 되도록 만들어본다.

### 사용할 공격문 : pw=' or id='admin

### 실행 결과 : 

1차 시도

예상했던 대로 "OR"이 필터링된 것을 확인할 수 있다.

 

그럼 문자로 된 OR말고 OR연산자의 기호를 통해 공격문을 작성해보겠다.

참고로 OR연산자의 기호는 "||"이다.

### 사용할 공격문 : pw=' || id='admin

### 실행 결과 :

공격 성공

## 추가 해석 :

SQL Injection 우회에 자주 사용될 연산자 우회를 정리하자면 다음과 같다.

연산자 우회 방법
OR - ||
AND - &&
- URL Encoding : %26%26
= (등호) - like ex) pw like "%a%"
- in ex) pw in "1234"
- instr() ex) instr(pw, "password")
- <, > ex) length(pw) = 8 ---> length(pw) > 7 and length(pw) < 9

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

Lord of SQLInjection (8. troll)  (0) 2022.05.21
Lord of SQLInjection (7. orge)  (0) 2022.05.20
Lord of SQLInjection (5. wolfman)  (0) 2022.05.18
Lord of SQLInjection (4. orc)  (0) 2022.05.17
Lord of SQLInjection (3. goblin)  (0) 2022.05.16
profile

Yozzang의 해킹일기 💻

@요짱

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