cURL は「Client URL」の略です。
cURL は、URL を介してデータを転送するためのコマンドラインツールおよびライブラリです。HTTP、HTTPS、FTP など、さまざまなプロトコルをサポートしています。
cURL を使用すると、リモートサーバーとの間でデータを簡単に送受信できます。例えば、API へのリクエストやファイルのアップロード、ダウンロードなどが可能です。
Linux や macOS では標準搭載されていることが多く、Windows でも簡単に導入できます。
また、プログラム言語(PHP・Python など)から使える libcurl というライブラリ版もあります。
HTMLフォームで入力チェックをしていても、cURLを使えば自由にリクエストが作成できます。
例えば、フォームで「年齢は 0~120 の範囲」という制約があったとしても、次のようなリクエストを送れてしまいます。
Git Bash
curl -X POST https://example.com/form-submit \
-d "age=9999&name=Hacker"
このように、HTMLのクライアントサイド制約は簡単に無視できるため、サーバー側でも必ず検証が必要ということになります。