티스토리 뷰
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.
21번 문제이다.

문제에 떡하니 blind sql이라 쓰여있다.
풀어보자.
여러 가지 테스트 결과 id와 pw 중 하나라도 비어있으면 쿼리가 정상적으로 작동하지 않는 것 같다.
blind sql 공격에서 가장 중요한 건 참과 거짓을 구분할 수 있는 무언가 이다.
다음 쿼리를 통해 확인할 수 있다.
쿼리 : ?id=admin&pw=%27or%20if(1,1,null)--+-

쿼리 : ?id=admin&pw='or if(0,1,null)--+-

if문이 참이면 1을 반환시켜 pw에 값이 들어가고, 거짓이면 들어가지 않는다.
그에 따라 Result값이 변하는 걸 알 수 있다.
참 : wrong password
거짓 : login fail
이제 admin의 pw를 추출해보자.
길이부터 알아보자.
쿼리 : ?id=admin&pw='or if(id='admin'and length(pw)=36,1,null)--+-

admin pw의 길이는 36자리이다.
이제 인젝터 차례이다.

오랜만에 2진 탐색 인젝터를 사용할 수 있었다...

문제 해결!
시행착오
1. 없다.
'SQL injection > webhacking' 카테고리의 다른 글
| Webhacking 23번 (0) | 2022.04.11 |
|---|---|
| Webhacking 22번 (0) | 2022.04.11 |
| Webhacking 20번 (0) | 2022.04.07 |
| Webhacking 19번 (0) | 2022.04.06 |
| Webhacking 18번 (0) | 2022.04.06 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ys.k
- webhacking.kr
- java
- 프로그래머스
- 백준 피보나치 수열
- los 15
- zixem
- lord of sql
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 프로그래머스 상품을 구매한 회원 비율 구하기
- 상품을 구매한 회원 비율 구하기 파이썬
- 코딩테스트
- extends
- 코딩테스트 준비
- samron
- 상속
- 백준 피보나치
- 김영한
- static
- los 15단계
- Los
- spring
- 기술스택
- samron3
- 백준
- 김영한 실전 자바 기본
- 김영한 실전 자바 중급
- 자바
- 김영한 실전 자바 기초
- 스프링
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함
250x250