知识点1:git泄露

知识点2:assert函数的命令执行漏洞

解题

步骤一

先进行目录扫描,发现git泄露

发现了git泄露,通过githack工具将其下载下来

进入dist文件中查看

一个一个查看后,发现了index.php里有漏洞利用点,即 assert函数

步骤二

assert函数的命令执行漏洞原理:当assert()内的参数为字符串是,那个字符串会被当成php函数执行(就和eval差不多)

注意到这两行代码
$file = "templates/" . $page . ".php";
assert(strops('$file','..') === false)当page = ') //时
file = templates/')
assert中的代码为 strops('templates/') 因为语法问题直接报错了,但是可以通过 or 来进行命令执行
如 page = ') or system('whoami') //
file = templates/') or system('whoami')
assert中代码为 strops(templates/') or system('whoami')
因为 strops函数报错了,因此执行or后面的语句,即whoami结合上面的思路构造pyaload
?page=') or system('whoami'); //

需要注意的是,php语句结尾需要有分号

接下来就是正常的命令执行漏洞

补充

php函数中有命令执行漏洞的函数,最基本的原理就是括号内的参数会被当成php代码执行,然后可以通过 system()函数来执行命令行

1.eval() 最常见的

2.assert() 如果函数中嵌套了函数,可以采用or来进行绕过(如上面的strops函数)

3.preg_replace() ,/e模式具有命令执行的漏洞

攻防世界----ics-05_jjj34的博客-CSDN博客

攻防世界---mfw相关推荐

  1. 攻防世界mfw解题wp

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

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

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

  3. 攻防世界writeup

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

  4. 攻防世界-web高手进阶区

    文章目录 攻防世界-web高手进阶区 1.baby_web 2.Training-WWW-Robots 3.Web_php_include (文件包含+伪协议) 1.方法 2.方法 4.ics-06( ...

  5. 【攻防世界001】Guess-the-Number

    攻防世界之前刷了几十题了,没写wp,感觉很简单没啥意思.后来参加了几次比赛,发现有点干不动,决定还是老老实实刷题好了.这是第一篇wp,这题很简单,是个jar,用jd-gui可以得到java源码. 原来 ...

  6. 攻防世界(pwn)--Mary_Morton 利用格式化字符串+栈溢出破解Canary的保护机制

    ctf(pwn) canary保护机制讲解 与 破解方法介绍 程序执行流程 有三个选项,1是利用栈溢出,2是利用格式化字符串,3是退出;可连续输入多次; IDA分析 解题思路 程序存在canary保护 ...

  7. 攻防世界(Pwn) forgot---栈溢出;(方法二)

    攻防世界(Pwn) forgot-栈溢出:(方法一) 里面对问题描述的更详细一点 返回目标函数 0x80486CC 方法二(爆破流) 因为最终返回的是 v3[0]-v3[9] 之中的一个函数, v3[ ...

  8. 攻防世界(Pwn) forgot---栈溢出;(方法一)

    攻防世界(Pwn) forgot-栈溢出:(方法二) 介绍 这道题表面看起来有点复杂,其实很简单,有两种方法可以来做这一道题; 方法一(精确打击) 文件运行流程是: 1.先输入名字 2. 输入一串字符 ...

  9. 攻防世界misc新手_[攻防世界]mobile新手练习区easy-apk

    [攻防世界]mobile新手练习区easy-apk easy-apk最佳Writeup由129师386旅独立团 • devi1提供 难度系数: 7.0 题目来源: 暂无 题目描述:无 题目场景: 暂无 ...

  10. 攻防世界 ——crypto

    目录 新手区部分题解: 1,easy_RSA 2,Normal_RSA 3, 幂数加密 4,easy_ECC 高手进阶区部分题题解 5, ENC 6,告诉你个秘密 7,Easy-one 8,说我作弊需 ...

最新文章

  1. 兄弟!kafka的重试机制,你可能用错了~
  2. Java中的Set集合接口实现插入对象不重复的原理
  3. PyQt4编程之简短地做出多个选择框
  4. RHCS套件实现高可用负载均衡集群(二)——Fence设备
  5. 盲人编程_盲人如何编码
  6. 软件工程练习:模块化,单元测试,回归测试,TDD
  7. 【SAP HANA】关于SAP HANA中带层次结构的Attribute View创建、激活状况下在系统中生成对象的研究...
  8. 怎样给计算机做屏幕保护,如何制作电脑屏保?XP系统中怎么制作动态屏幕保护?...
  9. 怎么在WORD2016里给文档空白处添加下划线,干货在这里,WORD2016空白处如何添加下划线
  10. VBS让室友成为你儿子
  11. Win10屏保设置位置在哪里可以找到
  12. AOE网:关键路径和关键活动
  13. STM32F103C8T6控制LED灯轮流闪烁
  14. linux usb网卡驱动 ko,qf9700 USB网卡在x86 linux和arm linux上的驱动安装以及配置
  15. 阿里程序员试用期被淘汰,原因竟是?
  16. 疲惫的 618,很难再激起年轻人的多巴胺?
  17. 第一章 3ds Max基础界面和操作
  18. EPUB阅读器聚合-Android
  19. Android/iOS视频编辑SDK开发记
  20. 两种降压升压电路原理图

热门文章

  1. python求零点极点增益_传递函数的零点、极点怎么解释,有什么用?
  2. spring cloud 全家桶 简单介绍
  3. 合肥php怎么这么多的,合肥为什么那么多“郢”?答案就在这!
  4. 彻底删除aws亚马逊服务器使之不再计费
  5. PHP explode()和implode()的使用方法
  6. php implode(),php implode函数怎么用
  7. Instant-Meshes-奇异点检测
  8. torch.ge()函数解读
  9. 一个屌丝程序猿的人生(二十七)
  10. 自制Alfred/Wox插件推荐