どぅるぱる
PHPにしては綺麗でSecureなCMS
Drupalの脆弱性
Drupageddon
- SQLインジェクション脆弱性(非常に攻撃しやすい)
- すごくやばい
- 10/15 に発表
- 時間内にパッチを当てないと攻撃されたと思え
select * from users where name = 'admin' and status = 1
name==user1&name==user2
select * from users where name = 'user1' and name = 'user2' and status = 1
バインド値
連想配列が使えるので、キー名をつけるとプレースホルダーにキー名がつく
プレースホルダーはエスケープできない
空白つきのキー
ログイン前SQLインジェクション
https://www.jpcert.or.jp/at/2014/at140042.html
ライブSQLインジェクション
巧妙に細工されたリクエスト DoS
- パスワードを長くしてアクセスするとApacheの負荷が爆上がりする
- 100万バイトのパスワード
- 並列度を上げると倍率ドン
- パスワード値が長いとハッシュ計算にものすごく時間がかかる
→バリデーションしようや
Drupalとバリデーション
- 入力値検証とセキュリティ セキュリティが主目的ではないがセキュリティが良いことになることもある
- 入力値検証はセキュリティ対策としてはあてにしない
- 転んだ時の杖
まとめ
- Drupalはログイン処理でバリデーションをしていない
- Drupalはミクロの対処にこだわっている
- Drupalは頑なにバリデーションを拒否していない
- セキュリティ面からみると 局地では役立つが根本対策ではない
- バリデーションはアプリケーション仕様をもとにやっとくと転ばぬ先の杖になりうる
- 淡々とバリデーションをやればセキュリティ対策になりうる