sqlmap详解

一.sqlmap -u URL--forms

sqlmap -u http://192.168.11.136:1337//978345210/index.php --forms

针对特定的 URL 进行 SQL 注入测试,特别是针对表单(form)的 POST 注入

forms:这个参数告诉 sqlmap 解析并测试目标 URL 中的表单。

  1. 用途

    • 这个命令主要用于检测网页表单中的 SQL 注入漏洞。sqlmap 会自动从指定的 URL 获取页面中的表单进行测试。
  2. 使用场景

    • 当您想要测试一个网站的表单(如登录表单、搜索框等)是否存在 SQL 注入漏洞时,可以使用此命令。

如果有注入点会提示是否要注入:injection?

二.sqlmap -o -u "URL" --forms --dbs

sqlmap -o -u "http://192.168.11.136:1337//978345210/index.php" --forms --dbs

对特定 URL 进行 SQL 注入测试

  1. sqlmap:这是命令本身,指示系统运行 SQLMap 程序。

  2. -o:这个选项用于开启 SQLMap 的所有优化开关,以加快扫描过程。

  3. -u "http://192.168.11.136:1337/978345210/index.php" :这是指定要测试的 URL。在这个例子中,URL 是 http://192.168.11.136:1337/978345210/index.php

  4. --forms :这个选项告诉 SQLMap 分析目标 URL 上的所有表单,并尝试找出可能存在的 SQL 注入漏洞。SQLMap 会自动填写表单并提交,以检测是否存在可利用的注入点。

  5. --dbs:这个选项用于枚举并获取数据库服务器上的所有数据库。

  6. 查询成功返回关键字:available databases

在执行这个命令时,SQLMap 将首先分析指定的 URL 上的所有表单,然后尝试利用这些表单来检测 SQL 注入漏洞。如果发现漏洞,它会进一步枚举出数据库服务器上的所有数据库。

表单的组成:

  1. 输入字段(Input Fields):这是用户输入数据的地方,可以是文本框、密码框、单选按钮、复选框、下拉菜单等。
  2. 标签(Labels):描述输入字段用途的文本。
  3. 按钮(Buttons):如提交按钮(Submit)、重置按钮(Reset)或自定义按钮,用于提交表单或执行特定操作。
  4. 动作属性(Action Attribute):定义了表单数据提交的目标URL。
  5. 方法属性(Method Attribute):定义了表单数据提交到服务器的方式,通常是GET或POST。

表单的类型:

  • 联系表单:用于收集用户的联系信息,如姓名、邮箱、消息等。
  • 注册表单:用于新用户创建账户,通常需要用户名、密码、邮箱等信息。
  • 登录表单:用于用户登录,需要用户名和密码。
  • 搜索表单:允许用户输入关键词进行搜索。
  • 订单表单:在电子商务网站中用于收集订单信息,如商品选择、数量、支付方式等。

三.sqlmap -o -u "URL" --forms -D Webapp --tables

sqlmap -o -u "http://192.168.11.136:1337//978345210/index.php" --forms -D Webapp --tables 命令,您是在执行一个针对特定数据库的 SQL 注入测试,目的是枚举该数据库中的表。以下是对该命令各部分的解释:

  1. -o:这个参数用于优化 sqlmap 的性能,开启所有默认的性能优化选项。

  2. -u "http://192.168.11.136:1337//978345210/index.php":指定要测试的 URL。

  3. --forms:指示 sqlmap 解析目标 URL 中的表单,并使用这些表单进行测试。

  4. -D Webapp:指定要枚举的数据库为 Webapp

  5. --tables:这个选项用于枚举指定数据库中的所有表。

  6. 枚举成功关键字:Database:

四.sqlmap -o -u "URL" --forms -D Webapp -T Users --columns

指定表,枚举列

sqlmap -o -u "http://192.168.11.136:1337//978345210/index.php" --forms -D Webapp -T Users --columns

  1. 性能优化-o 参数使得 sqlmap 开启所有默认的性能优化选项,以提高工具的运行效率。

  2. 目标URL-u 参数后跟的 URL ("http://192.168.11.136:1337//978345210/index.php") 是测试的目标,sqlmap 将针对这个页面进行SQL注入测试。

  3. 解析表单--forms 参数指示 sqlmap 解析目标 URL 页面中的 HTML 表单,并尝试对这些表单进行注入测试。

  4. 指定数据库-D Webapp 参数告诉 sqlmap 要针对名为 "Webapp" 的数据库进行操作。

  5. 指定表-T Users 参数指定 sqlmap 应该在 "Webapp" 数据库中针对名为 "Users" 的表进行操作。

  6. 枚举列--columns 参数的作用是让 sqlmap 枚举并显示 "Users" 表中的所有列(字段)名称

五.sqlmap -o -u "URL" --forms -D Webapp -T Users --columns -C id,username,password --dump

在已经确认目标URL存在SQL注入漏洞的情况下,从 "Webapp" 数据库的 "Users" 表中提取 "id"、"username" 和 "password" 这三列的数据,并将这些数据转储出来

sqlmap -o -u "http://192.168.11.136:1337//978345210/index.php" --forms -D Webapp -T Users --columns -C id,username,password --dump

  1. -o:启用所有默认的性能优化选项。

  2. -u "http://192.168.11.136:1337//978345210/index.php":指定要测试的URL。

  3. --forms:告诉sqlmap解析目标URL页面中的HTML表单,并尝试对这些表单进行注入测试。

  4. -D Webapp:指定目标数据库为 "Webapp"。

  5. -T Users:指定在 "Webapp" 数据库中要操作的表为 "Users"。

  6. --columns:指示sqlmap枚举并显示 "Users" 表中的所有列。

  7. -C id,username,password:指定只枚举并操作 "Users" 表中的 "id"、"username" 和 "password" 这三列。

  8. --dump:这个参数指示sqlmap尝试从指定的列中提取数据,并将数据转储到文件或控制台。

相关推荐
apcipot_rain29 分钟前
【数据库原理及安全实验】实验一 数据库安装与创建
数据库·安全
爱上大树的小猪1 小时前
【前端安全】模板字符串动态拼接HTML的防XSS完全指南
前端·安全·html
独行soc1 小时前
2025年渗透测试面试题总结-某腾某讯-技术安全实习生升级(题目+回答)
java·python·安全·web安全·面试·职场和发展·红蓝攻防
蝎蟹居1 小时前
GB/T 4706.1-2024 家用和类似用途电器的安全 第1部分:通用要求 与2005版差异(1)
人工智能·单片机·嵌入式硬件·物联网·安全
jinan8861 小时前
企业的移动终端安全怎么管理?
大数据·网络·安全·数据分析·开源软件
生命是有光的1 小时前
【中间件安全计划】锚定Tomcat安全基线
安全·中间件·tomcat
神经毒素2 小时前
WEB安全--文件上传漏洞--其他绕过方式
安全·web安全·文件上传漏洞
予安灵2 小时前
XSS 攻击(详细)
前端·web安全·网络安全·网络攻击模型·xss·安全架构·xss攻击
it技术分享just_free4 小时前
软考教材重点内容 信息安全工程师 第21章 网络设备安全
web安全·网络安全·信息安全·系统安全·软考
安全方案10 小时前
精心整理-2024最新网络安全-信息安全全套资料(学习路线、教程笔记、工具软件、面试文档).zip
笔记·学习·web安全