sqli문제로 55점 짜리다 ㄷㄷ.. 풀어보자
코드 분석
먼저 문제는 쿼리문 결과로 반환된 id값이 admin일 경우 해결된다. 쿼리문은 다음과 같다.
select id from chall45 where id='($_GET['id'])' and pw=md5('$_GET['pw']')
쿼리문을 보면 pw는 md5 해시화되어 전송되기 때문에 pw에서 건들건 없어보인다. 필터링을 보자.
id, pw 모두 addslashes함수를 적용시키고 있다. 그러나 convert_encoding을 통해 utf-8로 인코딩 중이기 때문에 싱글쿼터는 멀티바이트 삽입으로 충분히 우회가 된다.
먼저 싱글쿼터 탈출이 제대로 되는지 확인해보자. 멀티 바이트 삽입 후 뒤 강제로 쿼리문을 1로 만들었더니 hi guest가 나온다. 제대로 탈출이 된 것 같다. 이제 id='admin'만 만들어보자..
문제는 = 부등호를 안 쓰고 id가 'admin'임을 표현해야 한다. IN을 이용해보자.
a%fe' or id IN (0b110000101100100011011010110100101101110)#
오 풀었다 시발
'Web Hacking > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old-44 write up (0) | 2024.03.26 |
---|---|
[Webhacking.kr] old-51 write up (0) | 2024.03.25 |
[Webhacking.kr] old-43 write up (0) | 2024.03.17 |
[Webhacking.kr] old-49 write up (0) | 2024.03.17 |
[Webhacking.kr] old-46 write up (0) | 2024.03.17 |