SlideShare a Scribd company logo
1 of 55
Not CVE-2013-XXXX
strutsと愉快な脆弱性達 続編の続編
ただのバグだったよ
自己紹介
Twitter:abend@number3to4
Webアプリケーションのセキュリティをメインでやってます。
はじめに
この話は
未知の脆弱性を見つけようと思いたち、見つけたナニカが脆弱性
になるのではと通報したが、脆弱性じゃねーよと言われるまでの
3か月間のたいしてオチのない物語である。

ただ、今後のセキュリティに少しでも助けとなることを願い、
公開するものである。
きっかけは
2013年7月16日に公開されたstruts2.3.15以前に存在するS02-16(CVE-2013-2251)
やS02-005(CVE-2010-1870)など様々な脆弱性が報告されています。
<参考>
CVE-2010-1870:http://www.slideshare.net/abend_cve_9999_0001/cve20101870
CVE-2013-2251:http://www.slideshare.net/abend_cve_9999_0001/cve-20132251

もしかして、まだまだあるんじゃないの?

じゃあ、探してみるか。
じゃあ、どうする?1
ソースコードでも見てみるか。
2.3.15.1は、ファイル数4188 サイズ17.8MB

見たいけど
じゃあ、どうする?2
だったら、ある程度あたりをつけて、ソースコードを読もう!!

どうあたりをつける?

ユーザからの入力を受け付けているところを漁ってみる。
じゃあ、どうする?3
キーワード「input」で、拡張子をjavaに限定して検索してみる。

まだまだ多いって
じゃあ、どうする?4

だけど、無理なものは無理だって
じゃあ、どうする?5
なので、もっと絞り込むため、S02-16に倣って、同じようなところから
探ってみる。
S02-16は、org.apache.struts2.dispatcher.mapper.DefaultActionMapperが
原因で「action:」、「redirect:」、「redirectAction:」にセットされた値
のチェックが行われず、OSコマンドを実行してしまう。
<参考>
CVE-2013-2251:http://www.slideshare.net/abend_cve_9999_0001/cve-20132251

org.apache.struts2.dispatcherパッケージに含まれているプログラムを
中心に見ていこう。
じゃあ、どうする?6
S02-16は、DefaultActionMapperに以下の変数定義がされ、処理に問題が
あったので・・・
protected static final String METHOD_PREFIX = "method:";
protected static final String ACTION_PREFIX = "action:";
protected static final String REDIRECT_PREFIX = "redirect:";
protected static final String REDIRECT_ACTION_PREFIX = "redirectAction:";

文字列として定義されている箇所がほかにもあるか探してみることにした。
※文字列の変数定義が悪いという訳ではなく、特別に処理されるHTTP
パラメータなどが存在するかあたりをつけるために探すことにした。
Let’s Try it!!1

まずは8ファイルを中心に見てみました。
Let’s Try it!!2
DefaultActionMapperに気になる箇所があった。
put(ACTION_PREFIX, new ParameterAction() {
public void execute(String key, ActionMapping mapping) {
String name = key.substring(ACTION_PREFIX.length());
if (allowDynamicMethodCalls) {
int bang = name.indexOf('!');
if (bang != -1) {
String method = name.substring(bang + 1);
mapping.setMethod(method);
name = name.substring(0, bang);
}
}
mapping.setName(cleanupActionName(name));
}
});
なんで、「!」の出現場所でチェックしているのだろうか??
Let’s Try it!!3
ほかにも。
protected ActionMapping parseActionName(ActionMapping mapping) {
if (mapping.getName() == null) {
return null;
}
if (allowDynamicMethodCalls) {
// handle "name!method" convention.
String name = mapping.getName();
int exclamation = name.lastIndexOf("!");
if (exclamation != -1) {
mapping.setName(name.substring(0, exclamation));
mapping.setMethod(name.substring(exclamation + 1));
}
}
return mapping;
}
Let’s Try it!!4
HTTPで「!」ってあんま見ない。
RFC2616 Hyper Text Transfer Protocol
3.2.2 http URL
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

という訳で、「!」がどういう使われ方をしているか調べてみることにした。
Let’s Try it!!5
「!」だけで、ソース内検索すると悲劇しか起こらない。
コメントに「<!-- -->」に使われるため、すべてのプログラムに引っかかって
しまうため、デスマーチになってしまう。
Let’s Try it!!6
という訳で、文字列または文字として「!」を使っている箇所を探す
ことに。

