diff --git a/.bright-harness-build.log b/.bright-harness-build.log new file mode 100644 index 0000000..4306225 --- /dev/null +++ b/.bright-harness-build.log @@ -0,0 +1,53 @@ +$ docker build --platform linux/amd64 -t bright-harness-local -f Dockerfile.harness . + +#0 building with "desktop-linux" instance using docker driver + +#1 [internal] load build definition from Dockerfile.harness +#1 transferring dockerfile: 1.00kB done +#1 DONE 0.0s + +#2 [auth] library/ruby:pull token for registry-1.docker.io +#2 DONE 0.0s + +#3 [internal] load metadata for docker.io/library/ruby:2.3 +#3 DONE 1.2s + +#4 [internal] load .dockerignore +#4 transferring context: 96B done +#4 DONE 0.0s + +#5 [internal] load build context +#5 transferring context: 37.66kB done +#5 DONE 0.0s + +#6 [1/6] FROM docker.io/library/ruby:2.3@sha256:78cc821d95c48621e577b6b0d44c9d509f0f2a4e089b9fd0ca2ae86f274773a8 +#6 resolve docker.io/library/ruby:2.3@sha256:78cc821d95c48621e577b6b0d44c9d509f0f2a4e089b9fd0ca2ae86f274773a8 0.0s done +#6 DONE 0.0s + +#7 [2/6] WORKDIR /app +#7 CACHED + +#8 [3/6] RUN sed -i '/stretch-updates/d; s|deb.debian.org/debian|archive.debian.org/debian|g; s|security.debian.org/debian-security|archive.debian.org/debian-security|g' /etc/apt/sources.list && printf 'Acquire::Check-Valid-Until "false";\nAcquire::AllowInsecureRepositories "true";\n' > /etc/apt/apt.conf.d/99archive && apt-get update -o Acquire::Check-Valid-Until=false && apt-get install -y --allow-unauthenticated --no-install-recommends build-essential libpq-dev libxml2-dev libxslt1-dev && rm -rf /var/lib/apt/lists/* +#8 CACHED + +#9 [4/6] COPY Gemfile Gemfile.lock ./ +#9 CACHED + +#10 [5/6] RUN gem install bundler -v 1.17.3 && bundle _1.17.3_ config without 'development test' && bundle _1.17.3_ install --jobs 1 --retry 3 --without development test +#10 CACHED + +#11 [6/6] COPY . /app +#11 DONE 0.0s + +#12 exporting to image +#12 exporting layers 0.0s done +#12 exporting manifest sha256:a8d87fe33b1625f7fbb0c8c88be7262e1a6a04cf79184827155b58b42b69d902 done +#12 exporting config sha256:7d370d30874ef9b7ead671ba0857910013b56c1162887e9c2d533e56051bd2b6 done +#12 exporting attestation manifest sha256:c747c9c26d4135b71b1abf656bee2ff2b8a99efe2a5f590d4d307f52528c6045 done +#12 exporting manifest list sha256:6b1046ffca1eb964440892ba9e660b703b5365cfdfe8ab3af5098316c90968f9 done +#12 naming to docker.io/library/bright-harness-local:latest done +#12 DONE 0.0s + +View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/6e1aoeljtxayjx7ukcnpw7t5y + +[exit code=0 signal=null] diff --git a/.bright-harness-container.log b/.bright-harness-container.log new file mode 100644 index 0000000..7bcdf2e --- /dev/null +++ b/.bright-harness-container.log @@ -0,0 +1,271 @@ +[2026-07-13 15:41:09] ERROR bad URI `/_snapshot/test/backdata%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:41:09] ERROR bad URI `/_snapshot/test/backdata%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:41:15] ERROR bad URI `/3GSFqdfZjArUlQGPpZ6PotIKXzm/../../ThinVnc.ini'. +[2026-07-13 15:41:16] ERROR bad URI `/3GSFqdvrYmrnlqMOFANimbfRsRl/../../ThinVnc.ini'. +[2026-07-13 15:41:27] ERROR bad URI `/hacsfiles/../../configuration.yaml'. +[2026-07-13 15:41:28] ERROR bad URI `/hacsfiles/../../configuration.yaml'. +[2026-07-13 15:41:29] ERROR bad URI `/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:41:30] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:41:30] ERROR bad URI `/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:41:30] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:41:30] ERROR bad URI `/'. +[2026-07-13 15:41:30] ERROR bad URI `/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd'. +[2026-07-13 15:41:30] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:41:30] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:41:30] ERROR bad URI `/'. +[2026-07-13 15:41:30] ERROR bad URI `/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd'. +[2026-07-13 15:41:30] ERROR bad URI `/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh'. +[2026-07-13 15:41:30] ERROR bad URI `/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh'. +[2026-07-13 15:41:33] ERROR bad URI `/iupjournals/index.php/esj'. +[2026-07-13 15:41:33] ERROR bad URI `/iupjournals/index.php/esj'. +[2026-07-13 15:41:43] ERROR bad URI `/../../../../etc/passwd'. +[2026-07-13 15:41:43] ERROR bad URI `/../../../../etc/passwd'. +[2026-07-13 15:41:52] ERROR bad URI `/static/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:41:52] ERROR bad URI `/static/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:42:01] ERROR bad URI `/assets/../../.HTTP/HTTP.db'. +[2026-07-13 15:42:01] ERROR bad URI `/assets/../../.HTTP/HTTP.db'. +[2026-07-13 15:42:02] ERROR bad URI `/api/v1/attachments/..%2f..%2f..%2f..%2f..%2froot%2f/.flowise'. +[2026-07-13 15:42:02] ERROR bad URI `/api/v1/attachments/..%2f..%2f..%2f..%2f..%2froot%2f/.flowise'. +[2026-07-13 15:42:04] ERROR bad URI `/@fs/../../../../../../../etc/passwd?import&?inline=1.wasm?init'. +[2026-07-13 15:42:04] ERROR bad URI `/@fs/../../../../../../../etc/passwd?import&?inline=1.wasm?init'. +[2026-07-13 15:42:05] ERROR bad URI `/pt3upd/..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:42:05] ERROR bad URI `/pt3upd/..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:42:09] ERROR bad URI `/static/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:42:09] ERROR bad URI `/static/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:42:15] ERROR bad URI `/'. +[2026-07-13 15:42:17] ERROR bad URI `/wlmeng/../../../../../../../../../../../etc/passwd%00index.htm'. +[2026-07-13 15:42:17] ERROR bad URI `/static/js/../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:17] ERROR bad URI `/%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:42:18] ERROR bad URI `/static/js/../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:18] ERROR bad URI `/xwiki/webjars/wiki%3Axwiki/..%2F..%2F..%2F..%2F..%2FWEB-INF%2Fxwiki.cfg'. +[2026-07-13 15:42:18] ERROR bad URI `/../../../../../../../../etc/passwd'. +[2026-07-13 15:42:18] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:18] ERROR bad URI `/download/..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:42:18] ERROR bad URI `/asd/../../../../../../../../etc/passwd'. +[2026-07-13 15:42:19] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:42:19] ERROR bad URI `/../package.json'. +[2026-07-13 15:42:19] ERROR bad URI `/public/plugins/alertlist/../../../../../conf/defaults.ini'. +[2026-07-13 15:42:20] ERROR bad URI `/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/var/www/html/index.html'. +[2026-07-13 15:42:20] ERROR bad URI `/static/../../../a/../../../../etc/passwd'. +[2026-07-13 15:42:20] ERROR bad URI `/../../../../../../../../windows/win.ini'. +[2026-07-13 15:42:21] ERROR bad URI `/plugins/..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:42:21] ERROR bad URI `/plugins/..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:42:21] ERROR bad URI `/../../../../../../../../windows/win.ini'. +[2026-07-13 15:42:22] ERROR bad URI `/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fwin.ini'. +[2026-07-13 15:42:22] ERROR bad URI `/dana-na/../dana/html5acc/guacamole/../../../../../../etc/passwd?/dana/html5acc/guacamole/'. +[2026-07-13 15:42:23] ERROR bad URI `/hue/assets/..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2fpasswd'. +[2026-07-13 15:42:23] ERROR bad URI `/ui_base/js/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:42:23] ERROR bad URI `/'. +[2026-07-13 15:42:23] ERROR bad URI `/_next/../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:24] ERROR bad URI `/static/../../../../etc/passwd'. +[2026-07-13 15:42:24] ERROR bad URI `/ui_base/js/..%2f..%2f..%2f..%2fsettings.js'. +[2026-07-13 15:42:24] ERROR bad URI `/loginLess/../../etc/passwd'. +[2026-07-13 15:42:24] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:25] ERROR bad URI `/downloads/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:25] ERROR bad URI `/signEzUI/playlist/edit/upload/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f../etc/passwd'. +[2026-07-13 15:42:26] ERROR bad URI `/wlmdeu%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc/passwd%00index.htm'. +[2026-07-13 15:42:26] ERROR bad URI `/../../../../../../../../../../../../windows/iis.log'. +[2026-07-13 15:42:27] ERROR bad URI `/_next/../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:27] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:27] ERROR bad URI `/demo/file/../../../../../../../../etc/passwd%00filename.mp4/chunk.m3u8?nimblesessionid=1484448'. +[2026-07-13 15:42:27] ERROR bad URI `/signEzUI/playlist/edit/upload/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f../etc/passwd'. +[2026-07-13 15:42:27] ERROR bad URI `/../../../../../../etc/passwd'. +[2026-07-13 15:42:28] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:28] ERROR bad URI `/%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:42:28] ERROR bad URI `/../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:42:30] ERROR bad URI `/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fwin.ini'. +[2026-07-13 15:42:30] ERROR bad URI `/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e/etc/passwd'. +[2026-07-13 15:42:30] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:31] ERROR bad URI `/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:42:31] ERROR bad URI `/../../etc/passwd'. +[2026-07-13 15:42:31] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:31] ERROR bad URI `/../conf/config.properties'. +[2026-07-13 15:42:32] ERROR bad URI `/../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:33] ERROR bad URI `/../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:33] ERROR bad URI `/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e/etc/passwd'. +[2026-07-13 15:42:33] ERROR bad URI `/../../../../../etc/passwd'. +[2026-07-13 15:42:33] ERROR bad URI `/webeditor/../../../windows/win.ini'. +[2026-07-13 15:42:33] ERROR bad URI `/../../etc/passwd'. +[2026-07-13 15:42:33] ERROR bad URI `/xwiki/webjars/wiki%3Axwiki/..%2F..%2F..%2F..%2F..%2FWEB-INF%2Fxwiki.cfg'. +[2026-07-13 15:42:34] ERROR bad URI `/demo/file/../../../../../../../../etc/passwd%00filename.mp4/chunk.m3u8?nimblesessionid=1484448'. +[2026-07-13 15:42:34] ERROR bad URI `/../../../../../../../../etc/passwd'. +[2026-07-13 15:42:34] ERROR bad URI `/../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:42:35] ERROR bad URI `/../../../../../etc/passwd'. +[2026-07-13 15:42:35] ERROR bad URI `/loginLess/../../etc/passwd'. +[2026-07-13 15:42:35] ERROR bad URI `/static/../../../a/../../../../etc/passwd'. +[2026-07-13 15:42:35] ERROR bad URI `/../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:37] ERROR bad URI `/images//////////////////../../../../../../../../etc/passwd'. +[2026-07-13 15:42:38] ERROR bad URI `/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:42:39] ERROR bad URI `/node_modules/../../../../../etc/passwd'. +[2026-07-13 15:42:40] ERROR bad URI `/static/../../../../etc/passwd'. +[2026-07-13 15:42:40] ERROR bad URI `/wlmdeu%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc/passwd%00index.htm'. +[2026-07-13 15:42:41] ERROR bad URI `/_plugin/head/../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:41] ERROR bad URI `/../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:42] ERROR bad URI `/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:42:42] ERROR bad URI `/hue/assets/..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2fpasswd'. +[2026-07-13 15:42:43] ERROR bad URI `/wlmeng/../../../../../../../../../../../etc/passwd%00index.htm'. +[2026-07-13 15:42:43] ERROR bad URI `/theme/default/img/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e//etc/passwd'. +[2026-07-13 15:42:43] ERROR bad URI `/_next/../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:43] ERROR bad URI `/webeditor/../../../windows/win.ini'. +[2026-07-13 15:42:43] ERROR bad URI `/download/..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:42:43] ERROR bad URI `/dana-na/../dana/html5acc/guacamole/../../../../../../etc/passwd?/dana/html5acc/guacamole/'. +[2026-07-13 15:42:44] ERROR bad URI `/asd/../../../../../../../../etc/passwd'. +[2026-07-13 15:42:45] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:45] ERROR bad URI `/img/../../../../../../etc/passwd'. +[2026-07-13 15:42:45] ERROR bad URI `/../package.json'. +[2026-07-13 15:42:45] ERROR bad URI `/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/config/nodogsplash'. +[2026-07-13 15:42:45] ERROR bad URI `/img/../../../../../../etc/passwd'. +[2026-07-13 15:42:46] ERROR bad URI `/login/../../../etc/passwd'. +[2026-07-13 15:42:46] ERROR bad URI `/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/var/www/html/index.html'. +[2026-07-13 15:42:46] ERROR bad URI `/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd'. +[2026-07-13 15:42:47] ERROR bad URI `/_next/../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:47] ERROR bad URI `/node_modules/../../../../../etc/passwd'. +[2026-07-13 15:42:47] ERROR bad URI `/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:42:47] ERROR bad URI `/../conf/config.properties'. +[2026-07-13 15:42:47] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:48] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:42:49] ERROR bad URI `/public/plugins/alertlist/../../../../../conf/defaults.ini'. +[2026-07-13 15:42:49] ERROR bad URI `/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:42:49] ERROR WEBrick::HTTPStatus::RequestURITooLarge +[2026-07-13 15:42:49] ERROR TypeError: can't convert nil into an exact number + /usr/local/lib/ruby/2.3.0/webrick/accesslog.rb:112:in `-' + /usr/local/lib/ruby/2.3.0/webrick/accesslog.rb:112:in `setup_params' + /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:221:in `access_log' + /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:113:in `run' + /usr/local/lib/ruby/2.3.0/webrick/server.rb:314:in `block in start_thread' +[2026-07-13 15:42:49] ERROR bad URI `/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd'. +[2026-07-13 15:42:49] ERROR bad URI `/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/config/nodogsplash'. +[2026-07-13 15:42:50] ERROR bad URI `/downloads/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:42:50] ERROR bad URI `/_plugin/head/../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:42:50] ERROR bad URI `/ui_base/js/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:42:51] ERROR bad URI `/theme/default/img/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e//etc/passwd'. +[2026-07-13 15:42:51] ERROR bad URI `/ui_base/js/..%2f..%2f..%2f..%2fsettings.js'. +[2026-07-13 15:42:51] ERROR bad URI `/'. +[2026-07-13 15:42:51] ERROR bad URI `/login/../../../etc/passwd'. +[2026-07-13 15:42:52] ERROR bad URI `/images//////////////////../../../../../../../../etc/passwd'. +[2026-07-13 15:42:52] ERROR bad URI `/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:42:52] ERROR bad URI `/'. +[2026-07-13 15:42:52] ERROR bad URI `/../../../../../../../../../../../../windows/iis.log'. +[2026-07-13 15:42:53] ERROR bad URI `/../../../../../../etc/passwd'. +[2026-07-13 15:42:53] ERROR WEBrick::HTTPStatus::RequestURITooLarge +[2026-07-13 15:42:53] ERROR TypeError: can't convert nil into an exact number + /usr/local/lib/ruby/2.3.0/webrick/accesslog.rb:112:in `-' + /usr/local/lib/ruby/2.3.0/webrick/accesslog.rb:112:in `setup_params' + /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:221:in `access_log' + /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:113:in `run' + /usr/local/lib/ruby/2.3.0/webrick/server.rb:314:in `block in start_thread' +[2026-07-13 15:43:43] ERROR bad URI `/_snapshot/test/backdata%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:43:49] ERROR bad URI `/3GSGACIcaiDE4P8jMgeBe92IJEt/../../ThinVnc.ini'. +[2026-07-13 15:43:59] ERROR bad URI `/hacsfiles/../../configuration.yaml'. +[2026-07-13 15:44:01] ERROR bad URI `/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:44:01] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:44:01] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:44:01] ERROR bad URI `/'. +[2026-07-13 15:44:01] ERROR bad URI `/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd'. +[2026-07-13 15:44:02] ERROR bad URI `/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh'. +[2026-07-13 15:44:04] ERROR bad URI `/iupjournals/index.php/esj'. +[2026-07-13 15:44:09] ERROR bad URI `/_snapshot/test/backdata%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:44:15] ERROR bad URI `/../../../../etc/passwd'. +[2026-07-13 15:44:16] ERROR bad URI `/3GSGDZher4XnnqphEOOKI0Afs1x/../../ThinVnc.ini'. +[2026-07-13 15:44:24] ERROR bad URI `/static/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:44:25] ERROR bad URI `/hacsfiles/../../configuration.yaml'. +[2026-07-13 15:44:27] ERROR bad URI `/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:44:28] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:44:28] ERROR bad URI `/file/../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:44:28] ERROR bad URI `/'. +[2026-07-13 15:44:28] ERROR bad URI `/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd'. +[2026-07-13 15:44:28] ERROR bad URI `/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh'. +[2026-07-13 15:44:30] ERROR bad URI `/iupjournals/index.php/esj'. +[2026-07-13 15:44:33] ERROR bad URI `/assets/../../.HTTP/HTTP.db'. +[2026-07-13 15:44:34] ERROR bad URI `/api/v1/attachments/..%2f..%2f..%2f..%2f..%2froot%2f/.flowise'. +[2026-07-13 15:44:35] ERROR bad URI `/@fs/../../../../../../../etc/passwd?import&?inline=1.wasm?init'. +[2026-07-13 15:44:36] ERROR bad URI `/pt3upd/..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:44:40] ERROR bad URI `/static/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:44:41] ERROR bad URI `/../../../../etc/passwd'. +[2026-07-13 15:44:46] ERROR bad URI `/static/js/../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:44:47] ERROR bad URI `/ui_base/js/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:44:47] ERROR bad URI `/'. +[2026-07-13 15:44:47] ERROR bad URI `/ui_base/js/..%2f..%2f..%2f..%2fsettings.js'. +[2026-07-13 15:44:48] ERROR bad URI `/../../../../../../../../../../../../windows/iis.log'. +[2026-07-13 15:44:49] ERROR bad URI `/plugins/..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:44:49] ERROR bad URI `/static/../../../../etc/passwd'. +[2026-07-13 15:44:49] ERROR bad URI `/%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:44:49] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:44:49] ERROR bad URI `/../../../../../../../../etc/passwd'. +[2026-07-13 15:44:49] ERROR bad URI `/static/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:44:49] ERROR bad URI `/webeditor/../../../windows/win.ini'. +[2026-07-13 15:44:50] ERROR bad URI `/download/..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd'. +[2026-07-13 15:44:51] ERROR bad URI `/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd'. +[2026-07-13 15:44:51] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:44:51] ERROR bad URI `/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fwin.ini'. +[2026-07-13 15:44:51] ERROR bad URI `/../package.json'. +[2026-07-13 15:44:52] ERROR bad URI `/_plugin/head/../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:44:55] ERROR bad URI `/asd/../../../../../../../../etc/passwd'. +[2026-07-13 15:44:55] ERROR bad URI `/theme/default/img/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e//etc/passwd'. +[2026-07-13 15:44:55] ERROR bad URI `/xwiki/webjars/wiki%3Axwiki/..%2F..%2F..%2F..%2F..%2FWEB-INF%2Fxwiki.cfg'. +[2026-07-13 15:44:55] ERROR bad URI `/downloads/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:44:56] ERROR bad URI `/../../../../../etc/passwd'. +[2026-07-13 15:44:56] ERROR bad URI `/../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:44:58] ERROR bad URI `/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:44:58] ERROR bad URI `/assets/../../.HTTP/HTTP.db'. +[2026-07-13 15:44:59] ERROR bad URI `/api/v1/attachments/..%2f..%2f..%2f..%2f..%2froot%2f/.flowise'. +[2026-07-13 15:44:59] ERROR bad URI `/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:44:59] ERROR bad URI `/static/../../../a/../../../../etc/passwd'. +[2026-07-13 15:45:00] ERROR bad URI `/../conf/config.properties'. +[2026-07-13 15:45:01] ERROR bad URI `/@fs/../../../../../../../etc/passwd?import&?inline=1.wasm?init'. +[2026-07-13 15:45:01] ERROR bad URI `/wlmeng/../../../../../../../../../../../etc/passwd%00index.htm'. +[2026-07-13 15:45:01] ERROR bad URI `/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/config/nodogsplash'. +[2026-07-13 15:45:01] ERROR bad URI `/dana-na/../dana/html5acc/guacamole/../../../../../../etc/passwd?/dana/html5acc/guacamole/'. +[2026-07-13 15:45:02] ERROR bad URI `/pt3upd/..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:45:02] ERROR bad URI `/wlmdeu%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc/passwd%00index.htm'. +[2026-07-13 15:45:02] ERROR bad URI `/../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:45:04] ERROR bad URI `/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'. +[2026-07-13 15:45:05] ERROR bad URI `/static/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd'. +[2026-07-13 15:45:06] ERROR WEBrick::HTTPStatus::RequestURITooLarge +[2026-07-13 15:45:06] ERROR TypeError: can't convert nil into an exact number + /usr/local/lib/ruby/2.3.0/webrick/accesslog.rb:112:in `-' + /usr/local/lib/ruby/2.3.0/webrick/accesslog.rb:112:in `setup_params' + /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:221:in `access_log' + /usr/local/lib/ruby/2.3.0/webrick/httpserver.rb:113:in `run' + /usr/local/lib/ruby/2.3.0/webrick/server.rb:314:in `block in start_thread' +[2026-07-13 15:45:06] ERROR bad URI `/login/../../../etc/passwd'. +[2026-07-13 15:45:07] ERROR bad URI `/images//////////////////../../../../../../../../etc/passwd'. +[2026-07-13 15:45:07] ERROR bad URI `/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e/etc/passwd'. +[2026-07-13 15:45:08] ERROR bad URI `/demo/file/../../../../../../../../etc/passwd%00filename.mp4/chunk.m3u8?nimblesessionid=1484448'. +[2026-07-13 15:45:09] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:45:09] ERROR bad URI `/'. +[2026-07-13 15:45:10] ERROR bad URI `/../../etc/passwd'. +[2026-07-13 15:45:11] ERROR bad URI `/../../../../../../../../windows/win.ini'. +[2026-07-13 15:45:11] ERROR bad URI `/..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd'. +[2026-07-13 15:45:11] ERROR bad URI `/static/js/../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:45:13] ERROR bad URI `/wlmeng/../../../../../../../../../../../etc/passwd%00index.htm'. +[2026-07-13 15:45:13] ERROR bad URI `/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/var/www/html/index.html'. +[2026-07-13 15:45:13] ERROR bad URI `/_next/../../../../../../../../../etc/passwd'. +[2026-07-13 15:45:14] ERROR bad URI `/loginLess/../../etc/passwd'. +[2026-07-13 15:45:14] ERROR bad URI `/images//////////////////../../../../../../../../etc/passwd'. +[2026-07-13 15:45:14] ERROR bad URI `/static/../../../../etc/passwd'. +[2026-07-13 15:45:15] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:45:15] ERROR bad URI `/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fwin.ini'. +[2026-07-13 15:45:15] ERROR bad URI `/../conf/config.properties'. +[2026-07-13 15:45:15] ERROR bad URI `/node_modules/../../../../../etc/passwd'. +[2026-07-13 15:45:15] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:45:15] ERROR bad URI `/signEzUI/playlist/edit/upload/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f../etc/passwd'. +[2026-07-13 15:45:16] ERROR bad URI `/../../etc/passwd'. +[2026-07-13 15:45:16] ERROR bad URI `/img/../../../../../../etc/passwd'. +[2026-07-13 15:45:16] ERROR bad URI `/public/plugins/alertlist/../../../../../conf/defaults.ini'. +[2026-07-13 15:45:16] ERROR bad URI `/../../../../../../etc/passwd'. +[2026-07-13 15:45:17] ERROR bad URI `/asd/../../../../../../../../etc/passwd'. +[2026-07-13 15:45:17] ERROR bad URI `/loginLess/../../etc/passwd'. +[2026-07-13 15:45:18] ERROR bad URI `/../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:45:18] ERROR bad URI `/'. +[2026-07-13 15:45:18] ERROR bad URI `/img/../../../../../../etc/passwd'. +[2026-07-13 15:45:19] ERROR bad URI `/../../../../../../etc/passwd'. +[2026-07-13 15:45:19] ERROR bad URI `/../package.json'. +[2026-07-13 15:45:19] ERROR bad URI `/_next/../../../../../../../../../../etc/passwd'. +[2026-07-13 15:45:19] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../etc/passwd'. +[2026-07-13 15:45:20] ERROR bad URI `/webeditor/../../../windows/win.ini'. +[2026-07-13 15:45:20] ERROR bad URI `/public/plugins/alertlist/../../../../../../../../../../../../../../../../../../../windows/win.ini'. +[2026-07-13 15:45:20] ERROR bad URI `/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/config/nodogsplash'. +[2026-07-13 15:45:21] ERROR bad URI `/public/plugins/alertlist/../../../../../conf/defaults.ini'. + +[exit code=137 signal=null] diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..63034da --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +# Added by bright-agent to avoid permission errors +log/ diff --git a/Dockerfile.harness b/Dockerfile.harness new file mode 100644 index 0000000..38beff6 --- /dev/null +++ b/Dockerfile.harness @@ -0,0 +1,31 @@ +FROM ruby:2.3 + +ENV NOKOGIRI_USE_SYSTEM_LIBRARIES=1 + +WORKDIR /app + +RUN sed -i '/stretch-updates/d; s|deb.debian.org/debian|archive.debian.org/debian|g; s|security.debian.org/debian-security|archive.debian.org/debian-security|g' /etc/apt/sources.list \ + && printf 'Acquire::Check-Valid-Until "false";\nAcquire::AllowInsecureRepositories "true";\n' > /etc/apt/apt.conf.d/99archive \ + && apt-get update -o Acquire::Check-Valid-Until=false \ + && apt-get install -y --allow-unauthenticated --no-install-recommends \ + build-essential \ + libpq-dev \ + libxml2-dev \ + libxslt1-dev \ + && rm -rf /var/lib/apt/lists/* + +COPY Gemfile Gemfile.lock ./ + +RUN gem install bundler -v 1.17.3 \ + && bundle _1.17.3_ config without 'development test' \ + && bundle _1.17.3_ install --jobs 1 --retry 3 --without development test + +COPY . /app + +ENV RAILS_ENV=development \ + RACK_ENV=development \ + PORT=3001 + +EXPOSE 3001 + +CMD ["bundle", "exec", "ruby", "harness.rb"] diff --git a/harness.rb b/harness.rb new file mode 100644 index 0000000..7e8309d --- /dev/null +++ b/harness.rb @@ -0,0 +1,242 @@ +#!/usr/bin/env ruby + +ROOT = File.expand_path(__dir__) + +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('Gemfile', ROOT) + +require 'bundler/setup' +require 'rack' +require 'json' +require 'ostruct' +require 'action_controller' +require 'action_dispatch' +require 'webrick' + +def plain(status, body) + [status, { 'Content-Type' => 'text/plain' }, [body.to_s]] +end + +def excluded_path?(path) + path.include?('/vendor/') || + path.include?('/node_modules/') || + path.include?('/tmp/') || + path.include?('/log/') || + path.include?('/.bundle/') || + path.include?('/bundle/') +end + +def discover_source_path(preferred) + direct = File.expand_path(preferred, ROOT) + return direct if File.file?(direct) + + basename = File.basename(preferred) + Dir.glob(File.join(ROOT, '**', basename)).sort.each do |candidate| + next unless File.file?(candidate) + next if excluded_path?(candidate) + return candidate if candidate.end_with?(preferred) + end + + nil +end + +def load_target(relative_path) + path = discover_source_path(relative_path) + return [false, "missing file #{relative_path}"] unless path + + load path + [true, nil] +rescue LoadError, StandardError => e + [false, "#{e.class}: #{e.message}"] +end + +unless defined?(ActionController::Base) + abort('action_controller unavailable') +end + +unless defined?(ApplicationController) + class ApplicationController < ActionController::Base + end +end + +LOAD_RESULTS = {} + +[ + 'app/controllers/application_controller.rb', + 'app/controllers/users_controller.rb', + 'app/controllers/posts_controller.rb' +].each do |target| + LOAD_RESULTS[target] = load_target(target) + warn("[harness] skipped #{target}: #{LOAD_RESULTS[target][1]}") unless LOAD_RESULTS[target][0] +end + +module HarnessSupport + def harness_initialize(params_hash: {}, session_hash: {}, referer: nil) + @_harness_params = ActionController::Parameters.new(params_hash) + @_harness_session = session_hash + @_harness_request = OpenStruct.new(referer: referer) + @_harness_redirect = nil + end + + def params + @_harness_params + end + + def session + @_harness_session + end + + def request + @_harness_request + end + + def redirect_to(target, *_args) + @_harness_redirect = (target == :back ? request.referer : target) + end + + def harness_redirect + @_harness_redirect + end + + def serialize(value) + case value + when ActionController::Parameters + value.to_unsafe_h.inspect + else + value.inspect + end + end +end + +def build_controller(klass, params_hash: {}, session_hash: {}, referer: nil) + controller = klass.allocate + controller.extend(HarnessSupport) + controller.harness_initialize(params_hash: params_hash, session_hash: session_hash, referer: referer) + controller +end + +def normalize_bool(value) + case value + when true, 'true', '1', 1, 'yes', 'on' then true + else false + end +end + +def extract_nested_hash(req, root_key) + direct = req.params[root_key] + return direct if direct.is_a?(Hash) + + nested = {} + prefix = "#{root_key}[" + req.params.each do |key, value| + next unless key.start_with?(prefix) && key.end_with?(']') + nested[key[prefix.length..-2]] = value + end + nested +end + +routes = {} + +if LOAD_RESULTS['app/controllers/users_controller.rb'][0] && defined?(UsersController) + routes['/harness/userscontroller-user-params'] = proc do |req| + begin + user_hash = extract_nested_hash(req, 'user') + payload = { + user: { + email: user_hash['email'], + password: user_hash['password'], + password_digest: user_hash['password_digest'], + admin: user_hash.key?('admin') ? normalize_bool(user_hash['admin']) : user_hash['admin'] + } + } + controller = build_controller(UsersController, params_hash: payload) + result = controller.send(:user_params) + plain(200, controller.serialize(result)) + rescue StandardError => e + plain(500, "#{e.class}: #{e.message}") + end + end +end + +if LOAD_RESULTS['app/controllers/posts_controller.rb'][0] && defined?(PostsController) + routes['/harness/postscontroller-post-params'] = proc do |req| + begin + post_hash = extract_nested_hash(req, 'post') + payload = { + post: { + title: post_hash['title'], + content: post_hash['content'], + public: post_hash.key?('public') ? normalize_bool(post_hash['public']) : post_hash['public'] + } + } + controller = build_controller(PostsController, params_hash: payload) + result = controller.send(:post_params) + plain(200, controller.serialize(result)) + rescue StandardError => e + plain(500, "#{e.class}: #{e.message}") + end + end +end + +if LOAD_RESULTS['app/controllers/application_controller.rb'][0] && defined?(ApplicationController) + routes['/harness/applicationcontroller-login-user'] = proc do |req| + begin + controller = build_controller(ApplicationController, session_hash: {}) + user = OpenStruct.new( + id: (req.params['user_id'] || req.params['user[id]'] || 1).to_i, + password: req.params['password'] || req.params['user[password]'] || 'secret', + persisted?: true + ) + controller.login_user(user) + plain(200, controller.session.inspect) + rescue StandardError => e + plain(500, "#{e.class}: #{e.message}") + end + end + + routes['/harness/applicationcontroller-prevent-login-signup'] = proc do |req| + begin + session_value = req.params['session[:user_id]'] || req.params['user_id'] + referer = req.params['request referer'] || req.params['referer'] + controller = build_controller( + ApplicationController, + session_hash: { user_id: session_value.nil? || session_value == '' ? nil : session_value.to_i }, + referer: referer + ) + controller.prevent_login_signup + plain(200, "redirect=#{controller.harness_redirect.inspect}\nsession=#{controller.session.inspect}") + rescue StandardError => e + plain(500, "#{e.class}: #{e.message}") + end + end +end + +app = proc do |env| + req = Rack::Request.new(env) + if req.path_info == '/health' + plain(200, 'ok') + else + handler = routes[req.path_info] + unless handler + plain(404, 'not found') + else + expected_method = case req.path_info + when '/harness/applicationcontroller-prevent-login-signup' then 'GET' + else 'POST' + end + + if req.request_method == expected_method + handler.call(req) + else + plain(405, 'method not allowed') + end + end + end +end + +Rack::Handler::WEBrick.run( + app, + Host: '0.0.0.0', + Port: (ENV['PORT'] || '3001').to_i, + AccessLog: [], + Logger: WEBrick::Log.new($stderr, WEBrick::Log::WARN) +)