Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix --exclude example in README #62

Open
cotjoey opened this issue Dec 21, 2021 · 4 comments
Open

fix --exclude example in README #62

cotjoey opened this issue Dec 21, 2021 · 4 comments

Comments

@cotjoey
Copy link

cotjoey commented Dec 21, 2021

Hello,

After trying multiple different options, the --exclude example in the README should read:

Example: --exclude='["/dev", "/media", "Z:\TEMP"]'

I removed the "s" from exclude and added single ticks to enclose the [ ].

Thank you

@PaulWalkerUK
Copy link

PaulWalkerUK commented Dec 21, 2021

I've struggled with this exclude parameter on Windows. I don't know if there's a better way, but I've ended up specifying a separate --exclude for each path, as in:

--exclude=["""C:\\folder\\sub folder 1"""] --exclude=["""C:\\folder\\sub folder 2"""]

Also note the extra quote and backslash characters.

Like I say, there might be a better way, but this seems to be working for me at least (I should add this is from a Command Prompt, not PowerShell)

@donmontalvo
Copy link

donmontalvo commented Dec 22, 2021

I'm confused, thought excludes had to be in a JSON?

https://github.com/mergebase/log4j-detector#itemusage

@hokching
Copy link

hokching commented Jan 5, 2022

I've struggled with this exclude parameter on Windows. I don't know if there's a better way, but I've ended up specifying a separate --exclude for each path, as in:

--exclude=["""C:\\folder\\sub folder 1"""] --exclude=["""C:\\folder\\sub folder 2"""]

Also note the extra quote and backslash characters.

Like I say, there might be a better way, but this seems to be working for me at least (I should add this is from a Command Prompt, not PowerShell)

(Windows Platform)
Below as an example to pass multiple items to the --exclude argument:

  • D:\scan\nf\item\ignore
  • D:\scan\nf\item\ignore2

Tested in Windows 10:

java -jar log4j-detector-2021.12.20.jar --verbose --exclude="[\"D:\\\\scan\\\\nf\\\\item\\\\ignore\", \"D:\\\\scan\\\\nf\\\\item\\\\ignore2\"]" d:\scan\nf

Output:

-- github.com/mergebase/log4j-detector v2021.12.20 (by mergebase.com) analyzing paths (could take a while).
-- Note: specify the '--verbose' flag to have every file examined printed to STDERR.
-- Skipping D:\scan\nf\item\doc20160816171008.pdf - Not a zip/jar/war file.
-- Info: Skipping [D:\scan\nf\item\ignore] because --excludes mentions it.
-- Info: Skipping [D:\scan\nf\item\ignore2] because --excludes mentions it.
-- No vulnerable Log4J 2.x samples found in supplied paths: [d:\scan\nf]
-- Congratulations, the supplied paths are not vulnerable to CVE-2021-44228 or CVE-2021-45046 !  :-)

Drives me crazy, to be frank.

(btw, for this version v2021.12.20, the paths of --exclude is case sensitive even in Windows
in other words if the case doesn't match, the program will still scan the --exclude paths)

@hokching
Copy link

hokching commented Jan 5, 2022

I've struggled with this exclude parameter on Windows. I don't know if there's a better way, but I've ended up specifying a separate --exclude for each path, as in:

--exclude=["""C:\\folder\\sub folder 1"""] --exclude=["""C:\\folder\\sub folder 2"""]

Also note the extra quote and backslash characters.
Like I say, there might be a better way, but this seems to be working for me at least (I should add this is from a Command Prompt, not PowerShell)

(Windows Platform) Below as an example to pass multiple items to the --exclude argument:

* D:\scan\nf\item\ignore

* D:\scan\nf\item\ignore2

Tested in Windows 10:

java -jar log4j-detector-2021.12.20.jar --verbose --exclude="[\"D:\\\\scan\\\\nf\\\\item\\\\ignore\", \"D:\\\\scan\\\\nf\\\\item\\\\ignore2\"]" d:\scan\nf

Output:

-- github.com/mergebase/log4j-detector v2021.12.20 (by mergebase.com) analyzing paths (could take a while).
-- Note: specify the '--verbose' flag to have every file examined printed to STDERR.
-- Skipping D:\scan\nf\item\doc20160816171008.pdf - Not a zip/jar/war file.
-- Info: Skipping [D:\scan\nf\item\ignore] because --excludes mentions it.
-- Info: Skipping [D:\scan\nf\item\ignore2] because --excludes mentions it.
-- No vulnerable Log4J 2.x samples found in supplied paths: [d:\scan\nf]
-- Congratulations, the supplied paths are not vulnerable to CVE-2021-44228 or CVE-2021-45046 !  :-)

Drives me crazy, to be frank.

(btw, for this version v2021.12.20, the paths of --exclude is case sensitive even in Windows in other words if the case doesn't match, the program will still scan the --exclude paths)

Oops, the latest version is 2021.12.29
not sure if it applies to that version too

hokching added a commit to hokching/log4j-detector that referenced this issue Jan 7, 2022
1. Canonicalize paths in --exclude array
2. Add para dump, mainly for troubleshooting in Windows (without this I will not be able to come out with the exclude argument below (see mergebase#62 (comment)):
java -jar log4j-detector-2021.12.20.jar --verbose --exclude="[\"D:\\\\scan\\\\nf\\\\item\\\\ignore\", \"D:\\\\scan\\\\nf\\\\item\\\\ignore2\"]" d:\scan\nf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants