---
# System prepended metadata

title: 九月　技術的トピックス

---

# 九月　技術的トピックス

## XXE外部参照　の例を出す
対策を出す
徳丸本　p 368あたりの内容


# XML 外部実体参照(XXE)
webサーバ内部のファイルを不正に読み取られる可能性がある脆弱性を紹介



## XML
拡張可能なマークアップ言語

マークアップ言語は、タグと呼ばれるもので、論理構造を記述する。
似たようなものとしてHTMLが挙げられる。
![](https://i.imgur.com/6NozMdi.png)


![](https://i.imgur.com/bwFykf4.png)


<!--
memo)
参照してください
https://wa3.i-3-i.info/word1577.html
-->


## 実体参照
XML 文書が参照する源泉のことを実体と呼び、
そのファイルなどを読み込むことを実体参照

以下の例は内部実体参照であり、文書内で宣言した内容を読み込んでいる。
![](https://i.imgur.com/TMEnznA.png)

![](https://i.imgur.com/yv5Xd4c.png)




<!--
memo)
参照してください
http://wisdom.sakura.ne.jp/web/xml/dtd/dtd10.html
-->

## XXE 例
javaや古いphpライブラリを用いる際に発生する脆弱性



フラグ読み込み

- ルートディレクトリにあるflag.txtというファイルを読み込みます
- 実行結果としてclpwn{xxe}が出力されている



![](https://i.imgur.com/0rA0ZmW.png)


![](https://i.imgur.com/2R1WChx.png)

<!--
memo)
参照してください
http://wisdom.sakura.ne.jp/web/xml/dtd/dtd11.html
-->


## 危険性と影響
この攻撃の実行は、標的サーバにおいて読み込みが行われている。
そのため外部からはアクセスできないような内部ネットワークへの踏み台として用いることが可能

## 対策
- xmlでなくjsonを用いる
- limxml2のバージョンを2.9以降にする
