日時: | 2017-12-03 |
---|---|
作: | 時雨堂 |
バージョン: | 17.6.30 |
URL: | https://shiguredo.jp/ |
2017 年 6 月 30 日をもって開発/販売を終了しました。
import org.gradle.api.tasks.Exec | |
defaultTasks 'bower' | |
// Get the path for the locally installed binaries | |
task npmBin << { | |
new ByteArrayOutputStream().withStream { os -> | |
def result = exec { | |
executable = 'npm' | |
args = ['bin'] |
今回の問題は、StrutsでHttpリクエストパラメータをFormに入れる際に、commons-beanutilsの | |
BeanUtils.populateを使っていることに起因する。 | |
populateの中で使われている、BeanUtils.setPropertyはノーチェックでBeanのプロパティを探すので、 | |
プロパティ名を"class.classLoader.xxx"のように書いておくと、BeanのgetClassをよんで、 | |
ClassオブジェクトのgetClassLoaderをよんで、…と連鎖してクラスローダが取得される。 | |
そしてドットでつないだ最後のプロパティ名で値をセットにいくので、TomcatのWebAppClassLoaderが | |
途中でゲットされてしまうと、Struts2の脆弱性と同じ問題が発生してしまう。 |
日時: | 2017-12-03 |
---|---|
作: | 時雨堂 |
バージョン: | 17.6.30 |
URL: | https://shiguredo.jp/ |
2017 年 6 月 30 日をもって開発/販売を終了しました。