By MBPDLPayday Loans

郁闷的正则表达式bug

晚上在公司发现一个bug — vulnerability case 跟踪系统中的nbtscanner记录到数据库中的数据有错误. 坐下来跟踪调试, 发现在存入数据库的时候就有问题了, 因为是调用外部程序, 没法继续跟踪, 遂打印出来对比, 发现直接输出的文本中是ok的. 难道调用外部程序的时候有问题?? 继续从内存里面dump出来, 发现dump出来也是好的…

奇怪了… 然后再拿着错误数据分析, 终于看出点眉目来了… 原来是用正则表达式匹配的时候最后一位没有做位数限定, 默认取1了…

这是原始的IP正则匹配:

[0-9]+\.[0-9]+\.[0-9]+\.[0-9]

这是修正后的:

[0-9]+\.[0-9]+\.[0-9]+\.[0-9]*

Leave a Reply