IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> ctfshow命令执行——突破禁用函数 -> 正文阅读

[PHP知识库]ctfshow命令执行——突破禁用函数

目录

web58:

?web59:

?web60:

web61:

web62:

?web63:【完全同62】

web64:【完全同62】

?web65:【同62】

web66:

web67:【根目录】

?小结(暂时):

看目录:

读文件:


?

?就像这样,如果用到了禁用的函数,会回显被禁用函数

web58:

代码执行:
利用系统函数实现命令执行,在php下,允许命令执行的函数有:
eval():eval() 函数把字符串按照 PHP 代码来计算。

assert()

preg_replace():替换字符串

call_user_func():就是一种用于传参的函数

file_get_contents():获取文件内容

scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。若成功,则返回一个数组,若失败,则返回 false。如果?directory?不是目录,则返回布尔值 false 并生成一条 E_WARNING 级的错误。

show source():查看文件内容

系统命令执行漏洞
system()
exec():执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array可以得到完整的结果,方法是把结果逐行追加到array的结尾处。
shell_exec()
passthru():passthru()只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上
pcntl_exec()
popen():FILE *popen(const char *cmd,const char *type);? 返回值:若成功返回文件指针,出错则返回NULL

proc_open()

?这个在查看器才能看到flag

?web59:

highlight file:单个文件的语法高亮,使用PHP内置的语法高亮器所定义的颜色,打印输出或者返回输出或者返回语法高亮版本的PHP代码。别名:show_source();

fgets:

fgets的返回值:成功:返回指向该串的指针,失败或读到文件结尾返回空指针,所以可以通过fgets的返回值来判断文件是否读完.

?

?web60:

先试了show_source()发现不行,echo file_get_contents也不行

web61:

print_r(scandir('.'));? print_r()函数能打印出复杂类型变量的值。利用print_r()可以打印出整个数组内容及结构,按照一定格式显示键和元素。

?

web62:

这show_source()和highlight_file()屡试不爽,特别好用

?web63:【完全同62】

web64:【完全同62】

?web65:【同62】

web66:

终于,show_source()和highlight_file()不能用了

先用c=print_r(scandir('.'));扫描并以数组的形式打印出目录;

?用highlight_file("flag.php")得出下列结果

?注:[.]表示当前目录?? [..]表示上一级目录??? [/]根目录

?现在猜测flag在根目录下

?

?

web67:【根目录】

直接查看flag.php发现发现得到一个假的flag,故之后用c=var_dump(scandir('/'));得出根目录,在根目录里看到flag.txt,读取该文件就可以得到flag;

?用c=highlight_file("/flag.txt");就可以得到flag,注意命令写法

web68:【文件包含】

打开就发现是禁用了highlight_file()函数,然后习惯的尝试show_source()发现也被禁用了,print_r(scandir('/'))也被禁用,用var_dump(scandir('/'))发现根目录下有flag.txt

include()包括并运行指定文件 在处理失败时include() 产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到include()语句的位置相同的变量范围。

用c=include('/flag.txt');这条命令就会直接得到flag

?小结(暂时):

看目录:

print_r(scandir('.')):看当前目录

print_r(scandir('..')):看上一级目录

print_r(scandir('/')):看根目录

print_r可换成var_dump;

读文件:

show_source("文件名")

highlight_file("文件名")

include('/目录')

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:20:15  更:2022-02-22 20:20:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 1:32:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码