본문 바로가기

분류 전체보기137

[머신러닝 입문]-1. 판다스(Pandas) 자료구조 판다스(Pandas)는 머신러닝에서 데이터셋을 다룰 때 주로 사용하는 라이브러리다. 이는 데이터를 효율적으로 다루기 위해 1차원 배열 형태의 시리즈(Series) 자료구조와 2차원 배열 형태의 데이터 프레임(DataFrame) 자료구조를 지원한다. ※데이터프레임은 엑셀에서 볼 수 있는 시트(Sheet)와 동일한 개념으로, 행과 열로 만들어진다. ※시리즈는 엑셀 시트의 열 1개를 의미하며, 데이터 값의 1차원 벡터(Vector)이다. 인덱스로 각 원소를 식별한다. 즉, 데이터프레임은 1차원 벡터인 여러 개의 시리즈를 이어 붙인 형태로 2차원 구조를 갖는다. 판다스 라이브러리를 사용하기 위해 import 명령을 통해 불러 왔고, as 명령을 사용해 pd라는 명칭으로 사용한다. pd.__version__ 속성.. 2021. 3. 24.
개발 환경 설정_구글 코랩(Google Colab) 코랩은 구글 클라우드 환경에서 파이썬 데이터 분석을 가능하게 하는 무료 코드 에디터다. 웹 브라우저에서 바로 실행하기 때문에 인터넷 접속이 가능한 컴퓨터와 스마트폰만 있다면 자유롭게 사용가능하다. 주피터 노트북(Jupyter Notebook) 환경을 기반으로 만들어졌으며, 머신러닝/딥러닝에 필요한 GPU 환경이 지원된다. 구글 계정에 로그인 한 뒤, 구글 드라이브에 들어간다. 왼쪽 상단 메뉴에서 [새로 만들기]->더보기->Google Colaboratory를 클릭하면 실행시킬 수 있다. 없으면 [새로 만들기]->[더보기]->[연결할 앱 더보기]에서 Colaboratory를 검색해 직접 설치해준다. 새로만들기를 하고 나면 위와 같은 빈 파일이 생성된다. 셀 왼쪽에 보이는 실행버튼은 입력한 코드를 실행시키는.. 2021. 3. 24.
[Toddler's Bottle] bof 문제풀이 오늘의 문제는 버퍼 오버플로우(BufferOverFlow) 관련 문제인 것 같다. wget 명령어를 사용해, http://pwnable.kr/bin/bof와 와 http://pwnable.kr/bin/bof.c 파일을 Seed 우분투에 다운로드 받았다. wget 명령어는 Web Get의 약어로, 리눅스에서 웹 상의 파일을 다운로드 받을 때 사용하는 명령어이다. 기본적인 사용법: wget [옵션] [url] ls 명령을 통해 파일이 잘 다운로드 됐는지 확인할 수 있다. bof파일을 실행해보면 permission denied가 뜬다. bof.c 파일을 확인해보자! cat 명령을 이용해 bof.c 파일의 내용을 확인해보았다. main 함수를 먼저 확인해보면, func 함수의 인자값으로 0xdeadbeef를 전.. 2021. 3. 23.
[Toddler's Bottle] collision 문제풀이 오늘의 문제는 위와 같다! 여기서 hash collision(해시 충돌)이라는 단어가 나온다. Hash Collision(해시 충돌)이란, 다른 값을 넣었을 때 같은 값이 나오는 것을 의미한다. 오늘 문제의 핵심은 해시 충돌이다! ssh col@pwnable.kr -p2222를 쳐서 문제에 접속해보자! ls -l 명령을 이용해 현재 디렉터리에 있는 파일의 목록을 봤다. cat 명령을 사용해 flag를 확인해봤지만, 어김없이 Permission denied가 뜬다. col.c 파일의 내용을 보면 위와 같다. main함수 먼저 확인을 해보자! 첫번째 if문에서 인자값의 개수가 2개 미만이면 프로그램이 종료된다는 것을 알 수 있다. 두번째 if문에서는 인자값 argv[1]의 길이가 20byte여야 함을 알 수.. 2021. 3. 20.
[Toddler's Bottle] fd 문제풀이 첫번째 포너블 문제는 위와 같다! 칼리 리눅스를 통해 ssh fd@pwnable.kr -p2222를 입력한 뒤, 비밀번호 guest도 입력하고 나면 접속이 된다. ls -l을 통해 현재 디렉토리에 있는 파일들을 확인해봤다. cat 명령어를 이용해 flag 파일을 보려 했지만, 예상대로 Permission denied가 떴다. cat 명령어를 이용해 fd.c 파일의 내용도 확인해보았다. 이 코드를 잘 해석해서 fd 실행파일에 인자값을 제대로 넣어야 문제가 풀릴 것 같다. if(argc 2021. 3. 20.
Challenge(old) - Challenge 26번 문제풀이 문제를 보면 아무것도 없이 view-source만 확인할 수 있다. view-source를 확인해보자! if(preg_match("/admin/",$_GET['id'])) { echo"no!"; exit(); } GET 방식으로 넘어온 id의 값이 admin이면 'no!'라는 문구를 출력한다. $_GET['id'] = urldecode($_GET['id']); id를, id를 urldecode()한 값으로 초기화 해준다. urldecode() 함수는 주어진 문자열을 디코드한 문자열을 반환한다. if($_GET['id'] == "admin"){ solve(26); } 만약 이 디코딩 된 id 값이 admin이면 문제가 풀린다. 실제로 id에 admin을 입력해보면, 'no!' 라는 문구가 뜬다. '디코딩'.. 2020. 11. 27.