sqlmap(二)

虽然我用过mssql和oracle,但表示只是用过,不是很熟,所以本文大多数都在说MySQL数据库。


一、数据库

数据库管理系统  ->  数据库(可能存在多个) ->   表(一般一个数据库中都存储多个表) -> 字段  (一般一个表中都有多个字段)

也就是说:一般都是一对多的关系,这里就不深究了,我们先来看看表(tables)的结构。

  

这是从phpmyadmin中截取的一张图片,看起来是不是有点像excel 表格呢?

数据库中一般都会存储很多数据,包括我们的用户名和密码,所以很多黑客就喜欢搞数据库咯。


二、sqlmap 枚举数据库

首先进入终端,如果是Linux,就是terminal,如果是Windows,就是cmd。

当然,进行sql注入之前,你先要找到注入点,怎么找?google什么的,貌似还有些工具,我这里只是为了记录sqlmap的使用过程,不做深入。

1、枚举数据库


参数-u 表示URL,也就是注入点了,–dbs表示枚举数据库,说枚举太官方了,我们不如说:请sqlmap列出所有的数据库名。

2、枚举表  tables


使用-D 参数,把刚才枚举出来的数据库写到后面。–tables表示枚举这个数据库下面的表。

结果为:


那么我们就可以猜测那个数据库下面是用户名和密码了,也可以把数据库dump到我们的电脑上。进行分析。

3、枚举字段


意思就是说,枚举这个数据库下面的这个表,下面有哪些字段。

4、数据dump


这个命令表示dump当前这个数据库,下面的这个表中的所有数据。


如果这个表中刚好是管理员的用户名和密码的话,就可以尝试进行后台扫描和登录了。


总结:注入漏洞是一个经典的漏洞,我这里只是简单描述sqlmap的使用方法,关于高级的方式请参考官方说明。

            sql注入虽然是个老是的注入攻击方式,当目前已经出现其它类型的变形注入,还是需要web开发者继续关注安全。

            </div>
03-08
### SQLMap 使用教程与案例 #### 工具简介 SQLMap 是一款开源的渗透测试工具,主要用于自动化检测和利用SQL注入漏洞。该工具支持多种类型的数据库并提供丰富的功能来帮助安全研究人员评估Web应用程序的安全性[^1]。 #### 常用参数解析 为了更好地理解和运用SQLMap,在实际操作前需熟悉其基本命令行选项: - `-u` 或 `--url`: 指定目标URL。 - `--data`: 当请求方式为POST时提交的数据包体内容。 - `--cookie`: 设置HTTP Cookie头字段中的值。 - `--threads`: 并发线程数,默认情况下为1个线程。 - `--batch`: 自动选择默认选项而不提示用户输入。 - `--banner`: 抓取数据库版本信息。 - `--current-db`: 查看当前正在使用的数据库名称。 - `--dbs`: 列举所有可用的数据库名。 - `--tables`: 枚举特定数据库下的表结构。 - `--columns`: 显示给定表格内的列详情。 - `--dump`: 下载整个或部分数据库的内容到本地文件系统中保存下来。 - `--os-shell`: 尝试通过SQL注入获得操作系统shell访问权限。 - `--tamper`: 应用指定的篡改脚本来修改查询语句以规避防火墙或其他防护措施的影响[^2]。 #### Tamper 脚本应用实例 Tamper脚本可以用来改变发送至服务器端之前的有效负载形式,从而绕过某些基于签名模式匹配的工作机制。例如,当面对启用了Magic Quotes GPC (magic_quotes_gpc) 的PHP环境时,可以通过加载相应的tamper插件实现有效攻击[^3]。 ```bash sqlmap -u "http://example.com/page?id=1" --tamper=between.py,randomcase.py,multiplespaces.py ``` 上述命令会依次调用between、randomcase以及multiplespaces这三个不同的转换函数处理原始payload后再发起探测动作。 #### 实战演练指南 以下是几个具体的实战场景说明如何灵活运用SQLMap完成不同层次的任务需求: ##### 场景一:获取DVWA平台上的敏感资料 针对存在已知SQL注入缺陷的目标站点(如Damn Vulnerable Web Application),可通过如下指令快速定位潜在风险点并尝试读取后台存储的信息[^4]: ```bash sqlmap -u http://target-site/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit --forms --batch --crawl=5 --level=3 --risk=3 --dbms=mysql --dump-all ``` 此配置不仅扫描页面上所有的交互式组件还深入挖掘链接内部可能存在的隐患;同时调整了探查强度(`--level`) 和 风险级别 (`--risk`) 参数确保尽可能全面覆盖各种可能性。 ##### 场景:借助UnmagicQuotes脚本突破防御屏障 对于那些开启了自动转义字符序列特性的web服务而言,则可考虑引入专门设计好的tamper模块辅助开展进一步的研究工作。下面的例子展示了怎样巧妙地组合多个技术手段达成目的[^5]: ```bash sqlmap -u "http://protected-server/index.php?option=com_content&view=article&id=1" --tamper=unmagicquotes.py --technique=E --time-sec=5 --string="Not vulnerable" ``` 这里特别指定了采用时间盲注法(`--technique=E`)并通过自定义响应特征串(`--string`) 来判断是否存在真实的脆弱之处。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值