More Related Content
PPTX
An other world awaits you PDF
PPTX
PPTX
PDF
Javaセキュアコーディングセミナー東京第2回演習の解説 PDF
Async design with Unity3D PDF
PDF
What's hot
PDF
PDF
PDF
PDF
Hello Dark-Side C# (Part. 1) PDF
PDF
PDF
Effective Modern C++ 読書会 Item 35 PDF
TensorFlow XLA 「XLAとは、から、最近の利用事例について」 PDF
Javaセキュアコーディングセミナー東京第3回演習の解説 PDF
Synthesijer and Synthesijer.Scala in HLS-friends 201512 PDF
PDF
PDF
PDF
PDF
Shibuya JVM Groovy 20150418 PPTX
LINQ 概要 + 結構便利な LINQ to XML PDF
Cloud TPU Driver API ソースコード解析 PDF
PDF
effective modern c++ chapeter36 Similar to Javaセキュアコーディングセミナー東京第2回演習
PDF
Javaセキュアコーディングセミナー東京第1回 演習 PDF
Javaセキュアコーディングセミナー東京第1回演習の解説 PDF
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜 PPTX
Java Puzzlers JJUG CCC 2016 PDF
Javaセキュアコーディングセミナー東京第4回講義 PDF
Javaセキュアコーディングセミナー東京第1回 講義 PDF
JDK7 Quiz... @ JavaOne報告会 at Tokyo PDF
PDF
PDF
C# コーディングガイドライン 2013/02/26 PDF
Javaセキュアコーディングセミナー東京第4回演習の解説 PDF
Code complete ch22_developper_test PDF
PDF
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder) PPTX
保守しやすいコードの反面教師 (アンチパターン) その1 PDF
AtCoder Beginner Contest 008 解説 PDF
Java puzzlers 2013 at JavaFesta Japan PDF
Sapporocpp#2 exception-primer PDF
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz... PPTX
More from JPCERT Coordination Center
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015) PDF
クロスサイトリクエストフォージェリ(CSRF)とその対策 PDF
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」 PDF
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783) PDF
CERT コーディングスタンダードご紹介 (OSC2017@Osaka) PDF
Apache Axis2におけるXML署名検証不備 PDF
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion) PDF
Apache Tomcat における クロスサイトリクエストフォージェリ (CSRF) 保護メカニズム回避の脆弱性 PDF
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014) PDF
Case Studies and Lessons Learned from SSL/TLS Certificate Verification Vulner... PPTX
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性 PDF
PDF
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido) PDF
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性 PDF
PDF
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017) PDF
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities PDF
WordBench東京 7月勉強会「夏のLT大会!」『WordPress とバックアップの話』 PDF
いま改めて製品開発者の脆弱性対応について考える ~情報セキュリティ早期警戒パートナーシップを運用する調整機関の視点から~ Javaセキュアコーディングセミナー東京第2回演習
- 1.
- 2.
- 3.
- 4.
ZipBombの影響を受けるコード例
class Unzip {
static final int BUFFER = 512;
public static void main(String[] args) throws FileNotFoundException,IOException {
BufferedOutputStream dest = null;
ZipInputStream zis =
new ZipInputStream(new BufferedInputStream(new FileInputStream(args[0])));
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null){
System.out.println(“Extracting: “ + entry);
int count;
byte data[] = new byte[BUFFER];
FileOutputStream fos = new FileOutputStream(entry.getName());
dest = new BufferedOutputStream(fos, BUFFER);
while ((count=zis.read(data,0,BUFFER)) != -1){
dest.write(data, 0, count);
}
dest.flush();
dest.close();
}
zis.close();
}
}
4
- 5.
コード例 Unzip の問題点
(A)解凍後のサイズをチェックしていない
(B) 例外 ArrayIndexOutOfBoundsException
が発生する可能性がある
(C) 既存ファイルを上書きする可能性がある
(D) その他?
これらの問題点を解決せよ!!
5
- 6.
- 7.
Q. 以下のコードの問題点は何か?
class AltConst{
int i;
AltConst(){ this(10); }
AltConst(int i0){
if (checkarg(i0)) {
this.i = i0;
}
}
boolean checkarg(int i) throws IllegalArgumentException {
if (i<0 || 100<i) {
throw new IllegalArgumentException("arg should be positive < 100.");
}
return true;
} (A) コンパイルエラーになる
} (B) checkarg() による引数のチェックは役に立たない
(C) コンストラクタが二つ定義されている
(D) フィールド i に初期化子がない
7
- 8.
A. 以下のコードの問題点は何か?
class AltConst{
int i;
AltConst(){ this(10); }
AltConst(int i0){
if (checkarg(i0)) {
this.i = i0;
}
}
boolean checkarg(int i) throws IllegalArgumentException {
if (i<0 || 100<i) {
throw new IllegalArgumentException("arg should be positive < 100.");
}
return true;
} (A) コンパイルエラーになる
} (B) checkarg() による引数のチェックは役に立たない
(C) コンストラクタが二つ定義されている
(D) フィールド i に初期化子がない
8
- 9.
A. 以下のコードの問題点は何か?
AltConst のサブクラスをつくることにより,checkarg() に
よるチェックの後で, フィールド i の値を変更することができ
る.
class attack extends AltConst {
attack(int arg) {
super();
this.i = arg;
}
public static void main(String[] args) {
AltConst a = new attack(101);
System.out.println("attack.i: " + a.i);
}
}
9
- 10.
A. 以下のコードの問題点は何か?
AltConst のサブクラスをつくることにより,checkarg() に
よるチェックの後でフィールド i の値を変更できる.
class attack extends AltConst {
attack(int arg) {
super(); サブクラス化による攻撃への対
this.i = arg; 策を行え!!
}
public static void main(String[] args) {
AltConst a = new attack(101);
System.out.println("attack.i: " + a.i);
}
}
10