From 7b476ab252e59c101d58838d440e420d4cb60fad Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Wed, 28 Oct 2026 03:18:57 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E6=94=BB=E5=87=BB=E6=8A=80=E6=9C=AF.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整配图宽度和预处理语句示例的环境描述。 --- notes/攻击技术.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/notes/攻击技术.md b/notes/攻击技术.md index ec3bfea8..4f3c27d6 100644 --- a/notes/攻击技术.md +++ b/notes/攻击技术.md @@ -122,7 +122,7 @@ http://www.examplebank.com/withdraw?account=AccountName&amount=1000&for=PayeeNam 如果有账户名为 Alice 的用户访问了恶意站点,而之前刚访问过银行不久,登录信息尚未过期,那么就会损失 1000 美元。 -

+

这种恶意的网址可以有很多种形式,藏身于网页中的许多地方。此外,攻击者也不需要控制放置恶意网址的网站。例如他可以将这种地址藏在论坛,博客等任何用户生成内容的网站中。这意味着如果服务器端没有合适的防御措施的话,用户即使访问熟悉的可信网站也有受攻击的危险。改为 POST 请求也不能解决问题,攻击者可以使用自动提交的表单。 @@ -194,7 +194,7 @@ stmt.setString(2, password); ResultSet rs = stmt.executeQuery(); ``` -需要注意的是,MySQL 的 JDBC 驱动(Connector/J)默认并不在服务器上预编译,而是在客户端把参数中的单引号等字符转义后,拼成完整的语句发送。在本机用 Connector/J 8.3 执行上面的查询,两个参数都传入 1' OR '1'='1,MySQL 通用查询日志中记录的是: +需要注意的是,MySQL 的 JDBC 驱动(Connector/J)默认并不在服务器上预编译,而是在客户端把参数中的单引号等字符转义后,拼成完整的语句发送。例如用 Connector/J 8.3 执行上面的查询,两个参数都传入 1' OR '1'='1,MySQL 通用查询日志中记录的是: ```text Query SELECT * FROM users WHERE name = '1'' OR ''1''=''1' AND pw = '1'' OR ''1''=''1'