본문 바로가기

보안

(22)
[웹해킹] DB해킹을 위한 명령어 들 실습에서 사용된 환경은 phpMyAdmin 을 사용하였다. 먼저 DB 명령어를 연습하기 위해서 DB하나를 만들어보자. ​ ​ 위의 화면에서 New 를 클릭하면 왼쪽화면이 나오는데 DB의 이름은 mt_test1 로 하였다. ​ 그리고 Create 를 누르면 테이블을 만들수있는 화면으로 바뀌는데 테이블이름은 member 컬럼은 ​ 위와 같이 구성하였다. ​ DB에 값을 추가하는 명령어는 insert 로 ​ 위와같은 명령어 구성으로 ​ 이렇게 무작위 하게 추가하였다. ​ 이제 값을 서치할수있는 명령어인 select 를 사용하여 값을 출력시켜보자. ​ select * from member *은 모든 요소를 출력하는데 그 테이블명은 member이다 . 위와같은 명령어를 입력하면 테이블에 내가입력해둔 모든 요소가 ..
웹해킹 기초 공격 과 대응 방법 Brute Force 공격 (무자별 대입) -공격 가능한 모든 암호 조합을 무차별로 시도하는 공격 대응 : 로그인 제한을 두고 실패 시 일정 기간동안 로그인 금지 ​ Command Injection 공격 payload : 공격하기 위한 공격자체의 코드 , 실행되는코드 , 전송행위의 본래의도 exploit :취약점을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 스크립트 및 이런것들을 사용한 공격행위 대응 : ip만 들어올수있게함 다른게 붙어있다면 error 메시지 ​ File Inclusion 공격 대응 : 허락된 파일 만 불러오기 가능 , 허용되지않은 파일을 찾으면 error메시지 ​ ​ File Upload 공격 바인드쉘 - 공격 대상이 자신의 호스트에 리스너 포트를 열고 들어오는 ..
웹 프로토콜 분석 과 웹 기본 용어들 HTTP 프로토콜 상태 코드 200 : OK 400 : Bad Request 401 : Unauthorized 403 : Forbidden 404 : Not Found 500 : Internal Server Error (이 의외에도 있지만 가장많이 보는 상태 코드들 이다.) ​ ​ 메소드 GET : URL 에서 지정된 정보 획득 , 일반적인 웹서핑시 주로이용 HEAD : 본무을 제외하고 헤더만을 전달받음 ,기타사항은 GET 메소드와같음 POST : 클라이언트 에서 서버로 정보를 전달 , 게시판,카운터, 뉴스그룹 등으로 메시지전달 PUT : 목적 리소스의 모든 현재 표시를 요청 Payload 로 바꿈,원격지 서버에 지정된 컨텐츠저장 DELETE : 원격지 웹서버에 파일을 삭제하기 위해 사용 put 과 반대..
IDA 사용법 IDA Pro User Tutorial 번역본 첨부파일 지뢰찾기 리버싱을 통한 IDA pro 사용법 출처 :https://xerxes-break.tistory.com/266 ​ ​
리버싱 repne ,scas을 사용한 문자열 컨트롤 CTF 문제를 푸는 도중 재미난 문자열컨트롤을 발견하였다. ​ 단순한 시리얼값을 찾아내는 문제였는데 시리얼값을 'ABCDEFG' 로 입력한후 비교하는 루팅을 찾는과정중에 ​ 이러한 repne scasb 명령을 보았다. 캡쳐에서는 안보이지만 바로위에 xor ecx,FFFF FFFF 과 xor eax, eax 가 있다. 즉 ecx를 FFFFFFFF로 , eax 를 0 으로 세팅해두는 부분인것. ​ 실행하기전에 레지스터를 확인해보니 앞에서 말했던거처럼 ECX에 FFFF FFFF 이 세팅되어있고 EAX에는 0 EDI에는 내가 시리얼로 입력해둔 'ABCDEFG' 가있는 모습인데. ​ repne의 명령어 즉 rep 계열의 명령어는 문자열컨트롤에 자주쓰이는 어셈블리 명령어 중 하나이다. 주로 ecx레지스터와 함께 자..
RVA to RWA 쉽게 계산하기 파일에서는 Offset로 위치를 표현하고 메모리에서는 address(VA) 로 위치를 표현하는데 위의사진에서는 파일과 메모리에서의 위치가 차이가난다. 그래서 메모리에서의 값을 확인한후 그위치를 수정하고자할때는 그위치의 Offset값을 구하여만 한다. ​ RAW = RVA - VirtualAddress(VA) + PointerToRawData ​ RAW은 파일에서의 주소 이다. RVA 는 메모리에서의 주소이다 VirtualAddress(VA) 은 메모리에서의 섹션시작위치이다. PointerToRawData 은 파일에서의 섹션 시작위치이다 위에서 RVA는 VA - ImageBase 로 구할수있는데 여기서 ImageBase 는 위에 사진에서의 메모리 시작 address를 보면 0부터 시작안하고 01000000..