워게임
-
문제풀이 바로 시작해보도록 하겠습니다. 1. 문제 ID/PW를 입력하여 무엇인가 해야하는 것 처럼 보이네요 2. 문제풀이 문제를 보니 sql injection 중 인증이며 힌트를 보니 administrator의 계정을 sql injection을 통해 인증해야할 것 같다. 처음 구조를 보기 위해 요청 패킷을 잡아보았다. ID = administrator PW = test1234를 입력 후 패킷을 잡아보니 user/password를 찾을 수 없다는 오류가 나왔다. 이후 PW 값에 '+or+1=1-- 를 통해 sql injection을 시도해 보았다. SQL 문법적 오류가 발생하였으며 or 앞뒤의 문법이 잘못되었다는 것을 알 수 있었다. 이후 +값을 스페이스를 통해 공백으로 넣어주었다. 그렇게 되니 에러는 사..
[Root-Me]/Web Server/SQL injection - Authentication문제풀이 바로 시작해보도록 하겠습니다. 1. 문제 ID/PW를 입력하여 무엇인가 해야하는 것 처럼 보이네요 2. 문제풀이 문제를 보니 sql injection 중 인증이며 힌트를 보니 administrator의 계정을 sql injection을 통해 인증해야할 것 같다. 처음 구조를 보기 위해 요청 패킷을 잡아보았다. ID = administrator PW = test1234를 입력 후 패킷을 잡아보니 user/password를 찾을 수 없다는 오류가 나왔다. 이후 PW 값에 '+or+1=1-- 를 통해 sql injection을 시도해 보았다. SQL 문법적 오류가 발생하였으며 or 앞뒤의 문법이 잘못되었다는 것을 알 수 있었다. 이후 +값을 스페이스를 통해 공백으로 넣어주었다. 그렇게 되니 에러는 사..
2021.10.13 -
다른 일들로 좀 바빠 오랜만에 글 쓰네요~ 바로 문제풀이 시작해보도록 하겠습니다. 1. 문제 문제 접근 시 Email을 작성하여 보낼 수 있도록 해놨네요 2. 문제풀이 바로 아래 보이는 Saved email adresses를 눌러보았습니다. You need to be admin을 통해 admin 권한이 필요하다는 것으로 보입니다. 어떻게 패킷이 이루어져 있는지 확인하기 위해 요청 패킷을 잡아 보았습니다. 주석을 통해 SetCookie("ch7", "visiteur")라는 값이 보이며 요청 패킷의 cookie 값에는 visiteur 값이 보입니다. 이 부분을 admin으로 수정해보도록 하겠습니다. 쿠키 값의 visiteur 값을 admin으로 변조 후 응답 값을 보니 패스워드가 노출되었습니다. 이를 검증해..
[Root-Me]/Web Server/HTTP - Cookies다른 일들로 좀 바빠 오랜만에 글 쓰네요~ 바로 문제풀이 시작해보도록 하겠습니다. 1. 문제 문제 접근 시 Email을 작성하여 보낼 수 있도록 해놨네요 2. 문제풀이 바로 아래 보이는 Saved email adresses를 눌러보았습니다. You need to be admin을 통해 admin 권한이 필요하다는 것으로 보입니다. 어떻게 패킷이 이루어져 있는지 확인하기 위해 요청 패킷을 잡아 보았습니다. 주석을 통해 SetCookie("ch7", "visiteur")라는 값이 보이며 요청 패킷의 cookie 값에는 visiteur 값이 보입니다. 이 부분을 admin으로 수정해보도록 하겠습니다. 쿠키 값의 visiteur 값을 admin으로 변조 후 응답 값을 보니 패스워드가 노출되었습니다. 이를 검증해..
2021.10.13 -
dbms335라는 문제이며 sqli 문제임을 확인할 수 있다. 들어가면 일반 게시판에 검색할 수 있는 기능이 있다. 소스보기를 통해서 확인해보자. 소스에서 보면 parse_str을 통해서 SERVER('QUERY_STRING')에서 받은 값을 php변수로 저장하고 query_parts 변수가 있다면 where_clause문에 해당 변수의 내용을 넣어주게 된다, 이때 조건은 search_cols 변수가 존재 할 경우이다. 우리는 이 세가지 내용을 활용하여 우회할 수 있다. seach_cols변수에 preg_match가 false가 되게 만들어 query_parts 변수에 원하는 쿼리문을 집어 넣어 실행하면 flag 값을 얻을 수 있을 것이다. union select 1,2,3,4-- 을 사용해서 컬럼 수를..
Wargame - dmbs335dbms335라는 문제이며 sqli 문제임을 확인할 수 있다. 들어가면 일반 게시판에 검색할 수 있는 기능이 있다. 소스보기를 통해서 확인해보자. 소스에서 보면 parse_str을 통해서 SERVER('QUERY_STRING')에서 받은 값을 php변수로 저장하고 query_parts 변수가 있다면 where_clause문에 해당 변수의 내용을 넣어주게 된다, 이때 조건은 search_cols 변수가 존재 할 경우이다. 우리는 이 세가지 내용을 활용하여 우회할 수 있다. seach_cols변수에 preg_match가 false가 되게 만들어 query_parts 변수에 원하는 쿼리문을 집어 넣어 실행하면 flag 값을 얻을 수 있을 것이다. union select 1,2,3,4-- 을 사용해서 컬럼 수를..
2021.10.03 -
[Reversing] rev-basic-7 문제풀이 문제를 확인해보자. Correct를 출력하는 FLAG 값을 찾는 문제이다. 문제 파일을 x64dbg 프로그램으로 열어보자. correct를 출력하는 flag 값을 찾아야하기 때문에 문자열 참조 찾기를 통해 correct 문자열을 찾아보자. 사용자가 FLAG를 입력하고 chall7.7FF744611000 함수에서 입력 값 비교를 한 뒤, Correct/Wrong 메시지를 출력한다. 해당 함수를 따라가보자. 위 함수에서 사용자 입력 값에 대해 수행하는 연산은 다음과 같다. [cmp rax, 1F] // 32번 반복 [and eax, 7] // eax에 7과 and 연산한 값을 저장 [movzx ecx, al] //
[dreamhack] rev-basic-7 문제풀이[Reversing] rev-basic-7 문제풀이 문제를 확인해보자. Correct를 출력하는 FLAG 값을 찾는 문제이다. 문제 파일을 x64dbg 프로그램으로 열어보자. correct를 출력하는 flag 값을 찾아야하기 때문에 문자열 참조 찾기를 통해 correct 문자열을 찾아보자. 사용자가 FLAG를 입력하고 chall7.7FF744611000 함수에서 입력 값 비교를 한 뒤, Correct/Wrong 메시지를 출력한다. 해당 함수를 따라가보자. 위 함수에서 사용자 입력 값에 대해 수행하는 연산은 다음과 같다. [cmp rax, 1F] // 32번 반복 [and eax, 7] // eax에 7과 and 연산한 값을 저장 [movzx ecx, al] //
2021.09.30 -
[Reversing] rev-basic-6 문제풀이 문제를 확인해보자. Correct를 출력하는 FLAG 값을 찾는 문제이다. 문제 파일을 x64dbg 프로그램으로 열어보자. correct를 출력하는 flag 값을 찾아야하기 때문에 문자열 참조 찾기를 통해 correct 문자열을 찾아보자. 사용자가 FLAG를 입력하고 chall6.7FF613711000 함수에서 입력 값 비교를 한 뒤, Correct/Wrong 메시지를 출력한다. 해당 함수를 따라가보자. 위 함수에서 사용자 입력 값에 대해 수행하는 연산은 다음과 같다. [cmp rax, 12] // 18번 반복 [movzx eax, byte ptr ds:[rcx+rax] // n번째 문자열 eax에 저장 [lea rcx, qword ptr ds:[7FF..
[dreamhack] rev-basic-6 문제풀이[Reversing] rev-basic-6 문제풀이 문제를 확인해보자. Correct를 출력하는 FLAG 값을 찾는 문제이다. 문제 파일을 x64dbg 프로그램으로 열어보자. correct를 출력하는 flag 값을 찾아야하기 때문에 문자열 참조 찾기를 통해 correct 문자열을 찾아보자. 사용자가 FLAG를 입력하고 chall6.7FF613711000 함수에서 입력 값 비교를 한 뒤, Correct/Wrong 메시지를 출력한다. 해당 함수를 따라가보자. 위 함수에서 사용자 입력 값에 대해 수행하는 연산은 다음과 같다. [cmp rax, 12] // 18번 반복 [movzx eax, byte ptr ds:[rcx+rax] // n번째 문자열 eax에 저장 [lea rcx, qword ptr ds:[7FF..
2021.09.30 -
간단한 UNION SQL INJECTION 문제라고 나와있다. web chatting을 union based sqli로 풀었으니 비슷한 문제일거 같다. 들어가 보면 4개의 게시물이 있다. 들어가 보면 일반적인 게시글 형태로 되어 있으며 idx라는 파라미터 구분자로 구분하고 있다. 그렇게 idx에 union 구문을 넣어 전달하는데 계속해서 query error를 응답했다.. 처음에 위에서 스크립트가 필요하다할때 생각보다 컬럼 수가 많은가 생각했었다,, 소스보기를 통해서 살표보면 read_chk 함수를 통해서 "/".$idx가 존재하면 값을 읽어오고 아니면 에러를 띄우는거 같다. 쿠키 값을 확인해보니 위와 같이 /0으로 view 값에 들어가 있는것을 확인할 수 있었다. 쿠키 값에 똑같이 union selec..
Wargame - SimpleBoard간단한 UNION SQL INJECTION 문제라고 나와있다. web chatting을 union based sqli로 풀었으니 비슷한 문제일거 같다. 들어가 보면 4개의 게시물이 있다. 들어가 보면 일반적인 게시글 형태로 되어 있으며 idx라는 파라미터 구분자로 구분하고 있다. 그렇게 idx에 union 구문을 넣어 전달하는데 계속해서 query error를 응답했다.. 처음에 위에서 스크립트가 필요하다할때 생각보다 컬럼 수가 많은가 생각했었다,, 소스보기를 통해서 살표보면 read_chk 함수를 통해서 "/".$idx가 존재하면 값을 읽어오고 아니면 에러를 띄우는거 같다. 쿠키 값을 확인해보니 위와 같이 /0으로 view 값에 들어가 있는것을 확인할 수 있었다. 쿠키 값에 똑같이 union selec..
2021.09.26