2020年9月14日月曜日

PowerShellのInvoke-WebRequestでSession用のCookieを維持する

PowerShellのInvoke-WebRequestでSession用のCookieを維持する

PowerShellでページにアクセスしてからPOSTする方法。
セッション用のCookie等があるサイトでは、CookieをPOSTリクエストに含める必要があります。

ページの取得

Invoke-WebRequest 'https://0dsec.blogspot.com/' -SessionVariable 'Session'

Cookieを維持したままPOSTする

Invoke-WebRequest 'https://0dsec.blogspot.com/' -Method 'POST' -body 'key=value' -WebSession $Session

参考:Invoke-WebRequestのExample 2: Use a stateful web service

2020年9月13日日曜日

LinuxのPowerShellでハッシュ値を求めてみたら

ハッシュ値の取得でハマった

Kali Linuxで文字列のハッシュ値を取得する処理でハマったので整理する。

~$ echo -n test | md5sum
098f6bcd4621d373cade4e832627b4f6 -

~$ echo test | md5sum
d8e8fca2dc0f896fd7cb4cb0031ba249 -

この二つでハッシュ値が変わるのは、echoコマンドのオプション-nにあります。
このオプションは文字列の最後に改行を入れません。

さて、なぜハマったかですが、PowerShellはLinuxにもインストールできますので、Kali LinuxでPowerShellのスクリプトを作成していました。
Linux への PowerShell のインストール

PowerShellでハッシュ値を取得する処理を記載していたのですが、コマンドの結果は以下の通りです。

PS > echo -n test | md5sum
d8e8fca2dc0f896fd7cb4cb0031ba249 -
PS > echo test | md5sum
d8e8fca2dc0f896fd7cb4cb0031ba249 -

いずれもハッシュ値はd8e8fca2dc0f896fd7cb4cb0031ba249となります。

では、echoのAliasを見てみます。

PS > alias echo
CommandType Name Version Source
----------- ---- ------- ------
Alias echo -> Write-Output

echoのAliasはWrite-Output なので、Powershellでecho test | md5sumを実行したら以下のコマンドと同一になります。

Write-Output test | md5sum
d8e8fca2dc0f896fd7cb4cb0031ba249 -

Write-Outputのオプションを見ましたが、最後の改行を出力させないオプションは無いようです。

簡単にハッシュ値を求めるにはBashを使用する方が良さそうですね。

2020年9月2日水曜日

タスクバーの時計に秒を表示する

画像のように、秒を表示する方法手順は以下の通り。
※レジストリを変更するため、内容を理解出来る方以外は実施しないでください。

  1. Windowsキー + Rで「ファイル名を指定して実行」ウインドウを出す
  2. 「regedit」を入力し、レジストリエディタを起動
  3. 以下のレジストリを登録
    • キー
      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    • 種類(新規でDWORDを選択)
      REG_DWORD

    • ShowSecondsInSystemClock
    • 値のデータ
      1