由于电子邮件地址的有效字符太多,是否有任何有效的电子邮件地址本身可能是XSS攻击或SQL注入?我在网上找不到关于此的任何信息。有效的电子邮件地址 - XSS和SQL注入
电子邮件地址的本地部分 可以使用这些ASCII字符:
- 大写和小写英文字母(A-Z,A-Z)
- 数字0到9
- 人物! #$%&'* + -/=?^_`{| }〜
- 字符。 (点,句号,句号),前提是它不是最后一个 字符,并且还规定它不会连续出现两次或多次连续出现 (例如John..Doe @ example.com)。
http://en.wikipedia.org/wiki/E-mail_address#RFC_specification
我不问如何防止这些攻击(我已经使用参数化查询和逃逸/ HTML净化器),这更是一个证明的概念。
首先想到的是'OR [email protected]
,除了空格不允许。所有SQL注入都需要空格吗?
可以使用http://isemail.info/来检查您喜欢的任何电子邮件地址,或者使用过滤器验证电子邮件等一些PHP功能,只使用过滤器注射电子邮件地址进行测试。根据isemail.info,第一个地址是无效的,第二个地址是“地址在消息中有效,但不能未经修改用于信封” – Kzqai 2012-04-26 23:11:51