Update 攻击技术.md

调整配图宽度和预处理语句示例的环境描述。
This commit is contained in:
CyC2018
2026-10-28 03:18:57 +08:00
parent 8c35741e6e
commit 7b476ab252
+2 -2
View File
@@ -122,7 +122,7 @@ http://www.examplebank.com/withdraw?account=AccountName&amount=1000&for=PayeeNam
如果有账户名为 Alice 的用户访问了恶意站点,而之前刚访问过银行不久,登录信息尚未过期,那么就会损失 1000 美元。
<div align="center"> <img src="pics/csrf.png" width="540px"/> </div><br>
<div align="center"> <img src="pics/csrf.png" width="600px"/> </div><br>
这种恶意的网址可以有很多种形式,藏身于网页中的许多地方。此外,攻击者也不需要控制放置恶意网址的网站。例如他可以将这种地址藏在论坛,博客等任何用户生成内容的网站中。这意味着如果服务器端没有合适的防御措施的话,用户即使访问熟悉的可信网站也有受攻击的危险。改为 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'