전체 글 108

SQL Injection 실습

SQL 삽입(SQL Injection)은 응용 프로그램 보안 상의 허점을 의도적으로 이용해, 악의적인 SQL 문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 방법이다. SQL Injection 실습을 위해 가상 환경에서 만든 홈페이지에서 웹 취약점인 SQL Injection을 이용해 로그인 해보도록 하겠다. 위와 같이 ' or 1=1#로 로그인이 되는 것을 확인할 수 있고 ' or 1=1# 저 SQL Injection 구문을 해석해보자면 로그인을 하는 과정에서 사용자가 입력한 id와 pw 값이 데이터베이스에 저장된 값과 일치 하는지 조회를 하는데 그 부분이 위 PHP 코드의 select * from members where mem_userid='$id' 부분이다. 이 SQL ..

Ubuntu Pycharm, pypcap 설치 오류

Ubuntu pycharm에서 pypcap 설치 시 AttributeError: 'module' object has no attribute 'main' 위와 같은 오류 때문에 sudo python -m pip pypcap 터미널에서 수동으로 설치를 해봤지만 또 다른 오류가 났다. 이 문제를 해결하는 방법은 다음과 같다. sudo apt-get install libpcap-dev libpq-dev sudo python -m pip install pypcap 두 패키지를 설치한 후에 다시 pypcap을 설치해주면 설치가 성공적으로 된 것을 확인할 수 있다. 참고 https://github.com/facebook/prophet/issues/418

Language/Python 2019.04.14

Volatility를 이용한 메모리 분석

1. Volatility 이용하여 Profile 정보 확인 2. netscan 명령어를 통해 활성화된 네트워크 연결 정보 확인 3. pslist 명령어를 통해 현재 작동중인 모든 프로세스 출력 4. psscan 명령어를 통해 종료된 프로세스, 비활성화된 프로세스, 루트 킷에 의해 숨겨지거나 연결이 끊긴 프로세스 출력 https://aaasssddd25.tistory.com/54 https://s0ng.tistory.com/entry/%EB%94%94%EC%A7%80%ED%84%B8%ED%8F%AC%EB%A0%8C%EC%8B%9D-Volatility-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-pslist-psscan-pstree-psxview-%ED%94%8C%EB%..

Forensics 2019.04.13

Git pull

git push 할 때 아래와 같은 오류가 나는 이유는 내가 작업한 변경사항이 다른 사람이 작업한 변경사항과 중첩되는 것을 Git이 탐지해서 앞에서 작업한 것을 뭉개지 않도록 정지시키는 것이라고 합니다. git pull origin master git push origin master 때문에 변경 사항을 pull 해서 가져온 후 현재 작업중인 작업본과 병합해서 push 해야합니다. 참고 https://statkclee.github.io/git-novice-kr/09-conflict/

Git 2019.04.01

암호화/복호화, 암호 알고리즘

암호 공부 중에 이해한 것을 바탕으로요약 정리하여 포스팅 해보도록 하겠습니다! 암호화/복호화 암호화(encryption)은 누군가가 읽어볼 수 없도록알고리즘을 이용하여 정보(평문)를 전달하는 과정이고 이를 복호화(decryption)함으로써암호화된 정보를 다시 읽을 수 있다. 즉 암호는 개인정보 보호와악의적인 공격자의 공격으로 인하여데이터가 누출되었을 때중요한 자료들을 바로 가져갈 수 없도록 처리하는 역할을 한다. 암호 알고리즘데이터를 암호화를 하기 위해서암호 알고리즘이 쓰이고암호는 크게대칭형 암호와 비대칭형 암호 2가지로 나눌 수 있다. 대칭형 암호는암호화할 때 사용하는 키와복호화할 때 사용하는 키가 동일한 암호화 기법이다.예를 들어만약 HELLO라는 문자열을ABCDE로 암호화했다면 복호화도 반드시 A..

Network 2018.12.25

Form 태그, GET, POST 방식

정리 용도로 간단하게 폼 태그와 GET, POST 방식에 대해 포스팅을 해보도록 하겠습니다. Form 태그란 사용자의 데이터 입력을 받는 양식입니다.예를 들면아래와 같이 네이버 로그인 화면과회원가입, 게시판, 글, 파일 업로드 등이 있습니다. 폼 형식은 다음과 같습니다. 텍스트 필드, 체크 박스 태그 등 method, 데이터를 전달하는 방식 즉 Form을 통해사용자가 입력한 데이터를 서버에 전송하는 방법으로는 GET 방식과 POST 방식이 있습니다. GET은 URL에 정보가 담겨서 전송되고, 전송할 수 있는 정보의 길이가 제한되어 있습니다. ex) /index.php?id=a ... POST는 HTTP 패킷 헤더의 body에 담겨서 전송되고, URL에 데이터가 노출되지 않으며, 전송할 수 있는 데이터 길..

Network 2018.12.25

[Webhacking] Challenges 3. form post, sql injection

우선 즐겁게 네모네모 로직을 해준다. 이후에 gogo 버튼을 누르면 아래와 같은 화면으로 넘어가고 F12를 통해 소스를 확인해보면 입력된 데이터를 서버로 전송하는 form이 post 방식으로 전달되는 것을 확인할 수 있었다. input 태그 속성인 hidden을 지우면 아래처럼 name 앞부분에 value 값이 뜨는 것을 볼 수 있고 이 값을 1로 변경해 전송하면 다음과 같다. 그리고 와이어샤크를 통해 패킷을 확인해본 결과 answer=1&id=a 형식으로 데이터가 body에 넣어 전달되는 것을 확인할 수 있었다. 여기에 sql injection을 시도해보자. or '1'='1' 해도, or 1=1 해도, or 1(True) 해도 아래와 같은 메시지가 떴고, || 1=1 해도 똑같은 메시지가 뜨는 걸 보..

Web/webhacking.kr 2018.12.25

Gemfile, Gem = 루비 라이브러리 설치 및 사용

rails new myapp(프로젝트 이름) 위 명령어로 레일즈 프로젝트를 생성하면 Gemfile이 생성되는 것을 확인할 수 있는데 간단하게 설명하자면 Gem은 Ruby 라이브러리고 Gemfile은 다양한 Gem을 등록하는 파일이며, 우리는 그냥 Gemfile에 Gem들을 등록해 사용하기만 하면 된다. 1. Bundler 설치하기 먼저 올바른 Gem을 사용하고 관리할 수 있도록, 의존성 관리를 위해 Bundler를 설치한다. gem install bundler rbenv rehash 2. Gem, Gemfile에 추가하기 cd myapp vi Gemfile gem 'bootstrap-sass', '~>3.3.6' 3. 젬 설치하기 Gemfile에 Gem을 등록하고, 아래 명령을 실행한다. cd myapp..

modify 2018.11.27