DoR@Hee의 끄적끄적

los - nightmare 본문

WarGame/los(los.rubiya.kr)

los - nightmare

DoR@Hee 2019. 3. 29. 09:24

1. preg_match를 이용해 /prob, _, \(문자)., 문자(), #, -, 등을 필터링 하고 있다.

2.  6자리 이상이면 exit(No Hack)를 출력하고있다. 

 

일단 이 문제를 해결하려면  ('')와 and id!= 'admin'을 해결해야하는대

 

and id!='admin'은 주석 ;%00으로 해결 할 수 있을거 같다.

 

일단 pw파라미터에 ;%00이 들어갔을 경우 쿼리는

"select id from prob_nightmare where pw =('');%00 and id!='admin'"으로 인식된다 빨간색 부분은 주석부분

 

이렇게 쿼리를 작성했을 경우 ('')를 완성해야 하는대 아마 ('')는 문자열로 인식하고 있는 쿼리인거같다.

 

 

 

확인 해보기 위해서 mysql에서 pw=('')=0을 넣어봤더니 

 

admin, guest 모든 id에 대한 결과값이 출력됬다. 그 쿼리를 이용해서 문제를 풀어보면

성공

 

 

※mysql에서 문자열 자동

'a' = 0 는 참이다 이러한 이유는 0은 임의에 문자열을 나타내서 그렇다고 한다.

 

'a' = 1 이락 했을 때 문자열 'a'는 상수 1이 아니기 때문에 거짓

 

 

그래서 이와 같이 작성하고 해보면 ('') =0 은 참값이다 

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

los - dragon  (0) 2019.03.30
los - xavis  (1) 2019.03.30
los - succubus  (0) 2019.03.28
los - zombie_assassin  (0) 2019.03.27
los - assassin  (0) 2019.03.27
Comments