문제의 소스 코드입니다.
where 절의 조건을 참으로 만드는 게 문제의 목표입니다.
사용자에게 입력을 받아 addslahses 함수를 적용한 뒤 strrev 함수로 문자열을 뒤집습니다.
addslashes 함수는 ', ", \, nul byte에 \ 문자를 추가해 일반 문자로 만들어줍니다.
그래서 where 절의 조건 부분인 id='' and pw'' 를 조작해 id=' and pw' 가 되도록 만들어줘야 합니다.
또한 strrev 함수에 의해 ', ", \, nul byte(\0)는 각각 '\, "\, \\, 0\로 나오게 됩니다.
먼저 id에 nul(%00)을 넣어줘서 뒤의 '를 일반 문자로 바꿔주면 0\' and pw' 까지 id에 들어가게 됩니다.
이후 무조건 참이 되는 조건을 뒤에 넣어주면 됩니다.
pw에 남은 하나의 '문자는 주석(#,%23)으로 날려주면 문제가 풀립니다.
'write-up(web) > LOS' 카테고리의 다른 글
[Lord of SQLInjection] xavis write-up (0) | 2022.08.02 |
---|---|
[Lord of SQLInjection] nightmare write-up (0) | 2022.08.01 |
[Lord of SQLInjection] succubus write-up (0) | 2022.08.01 |
[Lord of SQLInjection] assassin write-up (0) | 2022.07.31 |
[Lord of SQLInjection] giant write-up (0) | 2022.07.31 |