具体的には、「”!”」と「’!’」の使われている箇所を探してみた。
Let’s Try it!!7
「”!”」と「’!’」の検索結果
RestActionInvocation.java
TagFileProcessor.java
ResolverUtil.java
DOTRenderer.java
Jsr168Dispatcher.java
RestActionMapper.java
JspRuntimeLibrary.java
ParserController.java
ELParser.java

PackageConfig.java
TimerInterceptor.java
ActionChainResult.java
PropertiesReader.java
DefaultActionMapper.java
OsgiUtil.java
PortletUrlHelper.java
RestActionMapper.java

17ファイルがヒットしたので、詳細調査を行うことに。
Let’s Try it!!8
2つの方法で詳細な調査を試してみました。

① ホワイトボックス的手法・・・ソースコード読みながら探ってみる。
② ブラックボックス的手法・・・Webアプリケーション診断やファジング

※ XX的手法と表現しているのは、プライベートでやっていたので体系化
されておらず独自手法のため、このような表現としています。
やっちまおうぜ1
①ホワイトボックス的手法
DefaultActionMapper.java、RestActionMapper.javaに共通して「name!method」
が含まれていた。

「name!method」って、なんなんだろうと思ったので、これを調べて
みることに。
やっちまおうぜ2
「name!method」 は、Dynamic Method Invocationといわれるものだった。

Dynamic Method Invocationって?
やっちまおうぜ3
Dynamic Method Invocation(DMI)って
There's a feature embedded in WebWork 2 that lets the "!" (bang) character invoke a method other than execute. In WebWork, it doesn't really have a name. During
the S2 discussions, we coined the term "dynamic method invocation" to describe how WW/S2 use the bang notation.
Dynamic Method Invocation (DMI) will use the string following a "!" character in an action name as the name of a method to invoke (instead of execute). A reference
to "Category!create.action", says to use the "Category" action mapping, but call the create method instead.
For Struts 2, we added a switch to disable DMI for two reasons. First, DMI can cause security issues if POJO actions are used. Second, DMI overlaps with the
Wildcard Method feature that we brought over from Struts 1 (and from Cocoon before that). If you have security concerns, or would like to use the "!" character with
Wildcard Method actions, then set struts.enable.DynamicMethodInvocation to FALSE in the application configuration.
The framework does support DMI, just like WebWork 2, but there are problems with way DMI is implemented. Essentially, the code scans the action name for a "!"
character, and finding one, tricks the framework into invoking the other method instead of execute. The other method is invoked, but it uses the same configuration as
the execute method, including validations. The framework "believes" it is invoking the Category action with the execute method.
The Wildcard Method feature is implemented differently. When a Wildcard Method action is invoked, the framework acts as if the matching action had been hardcoded
in the configuration. The framework "believes" it's executing the action Category!create and "knows" it is executing the create method of the corresponding Action
class. Accordingly, we can add for a Wildcard Method action mapping its own validations, message resources, and type converters, just like a conventional action
mapping. For this reason, the Wildcard Method is preferred.

http://struts.apache.org/release/2.1.x/docs/action-configuration.html
やっちまおうぜ4
簡単に言うと・・・
「Categoly」+「!」+「Method」という形で、「Categoly」で定義されている
「Method」を呼び出すことができるような仕組み
Categoly:「employee」

Method:
「create」

Method:
「delete」

Categolyである「employee」にMethodである「create」、「delete」が定義されて
おり、 「create」を実行した場合に以下へのアクセスで処理を実行する。
http://server/employee!create
やっちまおうぜ5
「Categoly」+「!」+「Method」の「Method」が任意に指定できたら??

結構、やばくない?

っていうことで、DMIをターゲットに。

「!」って英語だとbangっていうんだね。
やっちまおうぜ6
なので、サンプルでDMIを使っている箇所を探すことに・・・
※サンプルで試す理由は、自分でDMIを実装した場合、自分の作りが悪いのか
脆弱性なのかの評価が必要となるため。

いろいろと探したところ、「Person Manager」-「Create a new person」
で使われていることをハッケーン!!
やっちまおうぜ7
②ブラックボックス的手法
Webアプリケーション診断とファジングを行う。

