Information Technology/Web dev

필터링 우회 기법 (URL인코딩, HEX값 변경, alternative 대체값 변경 .. )

Brandon IT 2025. 5. 28. 14:58
320x100

 

문제에 봉착하면 

1. 원인이 무엇인지를 찾아야한다.

2. error message 가 보인다면 확인해본다

3. Debug Mode (print)

 

대소문자

MySQL 에서 대문자소문자를 섞어서 사용하면 실행이 될까?

→ sEleCt ~~~~ where

섞어서 사용해도 인식이 된다.

 

대소문자를 섞어서 우회하는 것은 대표적인 필터링 우회 기법 중 하나이다.

필터링 기법은 URL인코딩 , HEX값으로 변경, alternative 대체값으로 바꿔서 사용 등… 많이 있다

 

 

f는 Python에서 f-string이라고 불리는 **포맷 문자열(format string)**을 만드는 문법입니다.

Python 3.6부터 도입된 기능으로, 문자열 안에 변수를 바로 넣을 수 있게 해주는 문법이에요.

.

response = requests.post(url, data=data)

부분 설명

requests 파이썬의 HTTP 요청 라이브러리. pip install requests로 설치 가능
.post(...) 서버에 POST 방식 요청을 보냄 (로그인 폼, 회원가입 등에서 주로 사용)
url 요청을 보낼 대상 주소 (예: "http://example.com/login.php")
data=data 보낼 데이터를 딕셔너리 형태로 넣음. 로그인 폼의 입력값들

result += chr(ascii_code)

드 조각 의미

ascii_code 숫자 형태의 ASCII 코드 (예: 65, 97 등)
chr(ascii_code) 해당 ASCII 코드를 문자로 바꿈 (예: 65 → ‘A’, 97 → ‘a’)
result += ... 현재까지 모아둔 문자열 result에 문자를 하나 더함

 

 

보너스 문제 풀이

  1. 어떤 글자를 웹서버에서 못쓰게 하는지 생각해보기
  2. 그 글자를 어떻게 쓸 수 있는지를 고민하면 길이 보인다.

 

300x250