DoR@Hee의 끄적끄적
los - nightmare 본문
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