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 인코딩은 필터링 우회 기법 중 하나라고 한다.
'Web > LOS' 카테고리의 다른 글
[LOS] 문제 5. wolfman, 스페이스(빈칸) 우회 기법 이용 (0) | 2018.10.26 |
---|---|
[LOS] 문제 4. orc, 함수 이용하여 패스워드 알아내기 (0) | 2018.10.26 |
[LOS] 문제 3. goblin, 따옴표 문자 필터링 우회 (1) | 2018.10.26 |
[LOS] 문제 1. gremlin, URL 인자로 넘겨주는 GET 방식 (0) | 2018.10.26 |
SQL Injection 개념 (0) | 2018.10.26 |