Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- hacking case
- 쿠버네티스
- 모의해킹
- AWS Opensearch
- SMS-P 인증 기준 안내서 요약
- AWS EKS Udemy
- Autopsy
- AWS EKS
- TSK
- ISMS
- 정보보안기사
- 실습
- ISMS-P 인증심사원
- isms-p
- 보안기사
- 보안
- kubernetes
- 정보보안
- AWS
- artifacts
- 해킹
- k8s
- The Sleuth Kit
- AWS 쿠버네티스
- CFReDS
- 정보보안기사 실기
- 포렌식
- AWS Elasticsearch
- iam
- forensic
Archives
- Today
- Total
Always-Try(정보보안 및 일상)
webhacking.kr - Challenge(old) - 7번 본문
#1. 7번
1-1. 문제
1-2. 풀이
view-source를 클릭해보자.
이전 문제와 같이 끝 부분을 보면 solve(7) 이라는 함수가 있고, 그 바로 전 코드를 보면 data[0] = 2 일때 문제가 해결 된다는 것을 알 수 있다.
그리고 아래와 같이 GET 방식으로 val 값을 받고 있는데, 별다른 val 값이 없으면 val을 1로 설정해주고 있다.
그리고 preg_match 함수에 의해 val 값에서 특정 문자열들은 필터링 된다.
실제로 val에 2를 넣어봤더니, 필터링 된다.
val에 2를 어떻게 넣을 수 있을까?
10진수가 아닌 값으로 넣을수도 있고, 사칙연산을 통해 넣을수도 있고, Char()함수에 할당된 문자열을 통해 넣을수도 있다. 숫자 2를 피하기 위해 아스키 값으로 2를 뜻하는 char(50)으로 진행해보자.
우선 기본적으로 입력된 val = 2가 정확히 어떤 쿼리문인지 알 수 없으므로, 해당 쿼리가 아닌 2를 나타내주는 새로운 쿼리는 입력해준다. (select 2)
하지만, 위에서 2와 공백 문자는 필터링 되었으므로 아래와 같이 입력해준다.
0)union(select(char(50))#
참고로, union은 앞선 쿼리 실행 후 뒤에 나오는 쿼리가 실행될 수 있도록 한다. (이전 포스팅 참고)
끝
'Pen Test' 카테고리의 다른 글
webhacking.kr - Challenge(old) - 11번 (0) | 2021.03.03 |
---|---|
webhacking.kr - Challenge(old) - 8번 (0) | 2021.03.02 |
OWASP-ZAP 사용 가이드 - 2. Active Scan (0) | 2021.02.27 |
OWASP-ZAP 사용 가이드 - 1. Dirbuster (Spider) (0) | 2021.02.27 |
버프스위트 (Burp suite) 사용 가이드 - 3. HTTP History (0) | 2021.02.27 |
Comments