Postmanとバイナリと脆弱性(部屋とワイシャツと私)、愛するあなたのため〜♪
ぶち当たった問題
Postmanのパラメータに、%82
または0x82
というバイナリの文字列をどうやって渡せばよいのか?
これはダメだ
0x82
を適当にエディタで開くと
�
と表示される。
お!これが、バイナリかー。よし、これをコピペして、
VALUEに貼り付けて送ってもバイナリで送信されていない。。
何かしらの文字として送信されている。
バイナリエディタで�
を調べてみると、EFBFBD
という、文字になっている。
これはダメだ。
どうしようか
ファイルにPOSTデータを記述できればOKだ。
例えば、binary=0x82
となればよい。
バイナリエディタには
Hex Fiend
を使用した。
エディターを立ち上げて62696E61 72793D82
と記述すればOKだ。
62696E61 72793D
がbinary=
で82
が渡したいパラメータになる。
このファイルをテキストで保存する。
このファイルを開くと(開き方にもよるが)、binary=�
となる。例のひし形の?を確認できる。
出来上がったファイルを先ほどのselect fileで指定する。
そしてSend
ボタンを押せば送信できる。
しかし思い通りにはならない
Sendボタンを押しても想定通りの動きをしていない。
どうやらパラメータが渡っていないようだ。
原因はPostman経由で送信すると自動でContent-Type: text/plain
が付与されてしまう。
右のコードをテキストファイルに貼り付ける。
cURLの例だが--header 'Content-Type: text/plain' \
を削除する。
そして残ったコードをコマンドに流せばOKである。
すると、、
私の開発環境の話ではあるが、今までは正常にjsonを返していたレスポンスにFatal Error
という文言を確認することができた。想定通りである。(正気か?)