전체 글(324)
-
OWASP Juice shop Difficulty 2
쇼핑 리스트를 확인할 때 페이지의 저장소 bid값이 저장된다. 해당 값을 변경하고 페이지를 요청하면 다른 사용자의 리스트를 확인할 수 있다. 서버에 피드백을 남기는 과정에서 파일을 업로드하는데 이 때, xml파일을 업로드할 수 있는 취약점이 존재하고 있다. HTML소스코드를 톻해서 확인할 수 있다. 악성 XXE 소스코드는 다음과 같이 작성할 수 있다. xxe payloads github을 구글링해서 수많은 페이로드를 확인할 수 있다. 로그인 과정에서 SQL injection을 통해 관리자 계정을 획득할 수 있다. 관리자 페이지에서 별5개짜리 피드백을 제거한다. 관리자 계정을 알고 있을 때 burp suite을 활용하여 브루트 포스 공격을 실행하여 패스워드를 알아내자 공격 과정은 다음과 같다. 1. 로그인..
2020.04.24 -
OWASP Juice shop Difficulty 1
OWASP-ZAP이나 Burp Suite를 통한 홈페이지 스파이더를 실행해보자. robots.txt , ftp 등 페이지를 확인할 수 있고 해당 폴더에는 여러 정보들이 포함되어 있다. (credential configuration.md 등등) XSS 회원가입 창에서 비밀번호 관련 인풋 컴포넌트가 일치하지 않는 경우에 submit버튼을 누를 수 없었다. disable="true"속성을 enable='true'속성으로 변경하여 데이터를 서버로 전송한다. 별점 0점 주는 것도 같은 맥락이다. HTML코드를 수정할 수 있는 웹 취약점을 활용한다. 웹에서 동작하는 자바 스크립트 코드 중에서 redirect메서드에 의해 사용자가 다른 페이지로 이동한다. redirect 메서드와 함께 사용되는 URL로 이동하면 비트..
2020.04.24 -
Python: Bruteforce, BoyreMoore Matching Algorithm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 # _*_ coding=utf-8 _*_ #BruteForce String matching Algorithm def bruteforce( pattern, text ): lengthOfPattern = len(pattern) lengthOfText = len(text) i = 0 while i 비교할 가치 없음 nu..
2020.02.19 -
Python: 기초 문법
mylist = [ [] for x in range(5) ] => [ [], [], [], [], [] ] mylist2 = [ [0]*10 for x in range(10) ] 10행 10열의 배열 생성 mylist[0].append(1) mylist[1].append(2) => [ [1], [2], [], [], []] mydict = { 'key1': value1 'key2: value2 } mydict['key3'] = value3 mydict2 = dict(sorted(mydict.items(),key = lambda x:x[1],reverse=True) - 문자열을 입력받고 대 소문자 개수 세기
2020.02.15 -
Python: 선택 정렬, 삽입 정렬, 버블정렬, 병합정렬
[ 선택 정렬 ] index 0~8번 까지 각각 선택해서 알고리즘이 진행된다. 선택한 요소의 이후요소들 중 선택한 요소보다 작은 값이면서 최소값을 구한 뒤 swap한다. [ 삽입 정렬 ] 리스트 list = [4,2,7,1,6]이 존재한다고 하자. list[0]인 4는 그대로 두고 1번 index부터 마지막 요소까지 알고리즘에 넣어준다. 첫번 째 요소는 처음 알고리즘 실행 시 1번 인덱스값과 비교하기 위해서 건들지 않는다. 1. 요소를 선택 2. 해당 요소와 이전 인덱스 값을 비교한다. 해당 값보다 작다면 둘의 위치를 바꾼다. 3. 이 작업을 0번째 인덱스와 비교할 때 까지 계속한다. [ 버블 정렬 ] 앞에 수가 뒤에 수보다 큰 경우 서로 위치를 변경한다. 앞에 수가 뒤에 수 보다 작은 경우 아무런 변화..
2020.02.15 -
Python: Binary Search (이진탐색) 2020.02.15
-
SW Expert Acadamy: Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 # -*- coding: utf-8 -*- str_1 = "Hello, World" str_2 = 'hello, world' str_3 = "150" int_1 = 3 float_1 = 3.5 # print(int(str_3)) # print(str(int_1)) list_1 = [1, 2, 3, 'a', 'b', 'c'] tuple_1 = (4, 5, 6, 'd', 'e..
2020.02.13 -
Android Hacking: Ettercap 사용법
Kali linux에 내장되어있는 네트워크 패킷들을 감청 변조할 수 있는 툴이다. 돋보기를 클릭해서 연결되어 있는 호스트들을 확인할 수 있다. 100.100.100.2 는 현재 칼리리눅스의 게이트웨이이다. 해당 주소를 Target1에 추가한다. Target1은 게이트웨이가 된다. ettercap이 사용하는 설정파일로 etter.dns의 정보에 기반하여 사용자에게 홈페이지 명과 홈페이지 아이피 주소를 서로 변환하는 작업을 수행한다. microsoft.com에 대한 아이피 정보가 기록되어 있는데 이 정보를 임의로 조작한 악의적인 사이트로 변경한 뒤 DNS Spoofing공격을 시도한다면 사용자가 microsoft 홈페이지 접속시 악의적 사이트로 접속하게 된다. 설정을 변경한 뒤 ettercap에서 플러그인을..
2020.02.13 -
Android Hacnking: Setup
1. 칼리리눅스 설치 2. 윈도우와 파일을 공유할 수 있는 환경 설치 hfs을 통해 파일공유 # apt-get install open-vm-tools open-vm-tools-desktop - 텍스트 복사 붙여넣기 3. 가상 디바이스는 Nox 활용 4. netcat을 통한 칼리리눅스와 데스크탑 통신 l: listening v: verbose p:port지정 칼리리눅스에서 데스크탑으로 연결 시도 netcat포트 오픈 시 -e cmd.exe 인자를 추가하면 해당 포트로 연결되는 서버에서 명령어를 사용할 수 있다.
2020.02.13 -
안드로이드 앱 조작(Tampering) 및 역공학(Reverse Engineering) #2 2020.02.03