728x90
이번 포스트에서는 Lord of SQLInjection의 skeleton 문제를 다루겠다.
문제를 클릭하면 다음과 같이 쿼리와 php코드가 표시된 화면을 볼 수 있다.
## 문제 해석 :
해당 문제는 preg_match() 함수를 통해 prob, _, ., (, )를 필터링한 것을 알 수 있다.
쿼리문의 마지막 부분에 and 1=0이 붙어있는 것을 보면 해당 쿼리는 무조건 False가 반환한다는 것을 알 수 있다.
또한 id값이 admin이 될때만 문제를 해결하는 것으로 보인다.
## 문제 풀이 :
우선 id를 admin으로 바꿔야 하기 때문에 id 바꾸는 공격문을 먼저 삽입한다.
### 사용할 공격문 : pw=' or id = 'admin
### 실행 결과 :
id값은 바뀌었지만 쿼리문 뒤에 붙어 있는 1=0 때문에 쿼리문이 거짓을 반환하여 공격에 실패한 것을 확인할 수 있다.
그럼 admin뒤에 붙어 있는 쿼리문을 주석 처리하여 공격해보겠다.
### 사용할 공격문 : pw=' or id='admin' %23
### 실행 결과 :
공격에 성공한 것을 확인할 수 있다.
*** 참고로 #의 URL 인코딩 문자는 %23이다. ***
'Wargame > Lord of SQLInjection' 카테고리의 다른 글
Lord of SQLInjection (12. darkknight) (2) | 2022.05.28 |
---|---|
Lord of SQLInjection (11. golem) (0) | 2022.05.27 |
Lord of SQLInjection (9. vampire) (0) | 2022.05.22 |
Lord of SQLInjection (8. troll) (0) | 2022.05.21 |
Lord of SQLInjection (7. orge) (0) | 2022.05.20 |