Web/Lord of Sql injection

darkknight 문제 풀이

Namchun 2023. 9. 10. 01:14

코드 분석

pw따옴표를 입력받지 못하게 하여 escape를 방지하였지만 no에서는 injection이 가능하다.

하지만 golem 문제와 같이 'substr' 문자열을 필터링하고, 'ascii' 문자열까지 필터링한다.

공격 기법

mysql에서는 ASCII() 함수와 비슷한 ORD() 함수를 제공한다.

두 함수의 차이점으로는 ASCII() 함수는 문자열의 가장 왼쪽 문자의 아스키 코드 값을 반환하고, ORD() 함수는 아스키 코드 값을 반환한다.

사실상 SUBSTR()과 같은 함수를 사용하여 한 글자씩 두 함수에 넣는다면 같은 값을 반환할 것이다.

 

SUBSTR() 함수를 우회하는 방법은 이전 포스팅에 소개되었으니 바로 blind sql injection 코드를 작성해주면

 

pw : 0b70ea1f

이런 식으로 pw를 추출할 수 있다.

 

'Web > Lord of Sql injection' 카테고리의 다른 글

giant 문제 풀이  (0) 2023.09.10
bugbear 문제 풀이  (0) 2023.09.10
golem 문제 풀이  (1) 2023.09.09
skeleton 문제 풀이  (0) 2023.09.09
vampire 문제 풀이  (0) 2023.09.09