#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

+ Recent posts