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

파라미터는 id로 받으며 문제 해결조건에 대한 이야기가 없어, 이번에도 역시 유저 이름과 버전을 출력시키면 해결되는 것 같다.
칼럼 수부터 찾아보자.
이번에는 처음부터 문제가 발생했다.
해당 페이지를 보자
쿼리: ?id=1 order by 1

해킹 시도가 감지되었다.
뭐가 문제일까 여러 번 시도를 한 후 공백에 대한 필터링이 되어있다는 걸 찾았다.
한번 공백우회를 해보자.
쿼리: ?id=1%09order%09by%091

정상 페이지가 출력되었다.
칼럼의 수는 3개이다. (과정 생략)
정보를 추출해보자.
쿼리: ?id=2%09union%09select%09@@version,user(),3

분명히 문법이 맞지만 문법 오류가 생겼다.
그래서 무엇이 문제인가 이것저것 시도해보다가 혹시 문자열 필터링인지에 대해 의구심이 들었다.
따라서 해당 쿼리를 입력했다.
쿼리: ?id=2%09union1%09select1%09@@version,user(),3

select가 필터링되고 있는 걸 찾았다.
바로 우회 쿼리를 주입해주자.
select라는 문자열이 필터링되어 제거당하니까 sel+select+ect형식으로 쿼리를 입력하여 select가 필터링되어 제거가 되어도 select가 만들어지게 끔 우회해준다.
쿼리: ?id=2%09union%09seselectlect%09@@version,user(),3

문제 해결
시행착오
1. 필터링 문자열을 찾을 때 가독이 쉬운 문자열을 넣어줌으로써 db에서 문법 오류에 인해 표출되지 않는 부분을 가시화시킬 수 있다.
'SQL injection > Zixem' 카테고리의 다른 글
| Zixem 10단계-pro (0) | 2022.03.04 |
|---|---|
| Zixem 9단계-medium (0) | 2022.03.03 |
| Zixem 7단계-normal (0) | 2022.03.03 |
| Zixem 6단계-blind sql (0) | 2022.03.03 |
| Zixem 5단계-brute force (0) | 2022.03.03 |
- Total
- Today
- Yesterday
- 백준 피보나치 수열
- 김영한 실전 자바 기초
- 상속
- 자바
- samron3
- spring
- Los
- static
- 스프링
- 기술스택
- 프로그래머스
- 코딩테스트
- 상품을 구매한 회원 비율 구하기 파이썬
- los 15단계
- 김영한 실전 자바 기본
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- zixem
- webhacking.kr
- 프로그래머스 상품을 구매한 회원 비율 구하기
- los 15
- samron
- 백준
- 코딩테스트 준비
- 백준 피보나치
- extends
- 김영한 실전 자바 중급
- lord of sql
- ys.k
- 김영한
- java
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |