ペネトレーションしのべくん

さようなら、すべてのセキュリティエンジニア

Go言語でMySQLのSQLインジェクション検証環境を作った

SQLインジェクションの検証環境が欲しくて、ついでにGo言語とGoのWebアプリケーションフレームワークEchoも触っておくかということで↓を作りました。ぜんぜん大したものじゃないんですが、日記として。

github.com

今はシンプルにJSONを返すだけですが、Reactでも学んでフロントもちゃんと作ろうかなと思います。Echoの機能も初歩の初歩しかやってないので、がんばります。

Echoを使うにあたっては、ISUCON12予選のコードを参考にしました。

github.com

以下、Go言語ではじめて何か作ったメモとか感想:

  • Go言語のパッケージやモジュールの概念について
    • とりあえず最初に go mod init github.com/shinobe179/repo_name する
    • 以降は、パッケージが必要になったら go get すれば勝手に足されていく
    • 今開発しているものをimportする場合、基本的にはGitHubにアップロードしてgo getしなければならないの?
      • そんなわけないよな
    • go mod tidyって使わなかったけどいいんだろうか
    • パッケージってどういう風に分けるのがいいんだろう?
    • ディレクトリってどういう風に分けるのがいいんだろう?

あとずっとPythonしか書いてこなかったので、型との付き合い方みたいなものに慣れていないと感じました。やることはあんまり変わらない(使いたい関数の引数と戻り値、そしてそれぞれの型を確認して使う)はずなんですが。