python/python9 [python] pwn pwn보안 취약점을 테스트하고 이용하는데 도움을 주는 파이썬 라이브러리이다. 주로 메모리 취약점, 버퍼 오버플로우, 포맷 스티링 공격 등을 할떄 사용한다.설치 방법설치가 필요하다. pip를 사용하여 쉽게 설치할 수 있다.pip install pwntools기본 사용법함수설명'process()'로컬 프로세스를 실행시키는 함수이다.'remote()'원격 서버에 연결하는 함수'p32()'32비트 리틀 엔디안 형시으로 데이터를 패킹하는 함수이다.'p64()'64비트 리틀 엔디안 형식으로 데이터를 패킹하는 함수이다.'unpack()'패킹된 데이터를 언패킹하는 함수이다.예제 코드👇pwn 스크립트 예제이다. from pwn import *# 프로세스 실행p = process('./vuln_program')# 32비.. 2025. 3. 2. [python] remote 사용법💡'remote' 함수는 두가지 주요 파라미터를 받는다.'host': 연결할 대상 서버의 주소 또는 도메인 이름'port': 연결할 대상 서버의 포트 번호👇기본 예제from pwn import *# 서버에 연결p = remote('abcdefghijklmnopqrstuvwxyz.com', 1234)# 서버에 데이터 전송p.send('qwertyuiop')# 서버로부터 데이터 수신asdf = conn.recv()# 연결 종료p.close()print(asdf)추가 기능타임아웃p = remote('abcd.com', 1234, timeout=6)네트워크 지연이나 불안정성에 대비하여 'timeout'을 사용할 수 있다.5초 이내에 응답이 없을 경우 연결을 종료하도록 설정할 수 있다. 참고https:.. 2025. 3. 2. [python] join 1. join 함수매개변수의들어온 리스트들의 요소를 하나의 문자열로 결함한다.파이썬 내장함수이다. 추가 import가 필요 없다.'구분자'.join(리스트)👆 이건 join함수의 기본 구조 이다.리스트의 값 사이에 구분자를 넣어서 하나의 문자열로 합친다. 만약 ''.join(['c','h','u','u]) 인 상황에선 "chuu"로 문자열을 반환한다.(구분자에 아무것도 없었기 때문에 그대로 합쳐 준다.) join 함수 사용 예시a = ["pretty", "chuu"]print('-'.join(a))# 결과: pretty-chuu2. 추가 정보1. 리스트가 비어있을 때a = []print(','.join(a))# 결과:결과는 빈 문자열이 반환된다. 2. 리스트와 문자열a = "chuu"print(' '.. 2024. 8. 12. [python] 비트 연산자-오른쪽 시프트 보호되어 있는 글 입니다. 2024. 8. 10. [python] 비트 연산자 비트 연산자: 이진수(bit)로 표현한 숫자에 대해 비트 단위로 연산을 수행하는 연산자1. AND ('&')두 비트가 모두 1일때 결과가 1이 된다, 하나라도 0이면 0이다.a=13 # 1101b=11 # 1011print(a&b) #1001a1101b1011a & b1001위 표를 보면 이진수의 비교를 쉽게 이해할 수 있다. 첫번째 비트 연산자여서 표를 작성해 보았다2. OR ('|')두 비트중 하나라도 1이면 결과는 1이다. 둘다 0이면 0이다.a = 13 #1101b = 11 #1011print(a|b) #11113. XOR ('^')두 비트가 서로 다르면 1, 같으면 0이다.a = 13 # 1101b = 11 # 1011print(a ^ b) # 01104. 비트 NOT ('~')not은 .. 2024. 8. 10. [python] 서버와 통신하는 방법(pwn) https://iloveprogramming.tistory.com/206 [python] remote iloveprogramming.tistory.com데이터 보내기'send'문자열 또는 바이트를 서버로 직접 전송한다.데이터 끝에 줄바꿈을 추가하지 않는다.# 문자열 'hello'를 서버로 전송p.send(b'hello') 'sendline''send'와 유사하지만, 데이터 끝에 자동으로 줄바꿈('\n')을 추가한다.# 'hello' 뒤에 줄바꿈을 추가하여 서버로 전송p.sendline(b'hello')조건부 데이터 보내기'sendafter'함수는 서버로부터 특정 문자열을 받고 데이터를 전송한다.먼저 서버로부터 지정된 문자열이 나타날 때까지 기다리고 문자열을 전송한다.# 서버로부터 'Username:' 문.. 2024. 6. 18. 이전 1 2 다음