LoginSignup
1
1

More than 3 years have passed since last update.

Postmanとバイナリと脆弱性

Posted at

Postmanとバイナリと脆弱性(部屋とワイシャツと私)、愛するあなたのため〜♪

ぶち当たった問題

Postmanのパラメータに、%82または0x82というバイナリの文字列をどうやって渡せばよいのか?

これはダメだ

0x82を適当にエディタで開くと

と表示される。

お!これが、バイナリかー。よし、これをコピペして、
スクリーンショット 2020-03-28 11.48.55.png
VALUEに貼り付けて送ってもバイナリで送信されていない。。
何かしらの文字として送信されている。
バイナリエディタでを調べてみると、
EFBFBD
という、文字になっている。
これはダメだ。

どうしようか

スクリーンショット 2020-03-28 16.54.39.png

ここのbinaryを選択。
そうするとファイルを選択できる。
スクリーンショット 2020-03-28 16.56.05.png

ファイルにPOSTデータを記述できればOKだ。
例えば、
binary=0x82
となればよい。

バイナリエディタには
Hex Fiend
を使用した。

エディターを立ち上げて
62696E61 72793D82
と記述すればOKだ。

62696E61 72793Dbinary=
82が渡したいパラメータになる。

このファイルをテキストで保存する。

このファイルを開くと(開き方にもよるが)、
binary=�となる。例のひし形の?を確認できる。

出来上がったファイルを先ほどのselect fileで指定する。
そしてSendボタンを押せば送信できる。

しかし思い通りにはならない

Sendボタンを押しても想定通りの動きをしていない。
どうやらパラメータが渡っていないようだ。

原因はPostman経由で送信すると自動で
Content-Type: text/plain
が付与されてしまう。

こいつを消すには
スクリーンショット 2020-03-28 17.15.53.png

右にあるCodeを選択。
メニューから好きな項目を選んで
スクリーンショット 2020-03-28 17.17.51.png

右のコードをテキストファイルに貼り付ける。
cURLの例だが--header 'Content-Type: text/plain' \
を削除する。
そして残ったコードをコマンドに流せばOKである。

すると、、

私の開発環境の話ではあるが、今までは正常にjsonを返していたレスポンスに
Fatal Error
という文言を確認することができた。想定通りである。(正気か?)

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1