목록Study (193)
촉촉한초코칩

문제 파일 문제 파일에는 사진 하나가 주어진다. 스테가노그래피인줄 알았는데 이미지를 넣어봐도 아무것도 나오지 않았다.스테가노그래피 : 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술 혹은 그 연구를 가리킨다. 크립토그래피 (cryptography)가 메시지의 내용을 읽을 수 없게 하는 수단인 반면, 스테가노그라피는 존재 자체를 숨긴다. 풀이white space steganography를 힌트로 줬길래 찾아보았다. (참고 : https://swfs-swuforensics.tistory.com/736)white space steganography : 탭과 공백을 추가하여 텍스트 파일의 메세지를 숨기는 것. https://darkside.com.au/snow/index.html 에서 프..

코드key == $key) { $ret = ["code" => true, "flag" => $FLAG]; } else { $ret = ["code" => false]; } die(json_encode($ret)); } function gen_key(){ $key = uniqid("welcome to wargame.kr!_", true); $key = sha1($key); return $key; }?> view-source key 값이 맞아야 flag가 출력된다. 공격php의 Type Confusion에 대해 알아보았다. → 문자열끼리 동일한..

sql 취약점을 이용해서 id에 admin' or 1=1#를 넣어 계정을 생성했다. 제대로 admin으로 로그인해야 할 것 같다.'를 쓰는 건 맞는 것 같다. 문제에서 create문으로 id 크기는 32까지 받고 있다. 만약 32를 넘어가면 자른다. 이걸 이용해서 풀어본다..? → "admin + 공백문자 27글자 + 아무 문자"로 뚫을 수 있다. https://jwcs.tistory.com/29회원가입할 때 id 최대길이를 늘려주어야 한다. (로그인할 때도 마찬가지) 위 방법이 안 먹혀서 그냥 maxlength를 삭제해서 계정을 생성하고 로그인을 해주었더니 flag가 떴다. 나는 32글자가 제한이길래 계정 생성할 때 32글자 이상으로 적었었는데 생성이 됐던 걸 보면 입력이 안됐던 것 같다. (제대로..

코드 // Name: chall.c// Compile Option: gcc chall.c -o chall -fno-stack-protector#include #include #include #include #include #include #define FLAG_SIZE 0x45void alarm_handler() { puts("TIME OUT"); exit(1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler);}int main(void) { int fd; char *flag; initialize();..

코드"; echo "FLAG : ".$FLAG; } }else{ echo "wrong.."; } }?>IDPW get source아이디랑 패스워드 입력 받음 id는 null값이 아니여야 하고, guest/blueh4g를 제외한 값을 찾아야 한다. select문을 리턴해주는 함수는 mysqli_fetch_array() 함수를 사용하고 있는데, 이 함수는 한번에 한 개의 데이터 행을 배열 형태로 가져온다. 더이상 배열의 형태로 반환할 데이터가 없을 때까지 true를 반환하여 조건문을 이용하면 모든 배열 값을 호출할 수 있다. 공격sql 취약점을 이용해서 id에 or 조건문을 넣어서 뒤에는 주석처리 되게 하려고 했지만 → 실패a' or 1=1--문제에 bypass filtering이라고 ..

코드 // Name: chall.c// Compile Option: gcc chall.c -o chall -fno-stack-protector#include #include #include #include #include #include #define FLAG_SIZE 0x45void alarm_handler() { puts("TIME OUT"); exit(-1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30);}int main(int argc, char *argv[]) { int fd..