(Lord of SQLInjection) death 문제입니다.

먼저 제공되는 소스코드의 필터링 부터 보면 prob _ . \ admin 등 이전 cthulhu문제와 비슷해보입니다.
하지만 pw부분에서 md5로 입력한 pw가 변경되고 있어 pw의 정확한 값을 찾기는 어려워 보입니다.
해서 pw부분을 무력화 시켜 id를 admin으로 출력하는 방식을 선택했습니다.
?id='||id=0x61646d696e%23
작성한 위 값을 쿼리에 전송해보면

Forbidden이 출력됩니다.
이거는 이전 cthulhu문제와 동일하게 CRS가 걸려있다는 의미입니다.

해서 이전 문제를 해결할때 사용한 코드를 가져와서 값을 전달해보면

id값을 True로 바꾸기만 했을뿐 admin이 출력되지 않았고 guest가 출력되었습니다.
이전문제를 풀고 CRS를 조금 공부했을때
?id=-1'<@=1 OR {a 1}=1 OR '
중간에 or로 True False를 만들기 때문에 조건을 추가하는게 가능하다고 하더라구요
해서 위 코드에 guest를 제외시키는 방향으로 조건을 추가하면
아래와 같은 값을 구성할 수 있습니다.
?id=-1'<@=1 OR id!='guest' and {a 1}=1 OR '
값을 쿼리에 전달시켜보면

문제가 해결되었습니다!
이 방법으로는 다른 아이디가 출력될 수도 있기에 그걸 예상하고 몇번 조건을 더 추가할 생각이였는데
다행이 guest 와 admin만 존재해서 인지 바로 admin이 출력되어 문제가 해결되었습니다.
'Wargame(Web) > Lord of SQLInjection' 카테고리의 다른 글
(Lord of SQLInjection) cyclops 문제 (0) | 2022.12.03 |
---|---|
(Lord of SQLInjection) godzilla 문제 (0) | 2022.12.01 |
(Lord of SQLInjection) cthulhu 문제 (0) | 2022.11.30 |
(Lord of SQLInjection) alien 문제 (0) | 2022.11.28 |
(Lord of SQLInjection) zombie 문제 (0) | 2022.11.25 |