QRGenで作る悪意のあるQRコード:仕組みとペネトレーションテストへの活用
QRコードは、商品パッケージから航空券の搭乗券まで、あらゆる場面で自動スキャンされる機械可読データ形式です。このQRコードには、カスタムQRコードに組み込んだエクスプロイトによって一般的な脆弱性を突くことが可能です。ハッカーは「QRGen」というツールを使い、脆弱なデバイスを標的とした悪意のあるQRコードを作成します。
QRコード攻撃が強力である理由は、人間がスキャンせずにQRコード内の情報を読み取ったり理解したりできない点にあります。コードの解読を試みたデバイスは、内部に仕込まれたエクスプロイトにさらされる可能性があります。人間は実際にスキャンする前に悪意のあるQRコードを見分けることができません。さらに、QRコードが持つ比較的大きなペイロード容量はハッカーにとって有利に働き、脆弱なデバイスと組み合わさると脅威は一層増大します。QRGenは、ペイロードを受け取りPythonでQRコードへエンコードするツールです。
QRGenには、人気の高いエクスプロイトを多数収録したライブラリが組み込まれています。対象デバイスを手元に用意して、どのエクスプロイトが有効かをじっくり検証したい場合に非常に便利です。QRコードスキャナーを使用する製品を監査するペネトレーションテスターであれば、同一のスキャナーを入手してエクスプロイトを順に試すだけで、スキャナーを予期しない動作させられる可能性があります。
QRGenで利用可能なペイロードのカテゴリーは、スクリプト実行時に「-l」フラグと番号を指定することで確認できます。番号とペイロードタイプの一覧は以下の通りです。
コマンドインジェクション(Command Injection)
フォーマット文字列(Format String)
文字列ファジング(String Fuzzing)
SQLインジェクション(SQL Injection)
ディレクトリトラバーサル(Directory Traversal)
LFI(Local File Inclusion)
XSS(クロスサイトスクリプティング)
QRGenのインストール
QRGenを使い始めるには、まずGitHubからリポジトリをダウンロードします。ターミナルウィンドウで以下のコマンドを実行してください。
git clone https://github.com/h0nus/QRGen cd QRGen pip3 install -r requirements.txt
ペイロードタイプから悪意のあるQRコードを生成する
パッケージのインストールが完了したら、「python3 qrgen.py」と入力してスクリプトを実行できます。

まずは、フォーマット文字列ペイロードを含むQRコードを作成してみましょう。そのためには、次の引数を付けてQRGenを実行します。

実行すると一連のQRコードが生成され、最後に作成されたQRコードが自動的に開きます。

-
Java 8 Streamsチュートリアル – コード例で学ぶStream APIの基本と使い方
この記事では、Java 8のStreams(ストリーム)機能について詳しく解説し、さまざまなコード例を交えながらその使い方を紹介します。 Java StreamsはJavaに関数型プログラミングをもたらす強力な機能です。Java 8から導入されたため、それ以前のバージョンを使用している場合は、Java 8以降へのアップグレードが必要です。 なぜJava Streamsを使うべきなのか? Streamsには以下のようなメリットがあります。 少ないコード量で多くを実現できる — ごくわずかな行数のコードで、従来は多くの記述が必要だった処理を簡潔に実装できます。 ラムダ式を活用できる — 使い捨て
-
【Windows】AltコードでÑ(チルダ付きN)を入力する方法を徹底解説
チルダ記号(~)は、日常的に目にする機会の多い特殊文字の一つです。このような特殊な文字をどうやって入力すればいいのか、疑問に思ったことはありませんか?チルダは単語の意味を変える働きがあり、スペイン語やフランス語などで広く使われています。この記事では、Windowsでチルダ付きの「ñ」「Ñ」を入力するための完全ガイドとして、Altコード、CHAR関数、その他のテクニックまで詳しく解説します。 Altコードを使ってÑ(チルダ付きN)を入力する方法 チルダ付きのnの記号は、ラテン語で「エニェ(ene)」と発音されます。ただし、この記号はスペイン語だけでなく、フランス語やイタリア語など、さまざまな言