Try to be the expert.

Ainsetin's Hacking & PS & Math

분류 전체보기 66

웹개발 일지 5일차 (20.05.12)

오늘은 잠시 스토리보드를 접고 직접 화면을 구현하는 시간을 가져보았다. 그런데 sublime text 3는 내가 원하는 개발 환경이 아니라서 visual studio code를 설치하여 초기 개발 환경을 구축하였다. 구글링을 통하여 열심히 기초 개발 환경에 대한 블로그나 공식 문서를 많이 보고 직접 따라해봤다. 생각보다 확장 프로그램을 많이 깔아야 해서 시간이 오래 걸렸다. 이후에 크롬에서 F12를 눌렀을 때 sources에서 본 웹페이지 형식을 그대로 따라하기 위해 css, js 폴더를 프로젝트 폴더에 배치하고 index.html을 생성하였다. index.html에는 처음에 그렸던 사이트 소개 페이지를 넣을 예정이었다. 그러나 아직까지 HTML 활용법에 대해 아는게 별로 없어서 우선 맨 위의 고정바를 ..

2020 Web Develop 2020.05.23

웹개발 일지 4일차 (20.05.11)

저번 주에 응프화가 있는 수업 시간이 어린이날이어서 오랜만에 웹개발 일지를 써본다. 선생님께 매 수업 시간마다 써야 하냐고 물어봤더니 좋은 아이디어나 공부할 수 있는 시간이 충분하다면 그때 써도 괜찮다고 하셔서 이제 열심히 써야겠다. 아무튼, 오늘은 회원가입 페이지에 대한 스토리보드 구상을 해보았다. 구상하고 나서, 생각보다 깔끔한 것 같아 좋았고 입문자와 아닌 사람을 구분하여 계정을 생성하는 것은 추후에 사이트를 운영할 때 확실히 도움이 될 것이다.

2020 Web Develop 2020.05.22

웹개발 일지 3일차 (20.05.04)

오늘은 스토리보드 작성을 이어서 하였다. 간단하게 메인 화면을 전에 구상하였기 때문에 그 화면을 구현하는 것을 우선으로 하고 싶었지만, 전반적인 틀을 마무리 해야 하므로 웹페이지의 개수는 얼마나 할지 먼저 생각해 보았다. 우선 index.html 파일에 메인 화면을 구성할 것이고, login과 탭에 대한 스토리보드를 작성하였다. 로그인 탭은 많은 것이 필요 없다고 생각하여 Subhack에 대한 간단한 설명과, ID와 PW를 넣는 칸의 공간을 반으로 분리하여 구상하였다. 로그인 세션 유지 체크박스와 비밀번호 찾기 등의 기능을 제공할 예정이다. 조만간 내가 원하는 도메인을 사야 할 것 같고, 그 전에 기본적인 틀은 직접 구현해서 연결해야겠다.

2020 Web Develop 2020.05.22

웹개발 일지 2일차 (20.04.28)

오늘은 저번 1일차에 정한 주제를 구체적으로 어떻게 구현할 것인지 구상하였다. 우선, 구체적인 계획보다는 디자인적인 면을 충분히 고려하기 위해 스토리보드 작성을 시작하였다. 웹사이트를 만들 생각을 하니, dreamhack.io같은 사이트처럼 프로젝트명과 사이트명, 슬로건이 필요할 것 같아 이렇게 정해 보았다. 프로젝트명 : Subhack Develop Project (SDP) 사이트명 : Subhack 슬로건 : 해킹의 모든 것을 담다 그리고 대략적인 사이트 메인의 모습은 어떻게 할 것인지 직접 그려보았다. 5월 첫째주까지는 웹사이트에 어떤 요소가 들어가야 할지, 사이트 페이지의 개수는 몇개로 할 것인지, 어떤 기능을 사용하여 구현할 것인지 등 구체적인 계획을 세워보고, 이후 직접 손으로 스토리보드를 그..

2020 Web Develop 2020.05.05

HackCTF RTC Write-up

오랜만에 라옵을 작성해본다. 요즘 동아리 관련 일을 하니 며칠동안 안잡은 해킹도 자연스럽게 하게 된다. 그런 의미로 열심히 작성해보겠다. 이번 문제는 RTC(Return to csu) 문제이다. 한번 파헤쳐보자. 우선 zip 파일 안에 어떤 것이 있는지 보겠다. 문제 바이너리와 바이너리에 맞는 libc 파일 하나가 들어 있었다. 우선 바이너리 안에 있는 보호 기법을 확인하자. 64bit 기반 아키텍쳐이고, NX bit 이외에 특별한 보호 기법이 보이지 않는다. 이제 IDA로 까보자. 보니까 간단한 write & read 프로그램이다. buf의 크기가 0x40byte이고, read로 0x200을 받으므로 BOF 취약점이 생긴다. 그런데, NX bit가 걸려 있으므로 쉘코드를 놓고 실행하지는 못하기 때문에,..

Hacking/HackCTF 2020.05.01

linux gcc 사용법을 알아보자!