Webアプリケーション診断って?
http://www.slideshare.net/abend_cve_9999_0001/web-22186183

ファジングって?
やっちまおうぜ8
ファジングって?

アプリケーションの不具合を発見するための手法の一つで、様々な値を対象と
なるアプリケーションに送り、エラーを発生させ、その内容から不具合を検出
する。
・大量の文字列を送信
・境界値の送信(-1、0、255、256など)
・特定の文字(0Aや0Dなど)
etc…
IPA
http://www.ipa.go.jp/security/vuln/fuzzing.html
Taofというファジングツールが紹介されています。
やっちまおうぜ9
Taofの画面ってこんな感じ。。。

Taofの使い方は、IPAの資料参照してください。
やっちまおうぜ10
ソースを見た際にポイントとした「!」をベースに3パターンでファジング

① http://server/person/new-person!input.action
② http://server/person/new-person!input.action

③ http://server/person/new-person!input.action
やっちまおうぜ11
結果は、3.16Mになった。

出力された結果をどう評価すればいいのだろうか・・・。
やっちまおうぜ12
ポイントはInternal Server Error(500エラー)。

理由は・・・
アプリケーションが異常終了しているから。。。

異常終了しているということは、アプリケーションの制御に問題が
ある可能性があるから。
やっちまおうぜ13
500エラー、結構発生しています。
http://server/person/new-person!aにアクセスすると
やっちまおうぜ14
Taofでできることは、ここまでなので次のフェーズへ

続いては、Webアプリケーション診断の知識を生かした疑似攻撃。

まずは、様々な記号を入力してみて、エラーがどう出るのか試してみる。
やっちまおうぜ15
色々と試した結果、これまでとエラーの出方が変わるパターンを発見!!
http://server/person/new-person!!aにアクセスすると・・・
やっちまおうぜ16
????
なぜ、ActionSupport.a()を呼び出そうとしてエラーに??

もしかして、別のクラスの関数を呼び出してるんじゃ??
やったぜ
ま、まさか、糸口発見か!?

ヒャッハーー!!
脆弱性見つけた?1
そんなわけで、ソースを見てみることにした。
public class NewPersonAction extends ActionSupport {
private static final long serialVersionUID = 200410824352645515L;
@Autowired
private PersonManager personManager;
private Person person;
public String execute() {
personManager.createPerson(person);
return "list";
}
~~~

一部省略 ~~~

}

extendsしているクラスを呼び出そうとしていたのでは?
脆弱性見つけた?2
じゃあ、次にActionSupportのソースを見てみた。
public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider,
LocaleProvider, Serializable {
public boolean hasFieldErrors() {
return validationAware.hasFieldErrors();
}
public String execute() throws Exception {
return SUCCESS;
}
public boolean hasKey(String key) {
return getTextProvider().hasKey(key);
}
public ResourceBundle getTexts() {
return getTextProvider().getTexts();
}
}

※ソースから一部抜粋
脆弱性見つけた?3
public boolean hasFieldErrors()
http://server/person/new-person!!hasFieldErrors

引数がなく、戻り値がboolean型だとCASTエラーが発生している。
脆弱性見つけた?4
public String execute()

http://server/person/new-person!!execute
executeでは404エラーだ
が、executeaだと500エ
ラーに変化。

http://server/person/new-person!!executea

戻り値(String型)だと
処理を行い、表示しよ
うとしたがコンテンツ
が存在しなくてエラー
と推測。
脆弱性見つけた?5
public void addActionError(String anErrorMessage)
http://server/person/new-person!!addActionError

引数の指定の仕方が特定できなかった。そのため、引数のないaddActionError
は存在しないというエラーと思われる。
脆弱性見つけた?6
public void clearFieldErrors()
http://server/person/new-person!!clearFieldErrors

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Wed, 25 Sep 2013 22:56:15 GMT

戻り値、引数のない関数を指定すると200OKとなるが、レスポンスボディは
0で、何も表示されない。挙動の違いから、関数が処理されたと推測される。
脆弱性見つけた?7
public ResourceBundle getTexts()
http://server/person/new-person!!getTexts
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Wed, 25 Sep 2013 23:37:50 GMT

戻り値がResourceBundleだが、200OKであるため、処理されたと思われる。

