Back to Browse

WebGoat - A3 SQL Injection (intro)

37 views
Oct 9, 2024
8:04

注入攻击(如SQL注入、路径遍历、XSS)直接针对应用程序的输入处理机制,属于应用安全范畴 (P6)SQL 注入(也称为 SQLi)是最常见的网络攻击技术之一。SQL 注入攻击涉及通过客户端向应用程序发送的 SQL 查询输入中插入或“注入”恶意代码。可能发生在客户端的未过滤数据(如搜索字段的输入)进入应用程序的 SQL 解释器时。如果应用程序沒能正确清理用户输入(使用预编译语句或类似技术)或对输入进行特殊字符过滤,黑客就可以操控底层的 SQL 语句。例如,如果输入未对 SQL 元字符如 单引号用于表示字符串常量,—(注释掉余下的行)或 ;(结束 SQL 查询)进行过滤,可能会导致 SQL 注入,造成数据泄露、数据篡改或其他安全问题。因此,在处理用户输入时,需要严格验证和清洗输入数据。 Smith' OR '1' = '1结果为 SELECT * FROM users WHERE name = 'Smith' OR TRUE;,这将返回 users 表中的所有条目。 Smith' OR 1 = 1; --结果为 SELECT * FROM users WHERE name = 'Smith' OR TRUE;--';,与第一个示例类似,这也会返回 users 表中的所有条目,并且后面的sql都不执行 Smith'; DROP TABLE users; TRUNCATE audit_log; --链接多个 SQL 命令,以同时删除 users 表和清空 audit_log 表中的所有条目。 (P7)SQL 注入的后果 成功的 SQL 注入攻击可能会: * 读取和修改数据库中的敏感数据 * 执行数据库上的管理操作 * 关闭审计或数据库管理系统(DBMS) * 截断表和日志 * 添加用户 * 恢复 DBMS 文件系统中给定文件的内容 * 向操作系统发出命令 SQL 注入攻击允许攻击者: * 假冒身份 * 篡改现有数据 * 导致拒绝问题,如使交易无效或更改余额 * 完全披露系统上的所有数据 * 销毁数据或使其不可用 * 成为数据库服务器的管理员 (P8)SQL注入攻击的严重性取决于(1) 攻击者的技能和想象力 (2)深入防御对策 — 输入验证,最小权限 (3)数据库技术 并非所有数据库都支持命令链,SQL注入在 PHP等老旧的语言中更为常见,

Download

0 formats

No download links available.

WebGoat - A3 SQL Injection (intro) | NatokHD