[网鼎杯 2018]Fakebook1

 join一个用户后,点进去发现是这样的

查看这个页面的源代码,发现一个base64编码后的字串

decode之后就是我们join新用户时填入的blog网址 

 那我们是不是可以通过填入存储flag的地址,从而回显出来呢?当然,先按照常规sqli步骤走

扫一下目录,但是这里比较奇怪,没有内容的会跳回默认页面

假装我们已经扫出来user.php.bak和flag.php

 

 user.php.bak的内容

回到view.php,查出来有四列,然后还发现过滤了union select中间的空格,用/**/替代空格绕过

 

这里2回显在username的位置上,同时也有报错显示绝对地址 

 

 

这里爆出来的也都是我们join的序列化数据,显然flag不在这里,

 

回到刚刚提到的绝对路径这一步

data存在4这里,并且上面一张图可以看出data是序列化的字符串,我们把blog改成file:///var/www/htmlflag.php

no=0 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:3:"123";s:3:"age";i:123;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'
 

 

 

成功读取了flag.php的源码

 

另外还有一个方法load_file()可以直接读取文件

 

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-27 07:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-27 07:44:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-27 07:44:01       82 阅读
  4. Python语言-面向对象

    2024-01-27 07:44:01       91 阅读

热门阅读

  1. mysql小知识

    2024-01-27 07:44:01       48 阅读
  2. web前端项目重构的理解

    2024-01-27 07:44:01       52 阅读
  3. ADB的配置和使用 ADB常用命-2

    2024-01-27 07:44:01       48 阅读
  4. 数据库(二)

    2024-01-27 07:44:01       47 阅读
  5. Ceph部署

    2024-01-27 07:44:01       41 阅读
  6. conda管理python安装包与虚拟环境的相关命令汇总

    2024-01-27 07:44:01       52 阅读
  7. nginx处理跨域问题

    2024-01-27 07:44:01       54 阅读