Season 1
-
간단한 비교 문제라고 설명에 나와 있다. 힌트는 제목과 같다 한다.. 문제를 들어가서 소스보기를 보니 '==' 비교 구문이 보였다. wargame에서 보는 흔한 loose compare 문제인듯 하여 바로 시도해보자. test로 'test'값을 보내보니 위의 소스코드 처럼 json파라미터를 통해서 key 값을 받아와서 $key에 넣는 것을 확인할 수 있었다. 자세히 URL 디코더를 통해서 확인해 보면 {"key","test"}를 통해서 key 값이 넘어가는 것을 확인해 볼 수 있다. 그럼 아까 loose compare을 하기 때문에 key 값에 true를 넣어서 보내게 되면 flag 값을 확인해 볼 수 있을꺼 같다. 위와 같이 key 값에 true를 넣어 보내게 되면 flag 값을 얻을 수 있었다. 비교..
Wargame - type confusion간단한 비교 문제라고 설명에 나와 있다. 힌트는 제목과 같다 한다.. 문제를 들어가서 소스보기를 보니 '==' 비교 구문이 보였다. wargame에서 보는 흔한 loose compare 문제인듯 하여 바로 시도해보자. test로 'test'값을 보내보니 위의 소스코드 처럼 json파라미터를 통해서 key 값을 받아와서 $key에 넣는 것을 확인할 수 있었다. 자세히 URL 디코더를 통해서 확인해 보면 {"key","test"}를 통해서 key 값이 넘어가는 것을 확인해 볼 수 있다. 그럼 아까 loose compare을 하기 때문에 key 값에 true를 넣어서 보내게 되면 flag 값을 확인해 볼 수 있을꺼 같다. 위와 같이 key 값에 true를 넣어 보내게 되면 flag 값을 얻을 수 있었다. 비교..
2021.09.19 -
tmitter 문제를 보아하니 admin으로 로그인을 성공시켜야 하는 문제인거 같다. tmitter_user 테이블에 id와 ps가 char(32) 값으로 정해져있는것을 확인할 수 있다. 처음에 sql injection으로 생각하고 접근을 해보았는데 Login failed로 접근이 제한 되는 것을 확인하니 인젝션 관련 문제는 아닌거 같다. 그 다음 회원가입을 시도해보았다. 회원가입을 시도 할 때, admin은 이미 존재했고 우회를 시도해보았는데 특수문자 값이 모두 null로 치환되어 admin으로 인식하는 듯 보였다. 하지만, 처음 id 와 ps 값이 32자로 고정되어 있는것을 확인 할 수 있었는데 char라는 함수에 대해서 알아야 한다. char형은 고정 사이즈로 위와 같이 32자로 고정이 되어 있으면..
Wargame - tmittertmitter 문제를 보아하니 admin으로 로그인을 성공시켜야 하는 문제인거 같다. tmitter_user 테이블에 id와 ps가 char(32) 값으로 정해져있는것을 확인할 수 있다. 처음에 sql injection으로 생각하고 접근을 해보았는데 Login failed로 접근이 제한 되는 것을 확인하니 인젝션 관련 문제는 아닌거 같다. 그 다음 회원가입을 시도해보았다. 회원가입을 시도 할 때, admin은 이미 존재했고 우회를 시도해보았는데 특수문자 값이 모두 null로 치환되어 admin으로 인식하는 듯 보였다. 하지만, 처음 id 와 ps 값이 32자로 고정되어 있는것을 확인 할 수 있었는데 char라는 함수에 대해서 알아야 한다. char형은 고정 사이즈로 위와 같이 32자로 고정이 되어 있으면..
2021.09.19 -
문제 코드
[Lord of SQLInjection] Yeti Write UP문제 코드
2021.09.19 -
문제 코드
[Lord of SQLInjection] Revenant Write UP문제 코드
2021.09.18 -
문제 코드
[Lord of SQLInjection] Nessie Write UP문제 코드
2021.09.18 -
[Reversing] rev-basic-5 문제풀이 문제를 확인해보자. Correct를 출력하는 FLAG 값을 찾는 문제이다. 문제 파일을 x64dbg 프로그램으로 열어보자. correct를 출력하는 flag 값을 찾아야하기 때문에 문자열 참조 찾기를 통해 correct 문자열을 찾아보자. 사용자가 FLAG를 입력하고 chall5.7FF662931000 함수에서 입력 값 비교를 한 뒤, Correct/Wrong 메시지를 출력한다. 해당 함수를 따라가보자. 위 함수에서 사용자 입력 값에 대해 수행하는 연산은 다음과 같다. [cmp rax, 18] // 24번 반복 [mov eax, byte ptr ds:[rcx+rax]] // 첫번째 입력 값 eax에 저장 [inc ecx] // ecx 값 증가 [movz..
[dreamhack] rev-basic-5 문제풀이[Reversing] rev-basic-5 문제풀이 문제를 확인해보자. Correct를 출력하는 FLAG 값을 찾는 문제이다. 문제 파일을 x64dbg 프로그램으로 열어보자. correct를 출력하는 flag 값을 찾아야하기 때문에 문자열 참조 찾기를 통해 correct 문자열을 찾아보자. 사용자가 FLAG를 입력하고 chall5.7FF662931000 함수에서 입력 값 비교를 한 뒤, Correct/Wrong 메시지를 출력한다. 해당 함수를 따라가보자. 위 함수에서 사용자 입력 값에 대해 수행하는 연산은 다음과 같다. [cmp rax, 18] // 24번 반복 [mov eax, byte ptr ds:[rcx+rax]] // 첫번째 입력 값 eax에 저장 [inc ecx] // ecx 값 증가 [movz..
2021.09.16