我在此页面上再次运行以下测试: https://www.hackthissite.org/missions/realistic/4/。 在该页面上有一个电子邮件编辑框,其中包含一个电子邮件地址。 这个测试的目的是传入一个sql字符串,看看会发生什么:
def test_SQL_Inj_01(self):
url = self.url + '/missions/realistic/4/addemail.php'
payload = {'email': "'or1=1--"}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
# make request:
print(url)
POST_req = requests.post(url, data=payload, headers=headers)
print(POST_req.content)
当我运行此测试时,它会生成请求,但预期响应代码为200,但是响应正文让我感到困惑。 我希望响应只包含"插入表中的错误"电子邮件"!电子邮件无效!请联系Fischer"的管理员。返回的是我正在测试的网站上的一般HTML。 当我检查chrome中的流量时,我可以看到对" addemail.php"进行了POST。端点,所以我相信我使用的是正确的Request类型。 我希望能够断言当我传入此字符串时,预期的错误响应会返回。