티스토리 뷰

53번째 글.

 

 

1. 코드 분석

strlen() 함수는 바이트 기준으로 문자열의 길이를 알려주는 함수이다.

한글과 영어일 때 같은 문자열의 길이를 입력해도 서로 다르다.

어쨌든 길이가 6 이상이면 'No Hack ~_~'을 출력한다.

 

 

2. Exploit

MySQL의 자동 형 변환을 이용해서 풀 수 있다.

서로 다른 데이터의 타입을 조회할 시 같은 타입으로 형 변환을 하여 비교하게 된다.

결론적인 핵심만 말하면 문자는 숫자 0과 같다라는 것을 기억하면 된다.

 

 

?pw=')=0;%00

이렇게 보내주면 문자 또는 0으로 시작하는 pw가 조회될 것이고

세미콜론과 널바이트로 쿼리를 종결해 줄 수 있다.

 

 

 

 

Reference

https://limjunyoung.tistory.com/121 // MySQL 자동 형 변환

https://kkamikoon.tistory.com/192 // 문제풀이 및 자동 형 변환 예시

 

'writeup > LOS' 카테고리의 다른 글

[Lord of SQL injection] dragon  (0) 2021.07.20
[Lord of SQL injection] xavis  (0) 2021.07.20
[Lord of SQL injection] zombie_assassin  (0) 2021.07.19
[Lord of SQL injection] succubus  (0) 2021.07.16
[Lord of SQL injection] assassin  (0) 2021.07.15