728x90
Lord of sql injection - Bugbear 풀이 |
los 13번 Bugbear에 대한 풀이입니다.
문제 접근
필터링을 살펴보면 . / , 공백, 괄호, substr,ascii,or ,and,like 가 잠겨져있고 마찬가지로 blind sql injection문제입니다.
공백은 ==> /**/ 으로 우회할 수 있고
and ==> &&
or 이전에서 사용했다싶이 ==> || 로 우회가능하고
like ==> in() 을 통해 우회할 수 있습니다.
따라서
이전 문제에서 길이를 구할때 사용했던 쿼리문에서, 공백대신 /**/을 넣고, and대신 &&, like 대신 in()을 사용해서
작성합니다.
1. 길이구하기
필터링 조건을 우회해서 쿼리를 수정합니다.
결과값은 8입니다.
완전한 password구하기
마찬가지로, 필터링을 위의 방식과 같이 우회해서 수정하면 됩니다.
이때 이번 문제에서 주의해야할 점 몇가지가 있습니다.
1. or에 대한 필터링이 걸려있으므로, ASCII함수를 대체하던 ord 함수도 사용이 불가능합니다.
+ 따라서 이전 문제에서 언급했던, chr함수를 사용해서 해결합니다.
2. in ( ) 으로 비교할때 안에 괄호를 쳐주어야 숫자가 아닌 문자도 비교가 됩니다.
즉 코드에서 in("str(chr(j))") 로 취급되어야 알파벳까지 출력됩니다. 만약 더블 쿼터가 없을 시에는
비밀번호에서 숫자만 판별해서 출력되고, 알파벳은 출력되지 않습니다.
비밀번호는 52DC3991 입니다.
728x90
'개인 공부 > WEB' 카테고리의 다른 글
[웹해킹] LOS 15 - (Assassin) (1) | 2021.06.19 |
---|---|
[웹해킹] LOS 14 - (Giant) (0) | 2021.06.19 |
[웹해킹] LOS 12 - (Darkknight) (0) | 2021.06.19 |
[웹해킹] LOS 11 - (Golem) (0) | 2021.06.19 |
[웹해킹] LOS 10 - (Skeleton) (0) | 2021.05.30 |
댓글