1. Broken Access Control 읽어볼 것 vulnerability was found in 2019, where an attacker could get any single frame from a Youtube video marked as private. Insecure Direct Object Reference 2.Cryptographic Failures A cryptographic failure refers to any vulnerability arising from the misuse (or lack of use) of cryptographic algorithms for protecting sensitive information. 폴더 나오면 주소창에 바로 날려볼 것 http://10.1..
Content Discovery 1) robots.txt 2)favicon this can give us a clue on what framework is in use. curl https://static-labs.tryhackme.cloud/sites/favicon/images/favicon.ico | md5sum https://wiki.owasp.org/index.php/OWASP_favicon_database 3) Sitemap.xml 4) HTTP Headers curl http://10.10.49.162 -v 5) Manual Discovery 6) OSINT - Google Hacking/Dorking Filter Example Description site site:tryhackme.com ..
Lab: Source code disclosure via backup files - check robots.txt Lab: Information disclosure on debug page feroxbuster 사용하기 ./feroxbuster -u https://0a10005c0349fbdb835078c100270029.web-security-academy.net/ -w common.txt Lab: Information disclosure in version control history wget -r https://0a5200650369d0c28064a827007e0063.web-security-academy.net/.git recursive download from web .git 찾아서 분석하기 L..
써보고 느낀점 : 국내 증권사 API 사용이 더 편하고 안정적이다. 1) yfinance (야후파이낸스 API 이용) pip install yfinance 한국 주식, ETF 도 다운 가능 import yfinance as yf # get ohlcv data for any ticker by period. data = yf.download("MSFT", period='1mo', interval="5m") # get ohlcv data for any ticker by start date and end date data = yf.download("MSFT", start="2017-01-01", end="2020-04-24") # get intraday data for any ticker by period. d..
인프런 리버스쿨 레벨1 수업내용 32비트 운영체제 -> 2^32 -> 최대 4기가 메모리의 주소까지 사용 가능 주소는 바이트 단위 4기가 : 4* 1기가 = 4* 2^10 * 2^10 * 2^10 바이트 -> 2^32바이트 프로그램 동작원리 컴퓨터 구조와 운영체제에 대한 공부가 필요함 리버서가 관심있는 것은 알고리즘 •빌드 소스 코드 파일을 실행 가능한 독립 소프트웨어 형태로 가공하는 과정 또는 그 결과물 전처리 → 컴파일 → 어셈블리 → 링크 → 로드 편집 을 하고 , 조립 을 한 다음 모든 조각을 연결 시킨다 전처리 : 조건부 컴파일 명령어 , 매크로 , include 파일 처리 컴파일 : 소스코드에서 어셈블리 소스 코드를 생성 어셈블리 : 어셈블리 소스 코드에서 어셈블리 목록을 추출 오프셋 포함 링..
개인적인 참고 용도입니다 - 1 의 보수 : 0 은 1 로 , 1 은 0 으로 변경 ( 00000100 → 11111011) - 2 의 보수 : 1 의 보수에서 1 을 더한 값 ( 11111011 → 11111100) 스택 - 함수 호출 시 생성되는 지역 변수와 매개 변수가 저장되는 영역 - 높은 주소에서 낮은 주소로 신장 - LIFO 구조 : 가장 처음에 들어간 데이터가 가장 나중에 나옴 힙 - 동적으로 메모리 할당 시 사용하는 영역 - 낮은 주소에서 높은 주소로 신장 데이터 타입, 데이터 크기 비트 (bit): 0 또는 1 바이트 (byte): 8 비트 워드 (word): 16 비트 더블 워드 (dword): 32 비트 ( ARM 아키텍처에서는 워드) 쿼드 워드 : 64 비트 ( ARM 아키텍처에서는..
개인적인 참고 용도입니다 구글과 나는 어떻게 연결되나 tracert 8.8.8.8 리눅스에서 traceroute (UDP 패킷 보냄) tracert는 ICMP Echo Request -> 11단계 OSI7 계층 모델 2계층 Data Link Layer 물리주소로 MAC 주소 사용 이더넷 프로토콜 이더넷 : 1980년에 처음 개발되었으머 1983년에 IEEE802.3으로 표준화 됨. 여러 컴퓨터가 동시에 데이터를 보낼 수 있음 Collision handling : Carrier Sense Multiple Access - Collision Detection (SCMA/CD) WLAN ARP - 같은 네트워크 대역에서 MAC주소를 알아오기 위해 사용함 ARP 테이블 확인하기 arp man arp arp -a ..
[스터디 노트] Udacity - Intermediate Python Nanodegree 2. Advanced Python Techniques Lesson 2. Representing Data Representing Data 어떻게 데이터를 표시할지에 대한 고민이 필요함. Variables and Namespaces 복사하면 객체를 복사하는 것이 아니라 Namespace 안에서 Reference를 추가하는 것. == : comparing value is : comparing identity # == : comparing value # is : comparing identity print(1 == 1.0) # True print(1 is 1.0) # False print(id(1)) print(id(1.0..
In [178]: # 시퀀스형 In [179]: # 컨테이너(Containd -> 서로 다른 자료형을 담을 수 있음: list, tuple, collections.deque) # a = [3, 3.0, 'a'] # 플랫(Flat : 한개의 자료형[str, bytes, bytearray, array.array, memoryview]) #가변형 : List, bytearray, array.array, memoryview, deque #불변(tuple, str, byte) In [180]: # 지능형 리스트 Comprehending List chars = '+_)(*&^%$#@!~)' chars[2] = 'h' #불변형이라 못바꿈 --------------------------------------------..
In [80]: # Special Method(Magic Method) # 파이썬의 핵심 # 시퀀스, 반복, 함수, 클래스 In [81]: print(int) In [82]: print(float) In [83]: # 모든 속성 및 메소드 출력 print(dir(int)) print(dir(float)) ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnew..
In [1]: # 클래스 구조 class Car(): """ Car class Author : Kim Date : 2021.04.25 """ # 클래스 변수(모든 인스턴스가 공유) car_count = 0 def __init__(self, company, details): self._company = company self._details = details Car.car_count += 1 def __str__(self): return 'str : {} - {}'.format(self._company, self._details) def __repr__(self): return 'repr : {} - {}'.format(self._company, self._details) def __del__(self):..