Security 20

pypcap을 이용한 sniffer 만들기

python에서 Packet Capture Library 없나하고 찾아보다가 pypcap을 알게 되었습니다. 근데 pypcap에 대한 정보가 의외로 많이 없더라고요,,, (사실 제가 못찾는 거 같아요,,) 혹시라도 제 글을 보고 도움이 되실 수도 있으니 포스팅 해보도록 하겠습니댜! https://pypcap.readthedocs.io/en/latest/ 먼저 pypcap 사용 예는 위 사이트에 친절하게 설명되어있습니다. 위 코드를 먼저 보신 다음 아래 글을 참고해주세요! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def sniffer(ifs, count, firstgetpacket): sniffer = pcap.pcap(name=ifs, promisc=True, immediate=True..

Security/Network 2019.05.08

Directory listing 취약점

만약 디렉토리 취약점이 존재한다면URL에 폴더명만 입력했을 때위와 같이 login 폴더 아래에 있는 모든 파일들을 볼 수 있다. 즉 Directory listing이란디렉토리에 접근할 때디렉토리 하위 폴더와 파일들을 볼 수 있는 취약점이다. 패치 방법은Indexes 부분을 지우고설정 파일을 수정했으므로 apache2를 재시작합니다.service apache2 restart 다시 들어가보면 forbidden으로 막혀져있는 것을 확인할 수 있다. 이후 URL에 디렉토리 접근 시웹사이트에 페이지를 표시할 수 없습니다 또는 forbidden이 나오지 않는다면Directory listing에 취약한 것이므로실행 과정은 위와 같다.

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 구문을 이용해SQL ..

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%..

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

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

Security/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에 데이터가 노출되지 않으며, 전송할 수 있는 데이터 길..

Security/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 해도 똑같은 메시지가 뜨는 걸 보니=도 ..