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 인코딩은 필터링 우회 기법 중 하나라고 한다.