분류 전체보기 108

SQL Injection

SQL 인젝션의 정의 SQL 인젝션은 데이터베이스와 연동된 웹 애플리케이션에서 입력된 데이터에 대한 유효성 검증을 하지 않을 경우 공격자가 입력폼(게시글) 및 URL 입력란에 SQL문을 삽입하여 DataBase의 정보를 열람하거나 조작할 수 있는 취약점이다. OWASP 상위 10가지 웹 애플리케이션 보안 위협 목록 중에서도 최상위로 선정되어 있을 만큼 위협적인 취약점이다. SQL 인젝션의 공격 유형 3가지 1. 인증 우회(AB : Auth Bypass) - 대부분 아이디와 패스워드를 입력하는 로그인 페이지를 타겟으로 행해지는 공격이다. SQL 쿼리문의 TRUE/FALSE 의 논리적 연산 오류를 이용하여 로그인 인증 쿼리문이 무조건 TRUE 값이 나오게 하여 무력화 하는 원리이다. 2. 데이터 노출(DD ..

Web 모의해킹 2019.12.20

자동화 공격(AU)

자동화공격이란? 웹 어플리케이션에 정해진 프로세스에 자동화된 공격을 수행함으로써 자동으로 수많은 프로세스가 진행되는 취약점 예를 들어 게시판의 글을 수도없이 많이 남겨 정상적인 기능을 하지 못하도록 공격하는 것이다. 이 공격이 반복된다면 데이터베이스의 용량이 부족하여 서버의 과부화가 발생할 수 있다. 1. 공격하고자 하는 게시글에 접근하여 댓글을 작성한 후 프록시 툴을 통해 패킷을 잡는다. 2. "HELLO" 라는 문장 뒤에 숫자를 쓰고 자동으로 증가하는 것을 통해 공격의 여부를 판단한다. 3. 자동화 공격 실행 4. 정상적으로 자동화 공격이 실행된 것을 확인할 수 있다. 대응 방안 1. 데이터 등록이 일회성이 될 수 있도록 별도의 확인 값을 추가한다. 2. 짧은 시간에 다량의 패킷량이 전송되므로 공격으..

Web 모의해킹 2019.12.17

Android 모바일 Burpsuite 연동

안드로이드 앱에서도 BurpSuite를 연동하여 웹처럼 모의해킹을 할 수 있다 연동하는 방법에 대해 설명하겠다. 1. App과 Burp를 연결하기 위해서는 같은 Wi-Fi를 사용해야 한다. 2. Wifi를 클릭하여 "고급 옵션" 에 접속하고 수동으로 변경해준다. 3. CMD에서 ipconfig 명령어를 통해 IP 주소를 알아낸다. 4. 모바일의 "프록스 호스트 이름" 란에 IPv4 주소를 입력한다. 5. 아래 사진과 같이 버프에서 Port와 IP를 설정해준다. 6. 설정 후 모바일 앱에 접근하였을 때 userID와 userPW가 노출되어 변조가 가능하다.

Mobile 2019.12.09

웹 테스트 환경 구축

*Burpsuite 를 사용하기 위해서는 기본적으로 JRE 파일을 다운로드 해야한다. Burpsuite 를 사용하기 위한 테스트 환경은 DVWA를 사용할 것이다. 윈도우/리눅스의 환경 중 리눅스를 통한 환경을 다뤄볼 것이다. 리눅스를 통한 환경 구축 Metasploitable은 리눅스 기반의 취약점 진단용 가상머신이다. VM을 설치한 후 Metaploitable 을 다운로드 하여 압축을 풀어준다. *아래 링크 참조 https://sourceforge.net/projects/metasploitable/ VMware 실행 후 File->Open을 통해 압축해제 했던 Metasploitable을 불러온다. Metasploitable 이미지를 불러오면 [그림 4]와 같이 로그인 실행화면이 나타난다. 아이디 : ..

Web 모의해킹 2019.10.10

Python 9. range 함수, Random 모듈

Range 함수 for 문은 숫자 리스트를 자동으로 만들어주는 range함수와 함께 사용되는 경우가 많다. range함수는 기본적으로 range(종료) : 0부터 종료숫자 -1까지 범위 range(시작,종료) : 시작숫자부터 종료숫자 -1까지 숫자 범위 range(시작,종료,증가값): 시작숫자부터 종료숫자 -1까지 증가 값만큼 증가된 숫자범위 ex) list(range(1,10,2)) -> 1이상 9이하의 범위에서 1부터 2씩 더해진 값 list(range(10)) : 0부터 9까지 리스트를 출력. list(range(5,10)) : 5부터 9까지 리스트를 출력. list(range(1,10,2)) : 1부터 9까지 2씩 증가된 리스트를 출력. result = 0 : 결과값을 담을 변수를 나타낸다. re..

Python 2019.09.27

Python 8. 제어문(반복문) While

파이썬의 제어문(반복문) 제어문에는 기본적으로 while 문과 for 문이 있지만 오늘은 while문에 대해 알아보자 while 문은 조건문이 참인 동안에 while문 아래에 속하는 문장들이 반복해서 수행된다. 파이썬을 사용하는 사람들이 주의해야할 점은. 1. print 는 줄 라인이 딱 맞아야 반복문에 포함이 된다. 즉 들여쓰기가 맞아야 한다. 2. C언어 방식을 사용하더라도 C언어와는 다르게 % 앞에 , 를 쓰면 에러가 난다. count 라는 변수에 숫자 0을 대입시킨다. while count while문을 통해 count 가 10보다 작을 때 실행 count +=1 -> print 되기 전에 count값이 1씩 증가한다 print("%d Dongtan Boy" %count) -> %d 자리에 cou..

Python 2019.09.24

Python 7. 조건문

#input 함수 활용하기 대화형 모드(Ctrl+N) 로 변환한 뒤 [그림 1]의 왼쪽처럼 사용할 변수의 이름을 지정한다. 변수명을 지정한 다음에 input 함수를 추가하여 상대방이 입력하는 값을 출력하도록 한다. 주의해야 할 점은 e_mail처럼 사용할 때 언더바( _ ) 는 가능하지만 - 는 사용할 수 없다. 숫자 값을 받기 위해서는 형 변환을 해야한다. int 는 정수, float 는 실수값을 나타내고 싶을 때 사용한다. [그림 2]의 오른쪽 결과값을 보면 첫 번째 출력 값은 정수, 두번째 출력값은 실수 임을 알 수 있다. # 계산기 응용. 위의 [그림 3]을 보면 사칙연산을 하기 위해 사용자의 입력값을 받아야 한다. 하지만 제대로 된 형 변환을 하지 않아 에러가 나는 것을 확인할 수 있다. 에러가..

Python 2019.09.24
반응형