Skip to content

Commit

Permalink
Detect Windows CE and Minimo better
Browse files Browse the repository at this point in the history
  • Loading branch information
nielsbasjes committed May 29, 2020
1 parent 8263135 commit 9101a7b
Show file tree
Hide file tree
Showing 3 changed files with 148 additions and 34 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -18,6 +18,7 @@ v5.18-SNAPSHOT
- New/improved detections
- Detect a very rare iPhone variant
- Detect RetroZilla browser
- Detect Windows CE better and related Minimo browser
- Build
- Include OWASP check for bad dependencies

Expand Down
28 changes: 0 additions & 28 deletions analyzer/src/main/resources/UserAgents/OtherOS.yaml
Expand Up @@ -496,34 +496,6 @@ config:
AgentLanguageCode : 'en-us'
AgentSecurity : 'Strong security'

- test:
input:
user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD macppc; rv:1.8.1) Gecko/20070222 Minimo/0.016'
expected:
DeviceClass : 'Desktop'
DeviceName : 'OpenBsd Desktop'
DeviceBrand : 'Unknown'
OperatingSystemClass : 'Desktop'
OperatingSystemName : 'OpenBSD'
OperatingSystemVersion : '??'
OperatingSystemVersionMajor : '??'
OperatingSystemNameVersion : 'OpenBSD ??'
OperatingSystemNameVersionMajor : 'OpenBSD ??'
LayoutEngineClass : 'Browser'
LayoutEngineName : 'Gecko'
LayoutEngineVersion : '1.8.1'
LayoutEngineVersionMajor : '1'
LayoutEngineNameVersion : 'Gecko 1.8.1'
LayoutEngineNameVersionMajor : 'Gecko 1'
LayoutEngineBuild : '20070222'
AgentClass : 'Browser'
AgentName : 'Minimo'
AgentVersion : '0.016'
AgentVersionMajor : '0'
AgentNameVersion : 'Minimo 0.016'
AgentNameVersionMajor : 'Minimo 0'
AgentSecurity : 'Strong security'


- test:
input:
Expand Down
153 changes: 147 additions & 6 deletions analyzer/src/main/resources/UserAgents/WindowsCE.yaml
Expand Up @@ -20,12 +20,23 @@ config:
require:
- 'agent.product.comments.entry="Windows CE"'
extract:
- 'DeviceClass : 101 :"Mobile"'
- 'DeviceName : 101 :"Mobile"'
- 'OperatingSystemClass : 101 :"Mobile"'
- 'OperatingSystemName : 100 :"Windows CE"'
- 'OperatingSystemVersion : 100 :"CE"'
- 'OperatingSystemNameVersion : 100 :"Windows CE"'
- 'DeviceClass : 201 :"Mobile"'
- 'DeviceName : 201 :"Mobile"'
- 'OperatingSystemClass : 201 :"Mobile"'
- 'OperatingSystemName : 200 :"Windows CE"'
- 'OperatingSystemVersion : 200 :"CE"'
- 'OperatingSystemNameVersion : 200 :"Windows CE"'

- matcher:
variable:
- 'WindowsCE :agent.product.comments.entry.product.name="Windows CE"^'
extract:
- 'DeviceClass : 201 :"Mobile"'
- 'DeviceName : 201 :"Mobile"'
- 'OperatingSystemClass : 201 :"Mobile"'
- 'OperatingSystemName : 200 :"Windows CE"'
- 'OperatingSystemVersion : 200 :Concat["CE ";@WindowsCE.version]'
- 'OperatingSystemNameVersion : 200 :Concat["Windows CE ";@WindowsCE.version]'

- matcher:
extract:
Expand Down Expand Up @@ -53,6 +64,7 @@ config:
- 'DeviceName : 402 :@Product.name'
- 'DeviceVersion : 402 :@Product.version'


# - test:
# input:
# user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows CE, BrailleNote; IEMobile 7.11)'
Expand Down Expand Up @@ -200,3 +212,132 @@ config:
AgentNameVersion : 'IE Mobile 6.12'
AgentNameVersionMajor : 'IE Mobile 6'


# https://en.wikipedia.org/wiki/Minimo
# Minimo (from "Mini Mozilla") was a project to create a version of the Mozilla web browser for small devices like PDAs and mobile phones.

- matcher:
require:
- 'agent.product.name="Minimo"'
extract:
- 'DeviceClass : 200 : "Mobile"'
- 'OperatingSystemClass : 200 : "Mobile"'

