-
<Suninatas> 6번 문제Wargame/Suninatas 2021. 10. 31. 16:41
한 게시판이 등장한다.
1번 Hint를 들어가 보면
suninatas의 글을 읽어보라고 한다.
2번 reference! 를 들어가 보면
해시함수 사이트가 나온다. 제목대로 참고하라는 것 같다.
3번 README를 들어가 보면
패스워드를 입력할 수 있는 칸과 SQL문이 나와있다. T_Web13 테이블에서 nldx가 3이고 szPwd 칼럼을 참고해 szPwd를 구하는 쿼리문이다. SQL문이 나와있는 걸로 보아 SQL Injection을 수행해야 하는 것 같다.
4번과 5번은 그냥 적어놓은 것 같다.
3번의 패스워드 입력 폼에 SQL Injection의 기본 구문인 1' or '1'='1'-- 구문을 삽입하니 "NO! hacking!"이라는 알람이 뜬다.
아무래도 필터링되는 문자열이 있는 것 같다.
필터링 되는 문자 : '(', ')', 'and', 'select', 'union', 'having', 'group', 'by', 'from', '='
필터링 되지 않은 문자 : 'or', 'like', '<', '>', '"', '-'
등이 있는 것을 확인할 수 있다.
필터링 되지 않은 문자를 이용해 SQL Injection 해보면 1' or '1' like '1'-- 와 1' or '2' > '1'-- 를 사용할 수 있다.
위 구문들로 SQL Injection해보면
인증 키는 "suninatastopofworld!" 라고 한다. 그리고 확인을 누르니
키를 찾으라고 한다. 위에서 얻은 인증 키를 홈페이지를 통해 Auth인증을 하면 값이 틀렸다고 나온다.
다시 README페이지의 소스를 살펴보면
KEY_HINT에 로마의 첫 번째 황제라고 되어있다. 로마 제국의 첫 번째 황제는 아우구스투스(Augustus)이다.
황제의 이름으로 Auth인증을 하면 문제가 풀리게 된다.
'Wargame > Suninatas' 카테고리의 다른 글
<Suninatas> 8번 문제 (0) 2021.11.01 <Suninatas> 7번 문제 (0) 2021.10.31 <Suninatas> 5번 문제 (0) 2021.10.29 <Suninatas> 4번 문제 (0) 2021.10.24 <Suninatas> 2번 문제 (0) 2021.10.21