Web/LOS

[LOS] 문제 2. cobolt, 주석 URL 인코딩

__bo0o_ 2018. 10. 26. 18:03

 

pw=md5('')

PW가 md5로 해서 암호화가 되어 있다.

 

PHP 코드를 잠깐 보자.

if($result['id'] == 'admin') solve("cobolt")

즉, 이 경우에는 쿼리에서 id가 admin이면 문제가 풀린다는 뜻이다.

 

?id=admin'%23

여기서 %23은 #(주석)의 아스키 코드의 인코딩 값으로

pw=md5('')를 무효화시켜주기 위해 반드시 필요하다.

 

만약 %23 대신 #(주석)을 넣으면 문제가 풀리지 않는데,

ex) ?id=admin'# ( X )

문자를 인코딩해서 넣어주어야하는 이유는

# 주석과 같은 것들은 URL 상에서 다양한 문제점을 일으킬 수 있기 때문에 

반드시 URL 인코딩된 값을 넣어주어야 한다.

 

오라클 기반의 주석 처리는 #, MYSQL은 -이며,

또한 URL 인코딩은 필터링 우회 기법 중 하나라고 한다.

 

 

참고 : http://regularmotion.kr/url-encoding-url/