DoR@Hee의 끄적끄적

los - xavis 본문

WarGame/los(los.rubiya.kr)

los - xavis

DoR@Hee 2019. 3. 30. 18:22

 

문제 소스코드 이때까지 풀었던 los 문제 중 가장 까다롭고 짜증 나는 문제이다.

 

1. 별다른 필터링은 존재 하지 않다. regex, like를 필터링하고 있는대 일단 저 2개는 안 쓸 거니까 무시

 

일단 admin pw의 길이를 알아내기 위해서 length(pw) 를 이용 12자리 인 것을 알았다.

 

그 후 

 

맨날 쓰는 뻔한 쿼리를 작성해서 

admin pw를 알아내려고 시도할려고 파이썬 코드를 작성 후 계속해서 돌려보는데

 

"값이 안 나온다." 아스키코드 1~255를 다 돌려봤는대도 안나온다 Hex도 물론 안나온다

 

일단 다른 방식으로 접근해보기 위해서 pw의 한자리 길이를 알아보려고 했는데 길이가 4랜다 

일반적으로 mysql에서 길이를 비교해보면

 

문자, 숫자는 다 1 인대 한글만 3이다 3이 나온 이유는 db 캐릭터 셋이 utf - 8로 설정돼있어서 이다

즉 길이가 4라는 것은 utf로 설정되었다. 아마? 한글?

또한 일반적으로 ascii 함수를 쓰면 2byte 이상 값을 반환 안 하기 때문에

2byte 이상 반환을 하는 ord함수를 써야 한다.

 

 

그러나 4번째 자리부터는 admin이 출력 안 되는 것으로 보아 아마도? admin pw에 길이는 3자리

또 다른 문제가 여기서 문제는 = 대신 < > 비교 연산을 이용해서 값을 찾아야 한다.

 

 

50864는  50865 보다 작은데 Hello admin이 안 나타난다? 즉 정답이다. 를 찾을 수 있고

 

처음에는 10000부터 계속해서 비교하는 파이썬 코드를 작성했지만

1~10000을 계속 비교하는 것은 서버에 무리를 주겠다 판단 

힌트를 좀 참고해보도록 했다.

출처:https://g0pher.tistory.com/m/400

 

LOS :: 19번 XAVIS

WRITE UP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 import requests url = "http://los.rubiya.kr/xavis_04f071ecdadb4296361d2101e4a2c390.php" session = {'PHPSESSI..

xn--vu4bn4g.kr

 

애매한 성공

 

※ 추가 풀이 방법

다른 사람들은 문제풀이를 어떻게 했을까 검색해보다가 찾아온 새로운 방법이다.

 

일단 먼저 풀이 방법부터 보자면 다음 같다. mysql 사용자 정의 변수를 이용해서 문제를 푸는 방식 인대

쿼리문부터 하나씩 보도록 하자

쿼리문을 저렇게 작성했을 경우

 

prob_xavis테이블에 있는 pw 칼럼의 값을 @a에 넣어라!라는 쿼리이다.

 

근데 여기서 중요한 점은 변수 안에 값을 넣는 거 자체가 false(거짓) 값을 의미한다고 한다

 

하지만 결괏값은 출력된다.

 

쿼리를 또다시 작성해 본다면

" '' or (select @a:=pw where id ='admin') union select @a " 가 되는데

(select @a:=pw where id ='admin')는 admin에 해당하는 pw를 사용자 정의 변수 @a에 대입해라!

라는 뜻이지만 (select @a:=pw where id ='admin') 자체는 false 이기 때문에 아무런 값을 return 하지 않는다.

 

그 후 다중 결괏값을 출력할 수 있는 union 문을 사용해서 출력해보면 위와 같은 admin에 대한 pw 값이 나온다.

 

여기서 또 다른 구문으로 이용해보자면 

이렇게 해서 guest 비밀번호도 가져 올 수도있고.

limt 절을 이용해서 가져올 수 도있는대

admin 비밀번호는 가져 올 수 없었다. 아마 마지막 값만 변수에 넣는거 같다.

 

 

'WarGame > los(los.rubiya.kr)' 카테고리의 다른 글

los - iron_golem  (0) 2019.04.25
los - dragon  (0) 2019.03.30
los - nightmare  (0) 2019.03.29
los - succubus  (0) 2019.03.28
los - zombie_assassin  (0) 2019.03.27
Comments