티스토리 뷰
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.
37번 문제는 필자의 역량 부족으로 손도 댈 수 없어서 일단 스킵!
38번 문제이다.
이번엔 injection 문제이다.
또 설렌다.
한번 아무 값이나 입력해보자.
ㅁㄴ을 입력해보았지만, 어떠한 경고문구나 오류 문구도 뜨지 않았다.
소스코드를 보자.
이번엔 하이퍼링크가 없어 개발자 도구로 봐야 한다.
admin.php 주소가 존재한다고 알려준다.
한번 접속해보자.
필자의 외부 ip주소와 함께 입력된 값이 저장된 걸 볼 수 있다.
또한 반드시 admin으로 로그인해야 된다고 알려준다.
한번 admin으로 로그인해보자.
난 admin이 아니란다.
그럼 admin 문자열 필터링 우회인가?
이후로도 여 러시도를 해보았지만 admin에 관한 필터링 우회 시도는 먹히지 않았다.
그래서 검색을 해본 결과 CR-LF 취약점 문제란다.
CR-LF의 간단한 설명은 링크로 남겨놓겠다.
https://blog.naver.com/pthread_join/220720777376
CRLF란 무엇일까
CRLF는 간단히 말해 줄바꿈(newline)을 입력하는 문자를 칭하는 표현입니다. 이는 line break, EOL(...
blog.naver.com
(문제시 삭제하겠습니다.)
간단히 설명하면 로그의 기록을 내가 새로 조작하면 해결되는 문제이다.
더 쉽게 말해 admin으로 접속한 것처럼 로그에 보이게 하면 된다.
하지만 \r\n 등 줄 바꿈 특수문자들이 작동을 하지 않았다..
그래서 더 찾아본 결과 개발자 도구를 이용하는 방법을 찾았다.
두 사진에는 차이점이 있다.
바로 두 번째 사진의 다른 색 줄 부분에서 input이 textarea로 바뀌었다.
해당 작업을 수행하고 나면 아래와 같이 text입력창의 모습이 바뀌는 걸 알 수 있다.
이제 우리는 해당 textarea를 이용해 가짜 log를 남겨주면 문제는 해결된다.
아무 텍스트
외부ip:admin
해당 형식을 맞추어 입력해주면 문제를 해결할 수 있다.
하지만 로그인 버튼을 누른다고 문제가 바로 해결되지 않는다.
admin.php로 이동을 하면 문제가 해결되는 모습을 볼 수 있다.
문제 해결
시행착오
1. crlf취약점 및 공격법에 대해 새로 배우게 되었다.
2. 개발자 도구에서 textarea로 수정이 가능하다는 사실을 배웠다.
3. 입력창이 있다고 반드시 필터링 우회 문제는 아니란 걸 알았다.
'SQL injection > webhacking' 카테고리의 다른 글
webhacking 40번 (0) | 2022.08.01 |
---|---|
webhacking 39번 (0) | 2022.07.28 |
webhacking 36번 (0) | 2022.07.27 |
webhacking 35번 (0) | 2022.07.27 |
webhacking 34번 (0) | 2022.07.27 |
- Total
- Today
- Yesterday
- 스프링
- 상속
- spring
- webhacking.kr
- java
- 김영한 실전 자바 중급
- lord of sql
- samron
- ys.k
- 코딩테스트 준비
- static
- los 15단계
- 기술스택
- zixem
- 김영한 실전 자바 기초
- 김영한 실전 자바 기본
- 프로그래머스 상품을 구매한 회원 비율 구하기
- Los
- samron3
- 백준 피보나치 수열
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- extends
- 자바
- 코딩테스트
- 프로그래머스
- 상품을 구매한 회원 비율 구하기 파이썬
- 김영한
- 백준
- 백준 피보나치
- los 15
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |