C random 함수를 python에서 실행하기.

2022. 12. 9. 10:43·Tips & theory
728x90
반응형

서론

꽤나 많은 문제들에서 random 함수를 사용한다.

더불어 seed는 time인 경우가 대부분이다.

결국 이를 가져와서 rand 값을 일치시켜줘야하는데, 이를 위한 python 코드이다.

 

Code

from ctypes import CDLL

libc = CDLL('/lib/x86_64-linux-gnu/libc.so.6')
libc.srand(libc.time(0))
rand = libc.rand()

print(rand)

 

참고사항

문제에서 srand의 사용 시점과, rand의 사용 횟수가 가장 중요하다.

 

예를 들어 srand가 특별한 delay 없이 사용된다면 아무 문제 없지만,

sleep()과 같은 함수로 delay를 강제로 주거나

서버와 로컬의 연결이 불안정하다면 time 값이 변경될테고, 이로 인해 출력 결과가 달라진다.

페이로드도 마찬가지로 앞, 뒤에 sleep()을 어느정도 주어 보정이 가능하다.

 

더불어 rand 함수의 사용 횟수도 중요하다.

문제 내에서 rand 함수가 여러번 사용되거나 특정 조건에서만 사용된다면 이를 맞춰줘야한다.

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Tips & theory' 카테고리의 다른 글

libc database. local에서 사용해보자.  (0) 2023.01.07
dreamhack 문제 upload + git 기본 사용법  (0) 2022.12.21
for "민규"  (0) 2022.11.27
docker gdb attach & pid로 gdb attach  (0) 2022.11.25
memory leak 관점에서의 format string bug의 유용성.  (2) 2022.11.23
'Tips & theory' 카테고리의 다른 글
  • libc database. local에서 사용해보자.
  • dreamhack 문제 upload + git 기본 사용법
  • for "민규"
  • docker gdb attach & pid로 gdb attach
wyv3rn
wyv3rn
아저씨의 흔한 취미. wyv3rn#1249
  • wyv3rn
    think storage
    wyv3rn
  • 전체
    오늘
    어제
    • 분류 전체보기 (494) N
      • To do list (6)
        • Doing (0)
        • Complete (6)
      • Diary (35)
      • Tips & theory (77)
      • Kernel Exploit (23) N
        • Theory (15)
        • Exercise (1) N
      • Wargame (313)
        • pwn.college (34)
        • Dreamhack (148)
        • pwnable.kr (15)
        • Lord of Sqlinjection (3)
        • Cryptohack (20)
        • Root me (27)
        • CodeEngn (4)
        • Exploit Education (22)
        • ROP Emporium (8)
        • H4C (10)
        • Hackerchool (22)
      • CTF (40)
        • Solved (38)
        • Unsolved (2)
      • Script (0)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

    • PWN wargame 모음 (및 느낀점)
    • 비공개 글들에 대해.
    • 뭐라도 하나 얻어가시길...
  • 인기 글

  • 태그

    64bit
    lob
    _IO_FILE
    exploit education
    rop
    CANARY
    FSB
    pwntools
    la ctf
    cryptohack
    Buffer Overflow
    heap
    Format String Bug
    BOF
    tcache
    Me
    phoenix
    x86
    RTL
    pwnable.kr
    32bit
    root
    docker
    ROOT ME
    dreamhack
    x64
    libc
    hackerschool
    root-me
    vtable
  • 최근 댓글

  • 최근 글

  • 250x250
    반응형
  • hELLO· Designed By정상우.v4.10.3
wyv3rn
C random 함수를 python에서 실행하기.
상단으로

티스토리툴바