加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 有效的电子邮件地址 – XSS和SQL注入

发布时间:2020-12-13 13:19:23 所属栏目:PHP教程 来源:网络整理
导读:由于电子邮件地址有很多有效字符,是否有任何有效的电子邮件地址本身可以是XSS攻击或SQL注入?我在网上找不到任何相关信息. The local-part of the e-mail address may use any of these ASCII characters: Uppercase and lowercase English letters (a–z,A
由于电子邮件地址有很多有效字符,是否有任何有效的电子邮件地址本身可以是XSS攻击或SQL注入?我在网上找不到任何相关信息.

The local-part of the e-mail address
may use any of these ASCII characters:

  • Uppercase and lowercase English letters (a–z,A–Z)
  • Digits 0 to 9
  • Characters ! # $% & ‘ * + – / = ? ^ _ ` { | } ~
  • Character . (dot,period,full stop) provided that it is not the last
    character,and provided also that it does not appear two or
    more times consecutively (e.g. John..Doe@example.com).

http://en.wikipedia.org/wiki/E-mail_address#RFC_specification

我不是在问如何防止这些攻击(我已经在使用参数化查询和转义/ HTML净化器),这更像是一个概念验证.

首先想到的是’OR 1 = 1–@gmail.com,但不允许使用空格.所有SQL注入都需要空格吗?

如果用引号括起来,则允许使用空格,因此“’OR 1 = 1 – ”@ gmail.com是有效的电子邮件地址.此外,它可能不是一个问题,但从技术上讲,这些都是有效的电子邮件地址:
' BAD SQL STUFF -- <fake@ryanbrunner.com>
fake@ryanbrunner.com (' BAD SQL STUFF --)

即使这是不可能的,仍然没有理由不使用参数化查询并对显示给用户的所有用户输入数据进行编码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读