iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
佛心分享-刷題不只是刷題

一直刷 CTF系列 第 19

一直刷 CTF - Day19

  • 分享至 

  • xImage
  •  

Lab-login

題目很好心把他會查詢的指令列出來了,可以發現他都有用 () 包起來,所以截斷的時候要注意要把 ) 也帶上,就能順利 Injection 了。

Image

Image

Dig Arguments

他有提供網站的原始碼,是用 flask 建的,下面這個是主要邏輯

@app.route("/", methods=["GET", "POST"])
def dig():
    dig_result = None
    if request.args.get("debug"):
        return send_file(__name__ + ".py")
    if request.method == "POST":
        hostname1 = request.form["hostname1"]
        hostname2 = request.form["hostname2"]
        process = subprocess.Popen(
            ["dig", hostname1, hostname2],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
        )
        output, _ = process.communicate()
        dig_result = output.decode()

    return render_template("index.html", request=request, dig_result=dig_result)

["dig", hostname1, hostname2] 這樣的寫法會讓我們打算 injection

講師給了一個 酷酷網站 ,可以查到很多利用一些本來應該不是用來讀檔或執行指令的 的指令來 bypass 的方法,就找到了這個東東,按照這個方法就可以讀到 flag 了。

Image

Image

參考資料


上一篇
一直刷 CTF - Day18
下一篇
一直刷 CTF - Day20
系列文
一直刷 CTF30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言