我想将电子邮件地址从Web表单传递到bash脚本。我正在使用以下正则表达式:
/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/这够了吗?还是可以嵌入漏洞利用程序?
该脚本是从PHP调用的:
system('/usr/local/bin/script.sh "$email"');
                
                4
              
                  做得好,甚至问。我看不到有任何利用潜力,但您可能会拒绝一些有效的电子邮件地址,并接受一些无效的电子邮件地址。哦,您应该锚定正则表达式。
                
                
                  
                    —
                    通配符
                    
                  
                
              
                  @Wildcard确实,缺乏锚点使得正则表达式无法用作安全测试!
                
                
                  
                    —
                    吉尔(Gilles)'所以
                    
                  
                
              
                  这可能是有效的电子邮件地址
                
                  
                    —
                    roaima 
                    
                  
                
              "the doctor"@gallifrey.com。请注意用户名组件中带引号的空格。
                
                  您在什么时候担心漏洞利用?主题行显示为“ bash”,因此在扩展$ email作为script.sh或(以script.sh处理传递的值的)加引号(或大概基于PHP的严格性)时将扩展作为电子邮件的关注点)正则表达式或???
                
                
                  
                    —
                    杰夫·谢勒
                    
                  
                
              
                  目前尚不清楚在脚本中如何使用正则表达式。为了进行良好的分析,请提供脚本的相关部分。
                
                
                  
                    —
                    jofel