Today I Learned …

[Lord of SQL Injection] 31번 zombie 풀이 본문

Wargame/Lord of SQL Injection

[Lord of SQL Injection] 31번 zombie 풀이

염베리 2022. 1. 3. 02:47

* 개인적인 공부 내용을 기록한 글입니다.


이전 문제

https://choco4study.tistory.com/130

 

[Lord of SQL Injection] 30번 ouroboros 풀이

* 개인적인 공부 내용을 기록한 글입니다. 이전 문제 https://choco4study.tistory.com/127 [Lord of SQL Injection] 29번 phantom 풀이 * 개인적인 공부 내용을 기록한 글입니다. 이전 문제 https://choco4study...

choco4study.tistory.com


31번 문제 zombie 분석 및 풀이

 

 

31번 문제는 다음과 같다.

 

 

필터링을 제외하면 이전 문제와 완전히 동일하다.

다만, 문자열 ace를 필터링하여 replace를 사용하지 못하게 막고 있기 때문에 Quine을 구현할 수 있는 다른 방법이 필요하다.

 

이와 관련해서 MySql Quine에 대해서 찾아본 결과,

MySql에서만 사용할 수 있는 또 다른 구현 방법이 있음을 알게 되었다.

 

바로 information_schema.processlist 테이블의 info 컬럼에 현재 실행중인 쿼리가 담긴다는 점을 이용하는 것이다.

마침 이번 문제에서는 _.를 필터링하고 있지 않기 때문에 올바른 접근이라는 예감이 들었다.

 

주입할 쿼리문은

 

1' union select substr(info,locate('1',info),length(info)-locate('1',info)) from information_schema.processlist %23

 

이다.

 

넣어보면,

 

 

31번 문제가 풀린다!

프로필사진
berry
FE Developer, loves React & better DX
Comments