场景:我想创建一个应用程序,其中用户注册帐户和服务器发送给他们一个时间针,以核实他们的联系方式通过短信。用户输入所收到的代码以验证其详细信息。
然而,发送一条短信要花钱,但是接收一条短信是免费的,我的短信网关允许我读取收到的短信。
因此,我可以在我的应用程序中创建一个屏幕,让用户发送一条短信到我的网关与网关号码和消息预填(例如。“嗨,请用代码34GKTT551T激活我的帐户”)。用户只需按下发送。
我的网关没有让用户输入他们接收到的代码并在服务器上验证代码,而是获取用户发送的代码并将消息发送给我的服务器,然后由服务器验证代码,从而验证用户在注册时输入的电话号码。
问:这种方法有什么根本问题吗?
这样做的好处和缺点是什么?是的,我知道短信可以被伪造,但它比伪造电子邮件更难,而电子邮件也可以使用。我不认为这是正确的2要素认证的替代方案,但这种方法值得作为一种低成本的替代,不需要用户做任何其他特殊的事情。
PS。这是我关于堆栈溢出的第一个问题,所以请注意。
发布于 2015-12-07 11:56:48
不,这是不安全的,因为短信发送者很容易被伪造。在Kali操作系统上如何实现这一点,请接受以下说明。
还有一些服务就像这个。
它所提供的只是一层非常薄的安全措施,防止那些拥有用户密码但不知道上述信息或受害者的移动电话号码的人。受害者的电话号码可以通过社会工程等其他手段获得。如果有一个单独的手机用于2FA的唯一目的,它可能会工作,但是为什么不使用谷歌认证API,这是免费的(谷歌认证应用程序可用于iOS和安卓)?
https://stackoverflow.com/questions/34067715
复制相似问题