確かに、最初から「価格や個数といったデータにhidden属性を与えないようにする」
[URL]
ではなく「最後で品番と個数のみから必要な処理をする」という設計をすべきが理想。
しかし、実際はすでに構築された後で、運用の名目で人はついていても、
ソースを書いた/追える担当者が既にいなくなっていた場合、木を見て森を見ず、
系統だった知識で対策できない、あるいは突貫対応せざるを得なくなってしまう。
例えば、指摘される時、ソースが見られた上で直接的原因を指摘されるのでなく、
表面的に「クォート入れたら次の画面でバグった」のように連絡が入ってきたとする。
そこで、正しいプログラマは原因を根本からかもしれないけど、一度構築したら
プログラマはお払い箱にしてデザイナーにメンテさせてる場合などがある。
そこで、下手に勉強しちゃう勤勉なデザイナーはとDBに対しても危険だから入力時にも
「サニタイズ」しておくとか余計な機転をきかしちゃったりするんだな。
攻撃方法を示せるだけの似非プログラマな自己目的化したセキュリティ屋が生きていられるのも、
指摘された/発見された時に専門知識がないのに突貫で対応する必要がある人たちが居て一番簡単な
(設計レベルに戻らない)それをピンポイントで知りたいニーズがあって重宝されるからでしょう。
自己目的化してる人は、無意識に自己の立場を守ろう/必要とされたいと思っているのかも。
わざわざ難しく言ったり、言語選択含め根本的に設計が悪い事に気づかせない防御線を引いたり。
自己保身の聖域を作る人には、セキュリティの専門家は向いていないかも。