WebGoat - blind string sql injection
2024. 7. 11. 21:44ㆍWARGAME/WebGoat
320x100
WebGoat의 blind string sql injection 문제입니다.
blind numeric sql과 비슷하지만 이번에는 숫자가 아닌 string이다.
pins 테이블에서 cc_number가 4321432143214321 인 name을 찾는 문제다.
sql문으로 바꿔주면
101 and (SUBSTRING((select name from pins where cc_number=’4321432143214321’),1,1) > ‘?’)
?에 알파벳 대소문자를 구분해 입력해보고
값을 찾으면 1을 1씩 증가해서 문자열의 위치를 확인하면 된다.
먼저,
name의 길이를 알기위해
101 and (SUBSTRING((select name from pins where cc_number=’4321432143214321’),?,1) > ‘A’)
?를 1씩 증가시켜보자.
아스키 A보다 크다?라고 물어봤는데 유효하지 않다고 출력되는 것은, 해당 ?번째의 글자는 없다는 뜻이다.
name은 4글자인 것을 확인!!
첫번째의 글자를 찾아보면
name의 첫글자는 J라는 것을 알 수 있다.
이와 같이 2,3,4번째에 각각 해당하는 알파벳을 찾아가면 된다.
320x100
320x100
'WARGAME > WebGoat' 카테고리의 다른 글
WebGoat - command injection (0) | 2024.07.11 |
---|---|
WebGoat - blind numeric sql injection (0) | 2024.07.11 |
WebGoat - stage 3 numeric sql injection (0) | 2024.07.11 |
WebGoat - stage 1 string sql injection (0) | 2024.07.11 |
WebGoat - numeric sql injection (0) | 2024.07.11 |