전체 글

모의해킹 및 보안

Netcat

Netca(nc)t은 TCP/UDP프로토콜을 이용하여 네트워크를 연결해 데이터의 RW하는 명령줄 유틸리티. Netcat 구문 nc [options] host port 기본적으로 nc의 경우 TCP연결. nc -u host port -u 옵션을 통해서 UDP연결이 가능 포트 검색 단일 포트 혹은 범위를 지정하여 검색이 가능 -z옵션은 데이터를 전송하지 않고 열린 포트를 검색 -v옵션은 자세한 정보를 출력 nc -z -v 10.10.8.8 80-90 위와같이 80-90 사이의 포트의 개방 여부를 확인 가능 개방되었을 경우 success, 닫혀있을경우 failed 출력 grep를 통해 열린 포트만 확인 가능 nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded 서버 소프트웨어와 ..

모의해킹 및 보안

File Upload Vulnerability Summary

파일업로드 공격 : 공격자가 임의의 파일을 업로드 할 수 있는 공격 파일 업로드공격 시나리오 파일 업로드 취약점이 발생할 경우 명령 실행, 파일 탐핵과 같은 서버측의 공겨에 더불어서 다른 취약점의 유발 및 바이러스 배포, 쉘 스크립트 삽이 ㅂ등 그 시스템으로 가능한 모든것을 할 수가 있음. 다만 공격자들이 일반적으로 가장 선호하는 공격은 웹쉘을 업로드 하는 것임. 웹쉘 공격 방법 1. 서버에서 실행이 가능한 파일 확인 2. 실행이 가능한지를 확인. -> 업로드 된 파일의 위치를 알아야 함. 3. 웹 쉘의 업로드 및 실행. 업로드 된 파일의 위치 탐색 방법 1. 파일을 다운로드 가능한 경우 다운로드를 받아보기. 이미지의 src속성을 확인하기.(우클릭의 이미지 주소 복사, 개발자도구, 웹 요청 확인 등) 2..

Nomaltic Hacking Study

2023.06.01

-- File Upload 공격 : 공격자가 임의의 파일을 업로드 할 수 있는 공격. -> 웹 쉘 ( 바인드 쉘) -point 1. 우리가 웹 서버에서 실행 할 수 있는 파일이 무엇인지를 보아야 함. 2. 그걸 실행이 가능해야 함. 웹 브라우저로 우리가 올린 파일을 요청 ->업로드된 파일의 위치를 알아야 함. 3. 웹 쉘 업로드 및 실행. 웹 쉘 업로드시 일반적인 공격 방법 cat /etc/password => poc 코드 1. 일반적으로 웹서버의 소스코드를 탈취 -> DB를 탈취하는것과 같음 ( 일반적으로 DB의 계정정보는 소스코드 내에 존재) 가장 먼저 보는곳은 SQL문이 있는곳. -> SQL문을 사용하는데에 DB계정 정보 존재. 2. Revers Shell연결 : nce 명령어로 7777포트를 연결..

모의해킹 및 보안

NoSQL Injection

Mongo DB의 경우 문자열이 아닌 타일의 값의 입력이 가능 - > 연산자 사용가능. No SQL Injectiondb.user.find({"id": "입력", "age": "입력"}) 위의 입력칸에 입력이 가능할경우 admin의 age를 조회하는 방법 $ne 연산자(!=) 사용 admin, {"$ne": "아무값"} 위와 같은 방법으로 인증 우회 및 조회가 가능  Blind NoSQL InjectionBliend SQL Injection과 같이 참/거짓을 통해 DB의 정보를 가져올 수 있다.  db.test.test.find({"uid":"admin","pw":"입력"}) 마찬가지로 입력에 입력이 가능할 때 admin의 pw를 알아내는 방법은 다음과 같다.$regex : 지정된 정규식과 일치하는 문서..

프로그래밍 및 코딩/PHP

비관계형 데이터베이스

RDBMS : SQL을 사용해 데이터의 조회, 추가, 삭제 등의 작업 진행 NoSQL : SQL을 사용하지 않음. 매우 최적화된 저장공간이라는것, key값으로 데이어를 저장하는것이 RDBMS와의 차이점. DB별 개별문법을 가짐. 메모리를 기반으로 하는 DB인만큼 빠름. Mongo DB : JSON형태의 Document 저장. - Schema를 비정의 -> collection에(RDBMS의 table) 대한 정의가 불필요' - JSON형식의 쿼리 작성 - _id 필드가 Primary Key역할을 함. #RDBMS SELECT * FROM table_name WHERE column1 = 'data'and column2 < 10; #Mongo DB db.talbe_name.find({$and: [{column..

모의해킹 및 보안

파일 업로드 취약점

파일 업로드에 제한이 없다면 시스템에 코드를 업로드하기 굉장히 쉬워질 것이다. 위 취약점으로 가능한 공격은 명령 실행 및 파일 탐색 등 서버측 공격, 다른 취약점 유발, 바이러스 배포, 셸 스크립트 삽입 등 그 시스템으로 가능한 모든것을 할 수 있게 될 것이다. 우회 방법 - 서버측에서 실행 가능한 확장자 찾기 (php5, pht, phtml 등) - 이중확장자 파싱 주의할점으로 php와같이 실행하고 싶은 확장자가 뒤에 와야함. Apache의 경우 file.php.123와 같이 우회 가능 단, 현제는 업데이트를 톻애 apache에서 전반적으로 전반적으로는 이중확장자를 하나가 없는확장자일경우 나머지 하나를 인정하지만, 만약 맨 뒤의 확장자가 실제로 사용되는 확장자이거나 파일명에 한정해서는 이중확장자중에 뒤..

프로그래밍 및 코딩/PHP

케빈 미트닉 해킹기법

케빈 미트닉 해킹기법 rsh -------> 현제 ssh rlogin R서비스 (remote) : 원격 시스템 rshell의 기능 홈 디렉토리에 .rhosts에 IP주소를 쓰게 되면 인증없이 접근이 가능 cat .rhosts echo "+ + " > .rhosts 위 명령어 입력시 누구든 접근이 가능함. JSZ : IRC IP Spoofing으로 인증을 모두 우회 가능. 공격 원리 : TCP Session Hijacking TCP/UDP : 데이터 전송 방법 차이 TCP : 데이터가 깨지지 않고 온전하게 보내는것과 정확히 도착했는지가 목표 -> 이를 확인하는 과정이 존재 UDP : 데이터를 그냥 전송. 답장이 없을경우 계속해서 전 TCP 연결과정 Three way hand shake 데이터 전송 시작시 ..

프로그래밍 및 코딩/PHP

게시판 만들기_파일 다운로드

prepare($file_query);$stmt -> bind_param('i', $file_id);$stmt -> execute();$file_result = $stmt -> get_result();$file_row = $file_result -> fetch_assoc();// 다운로드할 파일의 경로 및 파일명$pathinfo = pathinfo($file_row['filename'],PATHINFO_EXTENSION);$filePath = "uploads/{$file_id}.{$pathinfo}";// 파일이 존재하는지 확인if (file_exists($filePath)) { // 다운로드할 파일의 정보 설정 header('Content-Description: File Transfer');..

잉여토끼
IQ Spoofing