해킹과 보안: 7개의 글
REST API 사용을 위한 인증 방법 4가지Stateless 한 REST API 를 사용하기 위해서는 4가지의 인증방법이 있다. Basic Authentication, Token Authentication, API Key & Secret Authentication, OAuth2.0(Open Authorization) 이 그것이다. 1. Basic AuthenticationHTTP 표준 사양에 따라 매 요청시 헤더의 Authorization 필드에 아이디와 패스워드를 넘겨주는 방식으로 사용자를 인증하는 방식이다.이 방식은 보안상 매우 취약하고 탈취가 쉽다.특히 SAP 방식에서는 자바스크립트 코드가 그대로 드러나기 때문에 더 위험하다. 2. API Token Based Authentication 프로세스A..
Intercept Server Responses에서 디폴트는 체크안되어 있는데 체크하고,ajax와 같은 response를 확인하려면 Was intercepted 를 체크해야 intercept 할 수 있다.
버프슈트를 이용해서 현재 요청을 가로채서 매개변수를 변경하여 봅니다. 이것은 화면에서 자바스크립트등으로 입력값의 길이를 제한해 두었다던가, 숫자등으로 입력값의 타입을 제한 하는등의 노력을 무력화 시킬 수 있습니다. 실제로 코딩에서는 서버측에서도 동일한 체크를 반드시 수행해야만 합니다. "스프링 프레임웍에서 MyBatis, Oracle 사용하기" 에서 사용한 샘플에 테스트 데이터를 추가하고, 글번호를 파라미터로 넘겨서 글 내용을 보는 페이지는 추가하여 테스트 해 봅니다. 보안관련 테스트를 허가받지 않은 사이트에 하면 절대 안됩니다. 1. 샘플 데이터를 입력합니다. sqldeveloper 에서 입력 쿼리를 작성하고, 스크립트 실행 버튼(단축키 F5)을 눌러 실행합니다. sqldeveloper 는 기본적으로 ..
이제 웹프로그래밍에서 Secure Coding 은 필수가 되었습니다. 설계 단계에서부터 보안설계가 들어가고, 그에 따라 코딩 시작부터 보안을 고려해서 코딩을 하게 됩니다. 하지만 늘어나는 공수에 대한 산정은 이런 추세를 아직 따라가고 있지를 못하는것 같아서 안타깝습니다. Burp suite 는 웹 프록시 입니다. 웹브라우저만으로는 통신간의 정보를 상세히 보기가 힘든데, 프록시를 사용하면 클라이언트의 요청정보, 서버의 응답정보를 상세히 확인할 수 있습니다. 또한 서버로 전송되는 정보를 변경하여 취약점 분석에 사용할 수 있습니다. Burp suite 를 설치하기 위해서는 먼저 JRE 가 설치되어 있어야 합니다. 설치되어 있지 않다면 "윈도우에 JDK 8 설치하기" 를 참고하여 설치를 합니다. Burp sui..
중국에서 매일 매일 시도되는 인젝션 공격에 몸살을 앓던 중 이들의 공격툴에 대한 조사를 하게되었다. 돈만주면 뭐든지 다 된다는 중국해커들에게서 입수한 몇가지 해킹툴 정보를 알게되었다. 아래 툴은 해커들 사이에 거래되는 사이트를 통해 거래가 가능하다한다..ㅡㅡ;아래에 해당하는 임시테이블이 혹시나 여러분의 DB에 존재한다면, 이미 해킹당한 것이다.01.HDSI sql injection 공격툴 기능 sql injection 취약점이 존재하는 홈페이지의 DB 조회 및 시스테 명령어 실행 가능. php 및 디렉토리 유추 공격도 가능함. [DB 조회 가능 테이블->컬럼->데이터 출력] [DB 조회 가능 테이블->컬럼->데이터 출력] HDSI 의 특징은 시스템 명령어 실행시에 아래와 같은 테이블을 남기게 된다. 따라..
1. SQLIer - 취약점이 있는 URL을 검사하고 사용자의 개입없이 SQL Injection 취약점을 익스플로잇하기 위해 필요한 정보를 점검합니다. https://github.com/BCable/sqlier 2. SQLbftools - 블라인드 SQL Injection 공격을 사용하여 MySQL의 정보를 가져오는 시도를 하는 도구의 모음입니다. http://www.reversing.org/node/view/11 3. SQL Injection Brute-forcer - SQL Injection 공격 취약점을 찾고 이를 이용하여 공격하는 자동화 도구입니다. 사용자가 작업하는 내용을 볼 수 있으며, 블라인드 SQL 인젝션을 이용합니다. http://www.open-labs.org/sqlibf19beta1...
실습 1. 해킹대상 설정프로그램 실행 후 "Target" 부분에 URL만 넣으면 되지 않는다. 실제로 injection이 되는 방식은...예를 들어 php, mysql 조합의 웹서버라면 페이지는 보통 "index.php?id=xxx" 이런 식으로 되어 있다. 즉 해당 개체값을 number로 받아온다.따라서 Target URL에 "www.test.com/index.php?id=xxx"로 지정해 줘야 한다. 이러한 url 검색은 구글링을 통해 쉽게 할 수 있다. 구글링 검색조건 : inurl:index.php?id=inurl:page.php?id=inurl:bye.php?id=inurl:sex.php?id=....inurl:"id=" & intext:"Warning: mysql_fetch_assoc()inu..