ctf——writeup

cft线上赛——第四关

地址:http://106.75.26.211:1111

提示:DIV

首先访问目标地址,他给了我一句话。不知道这是个啥,幌子。但并不阻碍我查看源代码。

查看源代码,告诉我们一个文件。——index.php.txt。

访问这个index.php.txt文件。有三个参数flag1,flag2,flag3,反对应三个值。

然后我就想到把这三个参数通过get方式传进去,看看有没有反应。

果然我的猜测,没有问题。参数穿了之后,又给了我们一个提示。是一个压缩包,我们去下载这个文件。访问这个地址:http:106.75.26.211:1111/1chunqiu.zip

下载了之后解压,是这个网站一部分源码。

他有个login.php,这个一般是登录界面。试着访问这个PHP文件。http:106.75.26.211:1111/1chunqiu/login.php

这是登录页面,需要提交车票号,用户名,密码。这个地方会跟数据库发生交互的,我判断这是一道注入题,需要我们通过SQL注入,来获取flag信息的。现在就是找到他的注入点,构造语句获取flag。知道了方向就好办了,开搞。

前面我们获取网页的源码,经过代码审计。发现注入点在login.php里面,然后发现username这个参数会传入数据库,我们需要在username后面构造语句,这里对我们传入的参数还有过滤,他会对一些特殊字符进行转义,我们输入的用于闭合的 "'"会变成"\'"。这里喔想到了有%00'这样是可以成功的。他会在\'加一个\ ,变成\\'。

闭合成功,构造语句,我猜测flag在flag库里。这里由于显示的显示位有限,所以需要用到substr函数慢慢截取出啦。

可以看到最后的flag也被我们截取出来了。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值