Enviar pesquisa
Carregar
Cake Phpでの安全なサイトの作り方1(Sqlインジェクション)
•
1 gostou
•
1,668 visualizações
柴田 篤志
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 14
Recomendados
Desk logo
Desk logo
DESK Education
NAVEEN CV
NAVEEN CV
Naveen Chandra
Como eu nasci?
Como eu nasci?
Andre de Castro Zorzo
Qué Son Las Ti Cs
Qué Son Las Ti Cs
scandelas
Blended uses of EduTec Language solution – with tutor
Blended uses of EduTec Language solution – with tutor
Ahmed M Hassan
Resume_2016 (1)
Resume_2016 (1)
Trevor Rezac
HawaiianPunchCasestudy
HawaiianPunchCasestudy
Sade Adelakun
Certificate
Certificate
Reed MacMillan
Recomendados
Desk logo
Desk logo
DESK Education
NAVEEN CV
NAVEEN CV
Naveen Chandra
Como eu nasci?
Como eu nasci?
Andre de Castro Zorzo
Qué Son Las Ti Cs
Qué Son Las Ti Cs
scandelas
Blended uses of EduTec Language solution – with tutor
Blended uses of EduTec Language solution – with tutor
Ahmed M Hassan
Resume_2016 (1)
Resume_2016 (1)
Trevor Rezac
HawaiianPunchCasestudy
HawaiianPunchCasestudy
Sade Adelakun
Certificate
Certificate
Reed MacMillan
Nagoya.phpについて
Nagoya.phpについて
柴田 篤志
ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術
柴田 篤志
ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開
柴田 篤志
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
柴田 篤志
オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya
柴田 篤志
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方
柴田 篤志
Cake Php開発事例
Cake Php開発事例
柴田 篤志
Life Hack
Life Hack
柴田 篤志
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
柴田 篤志
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門
柴田 篤志
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門
柴田 篤志
JavaScript&Firebug入門
JavaScript&Firebug入門
柴田 篤志
Cake Php ページ送り機能
Cake Php ページ送り機能
柴田 篤志
Cake Php パン屋へ行こう
Cake Php パン屋へ行こう
柴田 篤志
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
柴田 篤志
開発ツールの紹介(080316)
開発ツールの紹介(080316)
柴田 篤志
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
柴田 篤志
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)
柴田 篤志
第1回SE勉強会(080302)
第1回SE勉強会(080302)
柴田 篤志
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Mais conteúdo relacionado
Mais de 柴田 篤志
Nagoya.phpについて
Nagoya.phpについて
柴田 篤志
ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術
柴田 篤志
ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開
柴田 篤志
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
柴田 篤志
オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya
柴田 篤志
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方
柴田 篤志
Cake Php開発事例
Cake Php開発事例
柴田 篤志
Life Hack
Life Hack
柴田 篤志
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
柴田 篤志
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門
柴田 篤志
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門
柴田 篤志
JavaScript&Firebug入門
JavaScript&Firebug入門
柴田 篤志
Cake Php ページ送り機能
Cake Php ページ送り機能
柴田 篤志
Cake Php パン屋へ行こう
Cake Php パン屋へ行こう
柴田 篤志
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
柴田 篤志
開発ツールの紹介(080316)
開発ツールの紹介(080316)
柴田 篤志
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
柴田 篤志
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)
柴田 篤志
第1回SE勉強会(080302)
第1回SE勉強会(080302)
柴田 篤志
Mais de 柴田 篤志
(19)
Nagoya.phpについて
Nagoya.phpについて
ライフハックでストレスフリーな仕事術
ライフハックでストレスフリーな仕事術
ソーシャルメディアを利用したビジネス展開
ソーシャルメディアを利用したビジネス展開
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
CakeMatsuri事例紹介「CakePHPでつくる地域SNS ~全国40ヶ所以上で展開する地域SNSのシステム~」
オープンソースカンファレンス2009Nagoya
オープンソースカンファレンス2009Nagoya
Cake Phpで簡単問い合わせフォームの作り方
Cake Phpで簡単問い合わせフォームの作り方
Cake Php開発事例
Cake Php開発事例
Life Hack
Life Hack
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Google Maps Api活用事例~飲食店案内ネット一六社マップ~
Cake PhpでやってみようOpen Id入門
Cake PhpでやってみようOpen Id入門
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門
JavaScript&Firebug入門
JavaScript&Firebug入門
Cake Php ページ送り機能
Cake Php ページ送り機能
Cake Php パン屋へ行こう
Cake Php パン屋へ行こう
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
開発ツールの紹介(080316)
開発ツールの紹介(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPのコンポーネントの使い方(080316)
CakePHPのコンポーネントの使い方(080316)
第1回SE勉強会(080302)
第1回SE勉強会(080302)
Último
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
Último
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
Cake Phpでの安全なサイトの作り方1(Sqlインジェクション)
1.
CakePHP での安全なサイトの作り方1 ~
SQL インジェクション~ 第 10 回 高蔵寺 SE 勉強会 2008/7/6 (日)
2.
SQL インジェクションとは
3.
「インジェクション」は「注入」という意味。 つまり SQL
インジェクションは, Web サーバーの背後で動くデータベースに SQL コマンドを送り込み,そのコマンドを実行させる攻撃方法を意味している。 IT Pro より
4.
SQL インジェクションの脆弱性があると どうなるのか?
5.
・情報の漏えい ・データの改ざん ・不正ログイン
・システムの乗っ取り
6.
CakePHP ではどのように対応するか?
7.
例1 $data =
$this->Sample->findAll('id=' . $value); コントローラーにこんな感じで書くと、 $value (入力値)に「 1 or 1=1 」というデータが渡されると、 SQL の条件が「 WHERE id=1 or 1=1 」となり、 全てのデータが取得できてしまいます。
8.
例2 ( CakePHP1.1
の場合) $conds = array('id' => '= ' . $value); $data = $this->Sample->findAll($conds); コントローラーにこんな感じで書くと、 $value (入力値)に「 1 or 1=1 」というデータが渡されると、 SQL 文は「 WHERE `id` = '1 or 1=1' 」という感じになり、 例1の様な全件取得はなくなります。 ※ 「 '= ' 」の用にイコールの後のスペースが必要
9.
例3( CakePHP1.2 RC2
の場合) $conds = array('id' => $value); $data = $this->Sample->findAll($conds); コントローラーにこんな感じで書くと、 $value (入力値)に「 1 or 1=1 」というデータが渡されると、 SQL 文は「 WHERE `id` = '1 or 1=1' 」という感じになり、 例1の様な全件取得はなくなります。 ※ 例2の様にイコールは必要なし
10.
+ α $conds
= array('id' => '> ' . $value); 比較演算子を使う方法 CakePHP1.1 の場合、先ほどの例の通り $conds = array('id >' => $value); CakePHP1.2 RC2 の場合は前に付けます
11.
例4 $data =
$this->Sample->findAllById($value); コントローラーにこんな感じで書くと、 $value (入力値)に「 1 or 1=1 」というデータが渡されると、 SQL の条件が「 WHERE `Sample`.`id` = '1 or 1=1' 」となり、 全件取得を回避できます。
12.
+ α function
conditionKeysToString (~) { quote 処理をやってくれている場所は、 cake/libs/model/datasources/dbo_source.php ここで条件の部分の SQL を作っているので、 WHERE 句でどうやったら良いか迷った場合はここを見てみると 良いかもしれません。
13.
保険的対策も必要 ・エラーメッセージの表示をしない ・データベースアカウントの権限設定
・ DB の格納情報を必要最低限にする ・パスワードは暗号化して保存
14.
終わり