curlにかわるコマンドラインのhttpクライアントコマンド『HTTPie』

ちょっと調べ物をしていたところ、Pythonで書かれたモダンなcurlというようなCUIツール『HTTPie』なるものを知った。

curlだと色分け表示されずにちょっと見にくいところを色付き...


ちょっと前に意図的に脆弱なシステムを作る機会があって、そこでブラインドSQLインジェクションを利用して値を取得させるように作った。 で、前に 常設のCTFで似たような内容をシェル芸で解いてた のでちゃちゃっと対応できるだろうと思ってたのだけど、結構前に書いてたコードだったのでテスト時にうまくできなかったので、次に手こずらないようそこだけ抜き出して書いてみる。(サンプルに必要なURLは前述のCTFのサイトを利用)

ブラインドSQLでは、まず最初に対象の文字数を調べる必要があるので、以下のようなコマンドを実行する。


以前、『メディア芸術データベース』のAPIからジャンプで打ち切られたマンガの一覧を取得しようと試みた事があったのだが、今回はより正確性を高めるためにWikipediaのジャンプの連載一覧から打ち切りマンガの一覧を作成してみる。 正直、スクレイピングならPythonでpandasとか使ったほうが楽だったりするのだけど、最初にシェル芸でやると決めたので初志貫徹やってみた。

ちょっと汚いけど、以下のようにコマンドを実行することで一年以内で連載が終わってしまった(短期集中や遺跡、続編を除く)作品の一覧を作成できる(こっちにも念の為残してある)。 (多分もうちょっときれいにできるだろうけど、そん...


Twitterで、ジャンプの短期連載の単行本だけを集めた本棚の写真を見かけたので、こういった短期連載作品群のリストを作れないかなーと思ってちょっと調べてみた。

で、そういったマンガの単行本のDB的なの無いかなー…と思って調べてたところ、文化庁が2015年に『メディア芸術データベース』なるものを出していた。みてる限りまだ開発版であること、2017年6月以降はあまり更新されてなさげなとこが気になるのだが、APIもあるようで十分に遊べそうな印象。せっかくAPIも用意されてるので、ここからデータを引っ張ってみる。

APIについては、以下のような仕様のようだ。

  • jsonで出力され...

ちょっと前のシェル芸勉強会の時にも触れたのだけど、Googleのサジェストをxml形式で出力してくれるページへcurlでアクセスすることで、サジェストの一覧を取得することができる。 以下、「AIUEO(あいうえお)」というキーワードでサジェストを取得している。なお、出力結果はSJISとなっているようなので、途中でnkfでUTF-8に変換している。


ボケーッと調べ物をしてたところ、curlからPOSTした文字列をAAのQRコードにして返してくれる『qrenco.de』なるサイトを見かけた。 つまり以下のようなコマンドを実行すると、パイプで渡した文字列をQRコードにして返してくれる。

echo -e ''$_{1..20}'\bうっほっほ' |  curl -F-=\<- qrenco.de

ふと、tor経由でwgetやcurlでWebサーバにアクセスしてみようと思ったので、ちょっとやってみた。 まぁ特に難しい事も何もなかったのだけど、とりあえず備忘で残しておく。

1. torのインストール

まずtorのインストール。Ubuntu Server 16.04 LTS/CentOS 7であれば、普通にaptやyum(epel必要だけど)からインストールが可能だ。

Ubuntuの場合

sudo apt install tor

CentOSの場合

sudo yum install epel-release
sudo yum install tor

インストールが...


Webアプリケーションファイアウォールなどのテストでディレクトリトラバーサルのテストを行う際、手っ取り早くcurlで攻撃を行いたいことがある。ただ、そのまま「../../」といったパスを指定しても省略されてしまい、うまく攻撃してくれない。そんなときは、curlにオプションとして「--path-as-is」を付与することで対応が可能になる。


curlコマンドで覚えておきたい使い方14個

Webスクレイピングを行う際に重宝するcurlコマンド。
今回は、このコマンドで覚えておくと便利な使い方についてをまとめてみる。

1.基本的な使い方

基本的には、以下のようにコマンドを実行することでHTTPリクエストを実施し、その内容を標準出力に出してくれる。

curl http://対象のURL

2.ファイルに出力する

HTTPリクエストの回答をファイルに書き出す場合は、リダイレクトで出力先を指定するか、「-o」オプションで出力先PATHを指定してやれば良い。

curl http://対象のURL > 出力先PATH
curl -o 出力先PATH http:/...

Curlを使ってアクセスするとAsciiArtの天気図を取得、ターミナル上で表示できる「wttr.in」

なんかボケっとTwitterをみてたら、curlで天気図をコンソール上に表示させてる画像が回ってきたので、どんなものなのか調べてみた。
以下のコマンドをコンソール上で実行すると、天気図が取得されるようだ。
※Teratermとかだとエンコードが対応していないので、Macとかでやると良い。

curl http://wttr.in/