본문 바로가기
개인 공부/WEB

[웹해킹] LOS 13 - (Bugbear)

by 아메리카노와떡볶이 2021. 6. 19.
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

댓글