1) gcc 파일명(*.c) : Default로 out 파일이 생성된다. (ex a.out) 2) gcc -c 파일명(*.c) : 오브젝트 파일을 생성한다. 3) gcc -c 오브젝트_파일명(*.o) 파일명(*.c) + gcc -o 실행파일명(*.out) 오브젝트_파일명(*.o) 4) gcc –o 실행파일명(*.out) 파일명(*.c) : 실행 파일을 만든다. (3번을 한줄 로...) -------------------------------------------------------------------------- 1. -Wall 옵션 : 모든 모호한 코딩에 대해서 경고를 보내는 옵션 2. -W 옵션 : 합법적이지만 모호한 코딩에 대해서 경고를 보내는 옵션 3. -W -Wall 옵션 : 아주 사소한 모..

Hacking 2020.04.28

웹개발 일지 1일차 (20.04.21)

한번도 해보지 못한 웹개발을 학교에서 수행평가로 한다고 해서 나도 한번 개발 일지를 써본다. 오늘은 웹사이트의 주제를 선정하는 시간을 가졌는데, 나는 블로그의 대표적인 토픽대로 해킹과 관련된 사이트를 만들고 싶었다. 그래서 누구나 사이트에 들어와서 서로 소통하고 정보를 공유할 수 있는 커뮤니티를 만들 것이다. 각종 CTF나 Wargame을 추천하는 탭부터 시작하여, 채팅 기능과 간편한 파일 공유 기능을 가지고 있는 유용한 웹사이트를 만들고 싶어서이다. 아직 해킹에 대해서는 1년을 배워도 초보지만, 나처럼 해킹공부를 어려워 하는 사람들이 많다고 생각하기 때문에 그런 사람들을 대상으로 하는 웹페이지를 만들고 싶다. 이 해킹 커뮤니티라는 토픽에서 벗어날 생각은 없으며, 이제 열심히 짬내서 웹공부를 해야겠다 ㅠㅠ

2020 Web Develop 2020.04.22

2020 TRUST & STEALTH CTF 출제 및 운영 후기

이 대회는 원래 3월 초에 개학 후 신입생들의 동아리 지원과 해킹에 대한 관심도 향상에 도움을 주기 위해 이 대회를 매년 해 왔었고, 작년에는 내가 직접 문제를 풀어 보았기 때문에 더욱 의미가 있는 CTF이다. 신입생들을 위해 만든 CTF이기 때문에 올해는 직접 출제 및 운영을 도맡았다. 처음 해보는 CTF 운영이라 기대도 있었지만, 초기에 홍보를 위해 많이 노력해야 되더라. 열심히 하고는 싶은데 신입생 친구들이 많이 참여해 주어야 우리도 힘이 나는걸 몸소 느꼈다. 올해는 작년 대비 절반 정도에 못 미쳤지만, 그래도 열심히 풀어주는 친구들이 고맙더라. 올해 STEALTH의 일반동아리장을 맡으면서 책임감이라는 것을 많이 느낀다. 진짜 동아리에 들어온 직후에는 내가 이렇게 될 줄 몰랐는데, 내신을 떠나 동아..

Hacking/CTF 후기 2020.03.27

HackCTF Unexploitable #1 Write-up

이번엔 기본 RTL 문제를 풀어보겠다. 우선 보호 기법부터 확인하자. 보니까 평범하게 컴파일된 바이너리이다. NX bit만 설정되어 있는 것을 볼 수 있다. IDA로 코드를 보자. 우선 64byte 입력에 s의 크기가 16byte이므로 BOF가 가능하다. 보니까 easy RTL 이라고 되어 있다. 왜 그런지 확인해보자. 여기서 system을 호출하므로 call 할 때의 주소를 RET에 집어넣으면 되겠다. 문제는 "/bin/sh"문자열을 구해야 한다는 것인데, 어디선가 "sh"라고만 쳐도 쉘이 실행되는 것을 본 적이 있었다. 일단 Shift+F12로 문자열 검색을 해보았다. 보니까 fflush 문자열이 있는 것을 확인할 수 있었다. 따라서 그냥 's'의 주소를 찾아 "sh" 문자열을 읽어낼 수 있다. 알파..

Hacking/HackCTF 2020.02.20

HackCTF You are silver Write-up

오랜만에 hackctf 라업을 작성하는 것 같다. Format String Bug를 제대로 공부하고 와서 그런지 이번 문제도 어렵지 않게 풀 수 있을 것 같다. 그럼 문제를 풀어보자!! checksec부터 시작!! 평범하게 컴파일 된 바이너리이다. GOT overwriting을 할 수 있다. 그럼 IDA로 한번 보자. 보니까 s에 46byte 크기를 입력할 수 있고, 그것을 printf로 그냥 출력한다. 따라서 FSB 문제라는 것을 알 수 있다. 문제의 구성은 get_tier함수를 실행하고 난 리턴 값을 출력해 주는 것으로 간단하다. 보니까 main에서 가져온 v6값을 전제로 티어를 정해주는 것을 알 수 있었다. 그런데 main에서 호출되지 않은 함수가 존재하였다!! 이것은 인자가 4라면 flag를 출력..

Hacking/HackCTF 2020.02.17