AMP-电子邮件安全

问题描述 投票:0回答:1

我已成功从amp-email发送带有数据的表单,但是存在安全问题。黑客可以拦截用户通过amp-email中的表单发送的数据吗?如果可以的话,概率是多少,做到的容易程度。

amp-html amp-email
1个回答
0
投票
  • Hacker可以在chrome devTools中查看您从电子邮件到后端API的请求。
  • 示例实例:

假设我们的网站上有一个页面,显示单个城市的气象观测历史。该城市的ID通过请求参数中的链接传递:/weather.php?city_id=<ID>,其中ID-是城市的主键。在PHP脚本中,我们将此参数用于SQL查询中的替换:

$city_id = $_GET['city_id'];
$res = mysqli_query($link, "SELECT * FROM weather_log WHERE city_id = " . $city_id);

如果服务器传递的city_id参数等于10 /weather.php?city_id=10,则执行SQL查询:

SELECT * FROM weather_log WHERE city_id = 10

但是如果攻击者将字符串-1 OR 1=1作为id参数传递,则将执行请求:

SELECT * FROM weather_log WHERE city_id = -1 OR 1=1

将SQL语言构造添加到输入参数(而不是简单的值)会更改整个SQL查询的执行逻辑!

在此示例中,由于表达式1 = 1始终为true,因此不会显示一个城市的数据,而是会接收所有城市的数据。代替SELECT ...表达式,可以有一个用于更新数据的表达式,这样后果将更加严重。

缺乏对SQL查询参数的正确处理是最严重的漏洞之一。切勿“按原样”在SQL查询中插入用户的数据!

© www.soinside.com 2019 - 2024. All rights reserved.