본문 바로가기

Web Hacking/Webhacking.kr

[Webhacking.kr] old-45 write up

 

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