Yozzang의 해킹일기 💻
article thumbnail
728x90

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

 


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

 

cobolt

## 문제 해석 :

해당 문제는 이전 문제인 gremlin과 비슷하니 다른 부분만 짚어서 보겠다.

여기서 우리가 주목해야 할 부분이 if($result['id'] == 'admin')이다

위 코드를 통해 우리는 admin이라는 ID로 로그인해야 문제를 풀 수 있는 것을 알 수 있다.

 

## 문제 풀이 :

  1. ID란에 admin을 추가한다.
  2. SQL 쿼리문이 참이 될 수 있도록 해준다.

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

### 실행 결과 :

## 추가 해석 :

쿼리문 : select id from prob_cobolt where id = ''admin'or'1' and pw=md5('')

OR연산자는 AND연산자보다 늦게 처리되므로 다음과 같이 OR연산자 기준으로 조건을 두개로 나뉠 수 있다.

*** id = 'admin' or '1' and pw=md5('') ***

or 연산자의 왼쪽 부분인 ID부분은 항상 참이기때문에 해당 쿼리문은 참인 것을 알 수 있다.(admin이라는 ID가 prob_cobolt라는 데이터베이스에 존재하기 때문에)

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

Lord of SQLInjection (6. darkelf)  (0) 2022.05.19
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
Lord of SQLInjection (1. gremlin)  (0) 2022.05.14
profile

Yozzang의 해킹일기 💻

@요짱

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