运行最新版XSStrike触发re.error错误,求解决方案
解决XSStrike运行时的re.error报错问题
问题根源
Python 3.11对正则表达式的语法校验更为严格,XSStrike的core/jsContexter.py文件第11行中,正则表达式将全局标志(?s)重复添加到每个分支前,违反了“全局标志必须置于表达式开头”的规则,从而触发报错。
修复步骤
- 打开文件
/home/anon/python-tools/XSStrike/core/jsContexter.py - 定位到第11行的原代码:
pre = re.sub(r'(?s){.*?}|(?s)\(.*?\)|(?s)".*?"|(?s)\'.*?\'', '', pre)
- 修改为以下代码(将
(?s)移至正则最开头,使其对整个表达式生效,无需重复添加):
pre = re.sub(r'(?s){.*?}|\(.*?\)|".*?"|\'.*?\'', '', pre)
- 保存文件后重新运行XSStrike即可。
内容的提问来源于stack exchange,提问作者Anon_security
相关产品推荐
相关产品推荐

