chorsley / python-Wappalyzer

Python driver for Wappalyzer, a web application detection utility.
GNU General Public License v3.0
309 stars 122 forks source link

Fix invalid regex in Wappalyzer/data/technologies.json: Symfony -> html #80

Open arielf opened 1 year ago

arielf commented 1 year ago

python3.11/site-packages/Wappalyzer/Wappalyzer.py:226: UserWarning: Caught 'unbalanced parenthesis at position 119' compiling regex: ['(?:<div class="sf-toolbar[^>]+?>[^]+([\d.])+|<div id="sfwdt[^"]+" class="[^"]*sf-toolbar)', 'version:\1'] ----------------------------------^^^ invalid sub-regex The 'position 119' seems to a delayed reaction to the core issue.

Indeed it looks like the sub-regex: [^]+ just before is invalid since ^ is a negation/complement for the char-class which is empty here.

The problem is in the data-file: Wappalyzer/data/technologies.json line 11961 The rule for "Symfony": "html": should be (one char change): "html": "(?:<div class=\"sf-toolbar[^>]+?>[^<]+<span class=\"sf-toolbar-value\">([\d.])+|<div id=\"sfwdt[^\"]+\" class=\"[^\"]*sf-toolbar)\;version:\1", ----------------------------------------------^^^^ the fix