- 道德黑客教程
- 道德黑客 - 主页
- 道德黑客 - 概述
- 道德黑客 - 黑客类型
- 道德黑客 - 著名黑客
- 道德黑客 - 术语
- 道德黑客 - 工具
- 道德黑客 - 技能
- 道德黑客 - 流程
- 道德黑客 - 侦察
- 道德黑客 - 足迹
- 道德黑客 - 指纹识别
- 道德黑客 - 嗅探
- 道德黑客 - 嗅探工具
- 道德黑客 - ARP 中毒
- 道德黑客 - DNS 中毒
- 道德黑客 - 剥削
- 道德黑客 - 枚举
- 道德黑客 - Metasploit
- 道德黑客 - 木马攻击
- 道德黑客 - TCP/IP 劫持
- 道德黑客 - 电子邮件劫持
- 道德黑客 - 密码黑客
- 道德黑客 - 无线黑客
- 道德黑客 - 社会工程
- 道德黑客 - DDOS 攻击
- 道德黑客 - 跨站脚本
- 道德黑客 - SQL 注入
- 道德黑客 - 渗透测试
- 道德黑客有用资源
- 道德黑客 - 快速指南
- 道德黑客 - 有用的资源
- 道德黑客 - 讨论
道德黑客 - SQL 注入
SQL 注入是一组放置在 URL 字符串或数据结构中的 SQL 命令,以便从与 Web 应用程序连接的数据库中检索我们想要的响应。此类攻击通常发生在使用 PHP 或 ASP.NET 开发的网页上。
SQL 注入攻击可以通过以下意图来完成:
要转储系统的整个数据库,
修改数据库的内容,或
执行应用程序不允许的不同查询。
当应用程序在将输入传递给 SQL 语句之前未正确验证输入时,这种类型的攻击就会发生。注入通常放置在地址栏、搜索字段或数据字段中。
检测 Web 应用程序是否容易受到 SQL 注入攻击的最简单方法是在字符串中使用“'”字符并查看是否出现任何错误。
实施例1
让我们尝试用几个例子来理解这个概念。如下图所示,我们在名称字段中使用了“'”字符。
现在,单击登录按钮。它应该产生以下响应 -
这意味着“Name”字段容易受到 SQL 注入攻击。
实施例2
我们有这个 URL - http://10.10.10.101/mutillidae/index.php?page=site-footer-xssdiscussion.php
我们想要测试变量“page”,但观察我们如何在字符串 URL 中注入“'”字符。
当我们按 Enter 时,会产生以下结果,但有错误。
SQLMAP
SQLMAP 是检测 SQL 注入的最佳工具之一。可以从http://sqlmap.org/下载
它是在 Kali 发行版中预编译的。您可以在 - 应用程序 → 数据库评估 → Sqlmap 中找到它。
打开SQLMAP后,我们进入SQL注入的页面,然后获取标头请求。从标题中,我们在 SQL 中运行以下命令 -
./sqlmap.py --headers="User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:25.0) Gecko/20100101 Firefox/25.0" --cookie="security=low; PHPSESSID=oikbs8qcic2omf5gnd09kihsm7" -u ' http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#' - level=5 risk=3 -p id --suffix="-BR" -v3
SQLMAP将测试所有变量,结果将显示参数“id”存在漏洞,如下图所示。
SQL忍者
SQLNinja 是 Kali 发行版中提供的另一个 SQL 注入工具。
JSQL注入
JSQL 注入是在 Java 中实现的,它可以自动执行 SQL 注入。
快速提示
为了防止您的 Web 应用程序受到 SQL 注入攻击,您应该牢记以下几点 -
未经检查的用户对数据库的输入不应通过应用程序 GUI。
传递到应用程序的每个变量都应该经过清理和验证。
传递到数据库的用户输入应该被引用。