#About
[그림 1] - 문제 화면
#Solution
위 문제는 $query에 담기는 구문 중 and 1=0이 추가 되었다는 것만이 특징이며 다른 문제와 같이 admin을 결과 값으로 뽑아내면 문제가 해결 된다
인젝션 벡터인 파라미터 pw에 admin 값을 뽑아내는 구문을 적었다해도 and 1=0 때문에 전체 쿼리문이 거짓이 되게 되며
이를 해결하는 방법으로는 필요 없는 구문을 데이터베이스에서 읽어들이지 않는 주석을 사용하는 것이고
데이터베이스에서 사용되는 주석은 #, -- , /**/ 로 총 3가지로 나뉜다
여기서 주의해야할 점은 쿼리에 #은 URL 인코딩을 거친 결과 값인 %23으로 입력 해주어야 하고
-- 는 반드시 공백을 의미하는 스페이스바(%20)를 끝에 함께 써주어야 한다
[그림 2] - 쿼리 1
[그림 3] - 쿼리 2
[그림 4] - 쿼리 3
'Wargame' 카테고리의 다른 글
[Lord of SQL Injection] Darkknight (0) | 2017.10.30 |
---|---|
[Lord of SQL Injection] Golem (0) | 2017.10.30 |
[Lord of SQL Injection] Vampire (0) | 2017.10.30 |
[Lord of SQL Injection] Troll (0) | 2017.10.30 |
[Lord of SQL Injection] Orge (0) | 2017.10.29 |