-
level 20. 풀이System hacking training/Hackerschool F.T.Z 2018. 1. 20. 23:02
F.T.Z 올클했습니다. 계속 bof 문제가 나오다가 FSB가 나와 고생했습니다. 먼저 로그인 후 hint 파일을 확인해보니 bof 공격이 먹지 않습니다. 이유는 fgets 함수를 보면 알 수 있습니다. 이 프로그램은 간단히 입력한 값을 다시 출력해 주는 기능을 합니다. 하지만 이 문제는 format string bug 가 존재하는데 개발자의 실수 혹은 편의에 의해 생겨난 취약점입니다. setuid는 걸려있으니 메모리를 조작하여 쉘을 띄우면 될것같습니다. [과정] 입력값을 그대로 출력해주지만 여기에 %x 라는 형식지정자를 넣어보면..! 이런식으로 AAAA 의 값을 다시 한번 출력해주는 것을 확인함으로서 더미값이 3개가 들어가 있는것과 포맷스트링 공격 가능성을 확인할 수 있습니다. FSB또한 memory ..
-
9012번 괄호 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 20. 16:35
[문제] https://www.acmicpc.net/problem/9012 문제가 읽어보면 굉장히 간단합니다.[입력/출력] 처음 이 문제를 접했을때 간단하게 생각을 했습니다. '(' 가 입력될때 + 해주고 ')' 입력되면 - 해주면 마지막에 결국 '(' 개수와 ')' 개수가 동일한 결과만( ex) if(count == 0) ) YES를 출력하게 하면 되겠구나~ 그렇게 작성한 소스코드가 trouble에 있습니다.. http://hackstoryadmin.tistory.com/40?category=270793 여기 들어가보면 동일한 알고리즘으로 작성한 소스코드를 보실 수 있습니다.(삽질의 흔적) 하지만 한가지 생각을 못했던 것이 있습니다. 바로 이런 결과입니다. )( -> 즉 괄호가 닫히지 않아서 문제에서 ..
-
2941번 크로아티아 알파벳 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 17. 04:25
[문제] https://www.acmicpc.net/problem/2941 크로아티아 알파벳을 문장에서 찾아서 count++ 해주면 된다. 또 예를 드는 부분에 크로아티아 알파벳을 제외한 알파벳도 개수를 더하는것을 볼 수 있는데 왜그러는지는 모르겠지만 크로아티아 알파벳을 제외한 알파벳 또한 count++ 하고 마지막에 출력해주면 된다. [풀이] #include int main(){char arr[100];int i,len,count = 0;scanf("%s",arr);i = 0;while(arr[i]) //문장의 길이를 알기위함.{i++;}len = i;for(i = 0; i < len; i++) //문장에서 크로아티아 알파벳을 찾기 위함.{if(arr[i] == 'c' && (arr[i+1] == '=..
-
10828번 스택 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 13. 18:18
[문제] https://www.acmicpc.net/problem/10828 [입력/출력] [ex] 시스템을 공부하면서 스택에 대한 공부를 했던 기억이있는데 직접 스택을 구현하면서 스택 구조에 대해 상기 시키는 기회가 되었습니다. strcmp함수를 적절히 사용하여 입력한 문자열에 따라 다르게 동작하도록 코딩하였습니다. [풀이] #include #include int main(){int input,i,j,count = 0;scanf("%d",&input);char opcode[input][5];int operand[input];for(i = 0; i < input; i++){scanf("%s",&opcode[i]);if(!strcmp(opcode[i],"push")) // 입력한 문자열이 push일때 op..
-
[겨울 방학] 세미나 발표자료SCP(club)/seminar 2018. 1. 11. 16:14
동아리 S.C.P 에서는 각자 공부한 내용을 발표하는 세미나를 주 2회 진행합니다.
-
1100번 하얀 칸 풀이Programming/[BAEKJOON] acmicpc 2018. 1. 9. 13:25
[문제] URL : https://www.acmicpc.net/problem/1010 [입력/출력] 이렇게 8*8 총 64개 칸을 가진 체스판에서 말이 있다면 F 없다면 . 문자를 입력한다. 뭐.. 2진수라고 생각을 하면 될듯.... 그렇게 2진수로 생각을 해서 나타내보면 체스판은 이렇게 표현이 가능하다. 0) 0 1 0 1 0 1 0 11) 1 0 1 0 1 0 1 02) 0 1 0 1 0 1 0 13) 1 0 1 0 1 0 1 04) 0 1 0 1 0 1 0 15) 1 0 1 0 1 0 1 06) 0 1 0 1 0 1 0 17) 1 0 1 0 1 0 1 0 [풀이] #include int main(){char arr[8][8]; // 2차원 배열 선언 -> 8 * 8int count = 0,i,j; ..
-
PicoCTF 2017 LEVEL 1 [WEB EXPLOITATION] What Is Web 풀이CTF Write-Up 2018. 1. 7. 19:36
PicoCTF 라는 제 수준에 맞는 ctf가 있더군요. PicoCTF란? https://picoctf.com/about 위 URL 에서 PicoCTF에 대한 정보를 확인 할 수 있습니다. 동아리원들과 함께 CTF를 풀어봤는데요. 저는 What Is Web이라는 문제를 풀어봤습니다. 문제가 다 영어라.. 저는 파파고를 통해 번역을 돌려보았고 이 문제에 대한 내용을 이해할 수 있었습니다. 파란색부분에 링크가 걸려있어 확인을 해보니 some guy는 world wide web의 창시자인 팀 버너스리에 대한 내용이였고website를 눌러보니 새창을 통해 어떤 웹사이트로 들어가게 되었습니다. 별것없이 고양이 한마리 사진과 Click me to say hello! 버튼이 있더군요. 눌러보니.. 이런 메시지만 전달하..