- test:
input:
user_agent_string: 'Mozilla/5.0 (X11; U; Linux armv6l; rv: 1.8.1.5pre) Gecko/20070619 Minimo/0.020'
expected:
DeviceClass : 'Mobile'
DeviceName : 'Linux Desktop'
DeviceBrand : 'Unknown'
DeviceCpu : 'ARMv6l'
DeviceCpuBits : '32'
OperatingSystemClass : 'Mobile'
OperatingSystemName : 'Linux'
OperatingSystemVersion : 'ARMv6l'
OperatingSystemVersionMajor : 'ARMv6l'
OperatingSystemNameVersion : 'Linux ARMv6l'
OperatingSystemNameVersionMajor : 'Linux ARMv6l'
LayoutEngineClass : 'Browser'
LayoutEngineName : 'Gecko'
LayoutEngineVersion : '1.8.1.5pre'
LayoutEngineVersionMajor : '1'
LayoutEngineNameVersion : 'Gecko 1.8.1.5pre'
LayoutEngineNameVersionMajor : 'Gecko 1'
LayoutEngineBuild : '20070619'
AgentClass : 'Browser'
AgentName : 'Minimo'
AgentVersion : '0.020'
AgentVersionMajor : '0'
AgentNameVersion : 'Minimo 0.020'
AgentNameVersionMajor : 'Minimo 0'
AgentSecurity : 'Strong security'


- test:
input:
user_agent_string: 'Mozilla/5.0 (Windows; Windows; U; Windows NT 5.1; Windows CE 5.2; rv:1.8.1.4pre) Gecko/20070327 Minimo/0.020'
expected:
DeviceClass : 'Mobile'
DeviceName : 'Mobile'
DeviceBrand : 'Unknown'
DeviceCpuBits : '32'
OperatingSystemClass : 'Mobile'
OperatingSystemName : 'Windows CE'
OperatingSystemVersion : 'CE 5.2'
OperatingSystemVersionMajor : 'CE 5'
OperatingSystemNameVersion : 'Windows CE 5.2'
OperatingSystemNameVersionMajor : 'Windows CE 5'
LayoutEngineClass : 'Browser'
LayoutEngineName : 'Gecko'
LayoutEngineVersion : '1.8.1.4pre'
LayoutEngineVersionMajor : '1'
LayoutEngineNameVersion : 'Gecko 1.8.1.4pre'
LayoutEngineNameVersionMajor : 'Gecko 1'
LayoutEngineBuild : '20070327'
AgentClass : 'Browser'
AgentName : 'Minimo'
AgentVersion : '0.020'
AgentVersionMajor : '0'
AgentNameVersion : 'Minimo 0.020'
AgentNameVersionMajor : 'Minimo 0'
AgentSecurity : 'Strong security'


- test:
input:
user_agent_string: 'Mozilla/5.0 (Windows; U; Windows CE 5.1; rv:1.8.1.4pre) Gecko/20070327 Minimo/0.020'
expected:
DeviceClass : 'Mobile'
DeviceName : 'Mobile'
DeviceBrand : 'Unknown'
OperatingSystemClass : 'Mobile'
OperatingSystemName : 'Windows CE'
OperatingSystemVersion : 'CE 5.1'
OperatingSystemVersionMajor : 'CE 5'
OperatingSystemNameVersion : 'Windows CE 5.1'
OperatingSystemNameVersionMajor : 'Windows CE 5'
LayoutEngineClass : 'Browser'
LayoutEngineName : 'Gecko'
LayoutEngineVersion : '1.8.1.4pre'
LayoutEngineVersionMajor : '1'
LayoutEngineNameVersion : 'Gecko 1.8.1.4pre'
LayoutEngineNameVersionMajor : 'Gecko 1'
LayoutEngineBuild : '20070327'
AgentClass : 'Browser'
AgentName : 'Minimo'
AgentVersion : '0.020'
AgentVersionMajor : '0'
AgentNameVersion : 'Minimo 0.020'
AgentNameVersionMajor : 'Minimo 0'
AgentSecurity : 'Strong security'


- test:
input:
user_agent_string: 'Mozilla/5.0 (X11; U; OpenBSD macppc; rv:1.8.1) Gecko/20070222 Minimo/0.016'
expected:
DeviceClass : 'Mobile'
DeviceName : 'OpenBsd Desktop'
DeviceBrand : 'Unknown'
OperatingSystemClass : 'Mobile'
OperatingSystemName : 'OpenBSD'
OperatingSystemVersion : '??'
OperatingSystemVersionMajor : '??'
OperatingSystemNameVersion : 'OpenBSD ??'
OperatingSystemNameVersionMajor : 'OpenBSD ??'
LayoutEngineClass : 'Browser'
LayoutEngineName : 'Gecko'
LayoutEngineVersion : '1.8.1'
LayoutEngineVersionMajor : '1'
LayoutEngineNameVersion : 'Gecko 1.8.1'
LayoutEngineNameVersionMajor : 'Gecko 1'
LayoutEngineBuild : '20070222'
AgentClass : 'Browser'
AgentName : 'Minimo'
AgentVersion : '0.016'
AgentVersionMajor : '0'
AgentNameVersion : 'Minimo 0.016'
AgentNameVersionMajor : 'Minimo 0'
AgentSecurity : 'Strong security'

0 comments on commit 9101a7b

Please sign in to comment.