ある程度、状況が分かったので次のステップへ。
脆弱性見つけた?8
<検証時に分かったこと>
・ActionSupportの関数を呼び出せた(と思う)。
→片っ端からソースを見て回ったが、原因の特定に至らず。

→呼び出せたかもしれないが、引数の必要な関数は無理だった。
→戻り値がString型は呼び出せた(と思う)。
任意のクラスの関数の呼び出しはうまくいきませんでした。

呼び出せる関数が限定的であったが、任意のクラスを呼び出すことが
不可能であるというevidenceは見つからなかった。
!!って入力したら、本当にびっくりするような事案が発生。
脆弱性見つけた?9
呼び出せる関数が限定的であったが、任意のクラスを呼び出すことが
不可能であるという確証もないので・・・

リスクがあると判断し、所定の手続きへ。
通報してみたんです1
IPAの脆弱性情報の受付へ通報してみました。
通報してみたんです2
内容の精査し、脆弱性なのかバグなのか判定して、結果を改めて
連絡するよって返信がありました。

ただ、8:39にメールして、10:18に返信があったけど、自動応答メールなんだ。
ある日の出来事1
1回メールのやりとりをした後は、特になにもないまま平凡な日々を過ごして
いましたが・・・

strutsでセキュリティFIXに伴う2.3.15.2がリリースされていたことを知る。
※11/9時点で最新は2.3.15.3
内容を見てみると2つのセキュリティFIXが存在するとのこと。
ある日の出来事2
S2-018、S2-019という管理番号が付けられたものです。
①「action:」の処理に問題があり、セキュリティの制約を迂回できる。
②DMIにセキュリティ上の問題がある。
DMIって、つい最近見たような・・・
まさか、報告したものが脆弱性として修正された?

ラブストーリー並みに突然な出来事

って思ったが、あとで無関係であること知ることになる。
直したそうです1

DMIにセキュリティ上、問題のある機能だが、デフォルトでONになってたから
オフってね的なことが書かれている。
直したそうです3
Vulnerabilities have been discovered in Apache
Struts which could allow remote code
execution. Apache Struts is an open source,
model-view-controller (MVC) framework used
for building Java web applications. Successful
exploitation could result in an attacker executing
arbitrary code in the context of affected
application. Depending on the privileges
associated with the application, an attacker
could then install programs; view, change, or
delete data; or create new accounts with full user
rights.

実行権限にもよるが、プログラムをインストールされたり、変更されたり、
消されたりと色々できちゃうよ。
直したそうです4
2.3.15.2で試してみました。

DMIを使っていた箇所にアクセスすると404エラーとなる。
直したそうです5
元々どんな感じだったのか。
「!」に関する修正は、DefaultActionMapperでしか確認ができず。
~~ 略 ~~
protected boolean allowDynamicMethodCalls = true;
~~ 略 ~~
public void execute(String key, ActionMapping mapping) {
String name = key.substring(ACTION_PREFIX.length());
if (allowDynamicMethodCalls) {
int bang = name.indexOf('!');
if (bang != -1) {
String method = name.substring(bang + 1);
mapping.setMethod(method);
name = name.substring(0, bang);
}
}
mapping.setName(cleanupActionName(name));
}
~~ 略 ~~

注)すべてのソースでdiffをとった訳ではないので漏れの可能性もあります。
直したそうです6
どんな修正したのか。
~~ 略 ~~
protected boolean allowDynamicMethodCalls = false;
~~ 略 ~~
public void execute(final String key, ActionMapping mapping, HttpServletRequest request) {
if (request != null && request.getAttribute(STRUTS2_ACTION_PREFIX_PARSED) == null) {
request.setAttribute(STRUTS2_ACTION_PREFIX_PARSED, true);
String name = key.substring(ACTION_PREFIX.length());
if (allowDynamicMethodCalls) {
int bang = name.indexOf('!');
if (bang != -1) {
変わった訳ではないが
String method = name.substring(bang + 1);
mapping.setMethod(method);
ここがポイント!!
name = name.substring(0, bang);
}
}
String actionName = cleanupActionName(name);
mapping.setName(actionName);
if (getDefaultExtension() != null) {
actionName = actionName + "." + getDefaultExtension();
}
mapping.setResult(new ServletDispatcherResult(actionName));
}
}
~~ 略 ~~
バグだったよ
脆弱性として認められたかと思ったが、後日以下の内容(抜粋)の
メールが来ました。
・ActionSuppotクラスの一部メソッド(引数なし、返値なし)だけしか
呼べないのであれば、被害は生じない。
・ただし、ActionSupportクラスの将来的な仕様変更による潜在的な
リスクがあるため、参考情報とする。
まとめ
結果的に、脆弱性ではないバグを1件発見して終わった。
今度こそ、大物が出てくるように精進します。

More Related Content

What's hot

flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!zaki4649
 
OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)Sen Ueno
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWSzaki4649
 
130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack  proxyをぶん回せ 130821 owasp zed attack  proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ Minoru Sakai
 
20210404_SECURITY_MELT
20210404_SECURITY_MELT20210404_SECURITY_MELT
20210404_SECURITY_MELTTyphon 666
 
The vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayThe vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayabend_cve_9999_0001
 
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~Minoru Sakai
 
第8回脆弱性診断入門
第8回脆弱性診断入門第8回脆弱性診断入門
第8回脆弱性診断入門ionis111
 
20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...
20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...
20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...Typhon 666
 
セキュア開発の&lt;s>3つの&lt;/s>敵
セキュア開発の&lt;s>3つの&lt;/s>敵セキュア開発の&lt;s>3つの&lt;/s>敵
セキュア開発の&lt;s>3つの&lt;/s>敵Riotaro OKADA
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)shingo inafuku
 
Proxy War EPISODEⅡ
Proxy War EPISODEⅡProxy War EPISODEⅡ
Proxy War EPISODEⅡzaki4649
 
Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!Takayuki Ushida
 
20190418 About the concept of intra-organization release approval flow in wat...
20190418 About the concept of intra-organization release approval flow in wat...20190418 About the concept of intra-organization release approval flow in wat...
20190418 About the concept of intra-organization release approval flow in wat...Typhon 666
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)abend_cve_9999_0001
 
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについてTyphon 666
 
シフトレフト ~経営判断をサポートするセキュリティ・ビジョン~
シフトレフト  ~経営判断をサポートするセキュリティ・ビジョン~シフトレフト  ~経営判断をサポートするセキュリティ・ビジョン~
シフトレフト ~経営判断をサポートするセキュリティ・ビジョン~Riotaro OKADA
 
セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介kataware
 
20191013_Wolf and Seven Little Goats -Serverless Fairy Tales-
20191013_Wolf and Seven Little Goats  -Serverless Fairy Tales-20191013_Wolf and Seven Little Goats  -Serverless Fairy Tales-
20191013_Wolf and Seven Little Goats -Serverless Fairy Tales-Typhon 666
 
RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -Isao Takaesu
 

What's hot (20)

flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!
 
OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
 
130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack  proxyをぶん回せ 130821 owasp zed attack  proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ
 
20210404_SECURITY_MELT
20210404_SECURITY_MELT20210404_SECURITY_MELT
20210404_SECURITY_MELT
 
The vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayThe vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anyway
 
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
 
第8回脆弱性診断入門
第8回脆弱性診断入門第8回脆弱性診断入門
第8回脆弱性診断入門
 
20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...
20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...
20201124 Incident Response in JAWS-UG to spoofed emails sent by the AWS Event...
 
セキュア開発の&lt;s>3つの&lt;/s>敵
セキュア開発の&lt;s>3つの&lt;/s>敵セキュア開発の&lt;s>3つの&lt;/s>敵
セキュア開発の&lt;s>3つの&lt;/s>敵
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)
 
Proxy War EPISODEⅡ
Proxy War EPISODEⅡProxy War EPISODEⅡ
Proxy War EPISODEⅡ
 
Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!
 
20190418 About the concept of intra-organization release approval flow in wat...
20190418 About the concept of intra-organization release approval flow in wat...20190418 About the concept of intra-organization release approval flow in wat...
20190418 About the concept of intra-organization release approval flow in wat...
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)
 
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
 
シフトレフト ~経営判断をサポートするセキュリティ・ビジョン~
シフトレフト  ~経営判断をサポートするセキュリティ・ビジョン~シフトレフト  ~経営判断をサポートするセキュリティ・ビジョン~
シフトレフト ~経営判断をサポートするセキュリティ・ビジョン~
 
セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介
 
20191013_Wolf and Seven Little Goats -Serverless Fairy Tales-
20191013_Wolf and Seven Little Goats  -Serverless Fairy Tales-20191013_Wolf and Seven Little Goats  -Serverless Fairy Tales-
20191013_Wolf and Seven Little Goats -Serverless Fairy Tales-
 
RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -
 

Viewers also liked

Cybozu.com security challengeに参加したよ
Cybozu.com  security challengeに参加したよCybozu.com  security challengeに参加したよ
Cybozu.com security challengeに参加したよabend_cve_9999_0001
 
おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。abend_cve_9999_0001
 
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらもしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらabend_cve_9999_0001
 
とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選zaki4649
 
診断ツールを作ってみようと思う
診断ツールを作ってみようと思う診断ツールを作ってみようと思う
診断ツールを作ってみようと思うabend_cve_9999_0001
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~abend_cve_9999_0001
 
フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編abend_cve_9999_0001
 
ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)abend_cve_9999_0001
 
Nmap 9 truth "Nothing to say any more"
Nmap 9 truth "Nothing to say  any more"Nmap 9 truth "Nothing to say  any more"
Nmap 9 truth "Nothing to say any more"abend_cve_9999_0001
 
アセンブラ100 さきゅりてぃ発表用
アセンブラ100 さきゅりてぃ発表用アセンブラ100 さきゅりてぃ発表用
アセンブラ100 さきゅりてぃ発表用boropon
 
SECCON2014 crypt200
SECCON2014 crypt200SECCON2014 crypt200
SECCON2014 crypt200boropon
 
Malwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malwareMalwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malwareAyase
 
Trend Micro CTF Asia Pacific & Japan -defensive100-
Trend Micro CTF Asia Pacific & Japan -defensive100-Trend Micro CTF Asia Pacific & Japan -defensive100-
Trend Micro CTF Asia Pacific & Japan -defensive100-boropon
 
3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜enigma63
 

Viewers also liked (20)

Cybozu.com security challengeに参加したよ
Cybozu.com  security challengeに参加したよCybozu.com  security challengeに参加したよ
Cybozu.com security challengeに参加したよ
 
おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。
 
RuCTFEに参加したよ
RuCTFEに参加したよRuCTFEに参加したよ
RuCTFEに参加したよ
 
Burpで指定文字列を検索
Burpで指定文字列を検索Burpで指定文字列を検索
Burpで指定文字列を検索
 
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらもしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
 
とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
 
診断ツールを作ってみようと思う
診断ツールを作ってみようと思う診断ツールを作ってみようと思う
診断ツールを作ってみようと思う
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
 
Nmapの真実
Nmapの真実Nmapの真実
Nmapの真実
 
フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編
 
ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)
 
Nmap 9 truth "Nothing to say any more"
Nmap 9 truth "Nothing to say  any more"Nmap 9 truth "Nothing to say  any more"
Nmap 9 truth "Nothing to say any more"
 
Your hash is.
Your hash is.Your hash is.
Your hash is.
 
Cve 2013-2251
Cve 2013-2251Cve 2013-2251
Cve 2013-2251
 
アセンブラ100 さきゅりてぃ発表用
アセンブラ100 さきゅりてぃ発表用アセンブラ100 さきゅりてぃ発表用
アセンブラ100 さきゅりてぃ発表用
 
SECCON2014 crypt200
SECCON2014 crypt200SECCON2014 crypt200
SECCON2014 crypt200
 
Malwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malwareMalwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malware
 
Trend Micro CTF Asia Pacific & Japan -defensive100-
Trend Micro CTF Asia Pacific & Japan -defensive100-Trend Micro CTF Asia Pacific & Japan -defensive100-
Trend Micro CTF Asia Pacific & Japan -defensive100-
 
3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜3DESの件 〜俺、112bitになります〜
3DESの件 〜俺、112bitになります〜
 

Similar to Not CVE-2013-xxxx

Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Shotaro Suzuki
 
Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/AndroidセキュアコーディングMasaki Kubo
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternAtsushi Kambara
 
SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-Hiromu Yakura
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めようAdvancedTechNight
 
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法hiroya
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackkimukou_26 Kimukou
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見Yosuke HASEGAWA
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発papamitra
 
20181219 Introduction of Incident Response in AWS for Beginers
20181219 Introduction of Incident Response in AWS for Beginers20181219 Introduction of Incident Response in AWS for Beginers
20181219 Introduction of Incident Response in AWS for BeginersTyphon 666
 
侵入防御の誤検知を減らすためのDeepSecurity運用
侵入防御の誤検知を減らすためのDeepSecurity運用侵入防御の誤検知を減らすためのDeepSecurity運用
侵入防御の誤検知を減らすためのDeepSecurity運用morisshi
 
20150221 めとべや東京-プライベートコード共有サービス
20150221 めとべや東京-プライベートコード共有サービス20150221 めとべや東京-プライベートコード共有サービス
20150221 めとべや東京-プライベートコード共有サービスTakayoshi Tanaka
 
Logic Apps と Api Apps の話
Logic Apps と Api Apps の話Logic Apps と Api Apps の話
Logic Apps と Api Apps の話Sunao Tomita
 

Similar to Not CVE-2013-xxxx (20)

Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
 
Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/Androidセキュアコーディング
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
 
SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
Miyazaki.js vol.2
Miyazaki.js vol.2Miyazaki.js vol.2
Miyazaki.js vol.2
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
20120118 titanium
20120118 titanium20120118 titanium
20120118 titanium
 
Cve 2013-0422
Cve 2013-0422Cve 2013-0422
Cve 2013-0422
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
 
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
 
20181219 Introduction of Incident Response in AWS for Beginers
20181219 Introduction of Incident Response in AWS for Beginers20181219 Introduction of Incident Response in AWS for Beginers
20181219 Introduction of Incident Response in AWS for Beginers
 
侵入防御の誤検知を減らすためのDeepSecurity運用
侵入防御の誤検知を減らすためのDeepSecurity運用侵入防御の誤検知を減らすためのDeepSecurity運用
侵入防御の誤検知を減らすためのDeepSecurity運用
 
20150221 めとべや東京-プライベートコード共有サービス
20150221 めとべや東京-プライベートコード共有サービス20150221 めとべや東京-プライベートコード共有サービス
20150221 めとべや東京-プライベートコード共有サービス
 
Logic Apps と Api Apps の話
Logic Apps と Api Apps の話Logic Apps と Api Apps の話
Logic Apps と Api Apps の話
 

More from abend_cve_9999_0001

Bypassing anti virus using powershell
Bypassing anti virus using powershellBypassing anti virus using powershell
Bypassing anti virus using powershellabend_cve_9999_0001
 
ポートスキャンを擬人化してみた
ポートスキャンを擬人化してみたポートスキャンを擬人化してみた
ポートスキャンを擬人化してみたabend_cve_9999_0001
 
Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)abend_cve_9999_0001
 
Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)abend_cve_9999_0001
 
Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介abend_cve_9999_0001
 
バックアップファイルの管理
バックアップファイルの管理バックアップファイルの管理
バックアップファイルの管理abend_cve_9999_0001
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのかabend_cve_9999_0001
 
Webアプリって奥が深いんです
Webアプリって奥が深いんですWebアプリって奥が深いんです
Webアプリって奥が深いんですabend_cve_9999_0001
 

More from abend_cve_9999_0001 (11)

Bypassing anti virus using powershell
Bypassing anti virus using powershellBypassing anti virus using powershell
Bypassing anti virus using powershell
 
ポートスキャンを擬人化してみた
ポートスキャンを擬人化してみたポートスキャンを擬人化してみた
ポートスキャンを擬人化してみた
 
Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)
 
Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)
 
Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介
 
バックアップファイルの管理
バックアップファイルの管理バックアップファイルの管理
バックアップファイルの管理
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
 
Nmap 9つの真実
Nmap 9つの真実Nmap 9つの真実
Nmap 9つの真実
 
クリックジャッキング
クリックジャッキングクリックジャッキング
クリックジャッキング
 
CVE-2010-1870
CVE-2010-1870CVE-2010-1870
CVE-2010-1870
 
Webアプリって奥が深いんです
Webアプリって奥が深いんですWebアプリって奥が深いんです
Webアプリって奥が深いんです
 

Not CVE-2013-xxxx