Welcom-Pawn [misc]

2024. 11. 29. 16:03ยท๐ŸŒฒ Dreamhack/CTF Wriet-Up

๋ฌธ์ œ ์„ค๋ช…

you have a pawn, just promote it

=๋„ˆ๋Š” ํฐ์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค. ํฐ์„ ์Šน์ง„์‹œ์ผœ๋ผ.


๋ฌธ์ œ ๋ถ„์„

ํฐ์„ ์›€์ง์—ฌ ๋ฐ˜๋Œ€ํŽธ ๋์— ๋„๋‹ฌํ•˜๋ฉด ํ€ธ์œผ๋กœ ์Šน์ง„๋œ๋‹ค. ๊ทธ ์™ธ์—๋Š” ๋”ฑํžˆ ๊ตฌํ˜„๋œ ๊ธฐ๋Šฅ์ด ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. 

 

์ฝ”๋“œ๋ฅผ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์ž

EXPECTED_SEQUENCE = ['f1', 'a1', 'g1']

@app.route('/')
def chess_board():
    return render_template('chess_board.html')

@app.route('/check_moves', methods=['POST'])
def check_moves():
    move_sequence = request.json.get('moves', []) #์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ move_sequnce๋ฅผ ๋ฐ›์•„์˜จ๋‹ค
    if move_sequence[-3:] == EXPECTED_SEQUENCE: #๋งŒ์•ฝ move_sequence ๋ฆฌ์ŠคํŠธ์˜ ๋’ค์—์„œ 3๊ฐœ์˜ ์š”์†Œ๊ฐ€ EXPECTED_SEQUENCE์™€ ๊ฐ™๋‹ค๋ฉด
        flag_path = os.path.join(app.root_path, 'flag.txt') #์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ํด๋” ๊ตฌ๋ถ„์ž๋ฅผ ๋‹ค๋ค„์„œ ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค
        try:
            with open(flag_path, 'r') as file:
                flag_content = file.read().strip()
            return jsonify({"flag": flag_content})
        except FileNotFoundError:
            return jsonify({"error": "Flag file not found"}), 404
    else:
        return jsonify({"message": "Incorrect move sequence"}), 400

์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ f1, a1, g1์— ๊ธฐ๋ฌผ์„ ์œ„์น˜์‹œํ‚ค๋ฉด if move_sequence[-3:] == EXPECTED_SEQUENCE:  ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑํžˆ์ผœ flag๊ฐ€ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒƒ๊ฐ™๋‹ค.


๋ฌธ์ œ ํ’€์ด

ํฐ์„ ํ€ธ์œผ๋กœ ์Šน์ง„์‹œํ‚ค๊ธฐ ์ „์—๋Š” ์‹œ์ž‘ d์—ด์„ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ, ํ€ธ์œผ๋กœ ๋จผ์ € ์Šน์ง„์‹œํ‚จ๋‹ค. ์ดํ›„ f1, a1, g1์— ํ€ธ์„ ์ˆœ์„œ๋Œ€๋กœ ์œ„์น˜์‹œํ‚ค๋ฉด flag๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค(๊ฐ€์žฅ ์ตœ๊ทผ์— ์œ„์น˜ํ•œ ๊ณณ์„ ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ๋’ค์— pushํ•˜๊ธฐ ๋•Œ๋ฌธ์—).

DH{Welcome_KUCIS:lzdq7ZKzHZ+3EESwM1CNgA==}

'๐ŸŒฒ Dreamhack > CTF Wriet-Up' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Rivestโ€“Shamirโ€“Adleman-Germain[crypto]  (0) 2024.12.01
Fuzzybytes[Web]  (0) 2024.12.01
'๐ŸŒฒ Dreamhack/CTF Wriet-Up' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Rivest–Shamir–Adleman-Germain[crypto]
  • Fuzzybytes[Web]
SONOTREE
SONOTREE
@-@
  • SONOTREE
    SONOTRI
    SONOTREE
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (84)
      • ๐ŸŒฒ Dreamhack (33)
        • System Hacking (8)
        • Embedded Hacking (5)
        • Reverse Engineering (11)
        • Web Hacking (4)
        • Digital Forensics (2)
        • CTF Wriet-Up (3)
      • ๐Ÿฉธ Language (8)
        • C Language (2)
        • Java Language (6)
      • ๐Ÿฆ– Private (9)
        • ๊ฐ€๋ช…์ •๋ณด (0)
        • LinuxMaster (1)
        • webhacking.kr (3)
        • bandit (4)
        • GoN Club Study (1)
      • ๐Ÿ  Public (13)
        • Development (2)
        • web (8)
        • forensic (0)
        • elif (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
SONOTREE
Welcom-Pawn [misc]
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”