1.basic_rce

1.题目:
1
2
3
4
5
6
<?php
//拿到flag就不要乱玩了哦~
error_reporting(0);
show_source(__FILE__);
eval($_GET['a']);
?>
2.过程

eval()将语句以PHP形式执行,其中语句需要符合PHP规范。可以利用eval()执行命令执行代码。

提交a=system(“”);执行系统命令,ls列出文件,cat、tac、more、less、tail、head命令读取文件。实践操作中发现其中一些读不出来,但查看网页源码时可以看见,如:

image-20201126170216250

但是为什么呢……

tac、rev是可用的;

image-20201126170625496

image-20201126170701827

看到show_source(FILE),试了一下,?a=show_source(“f111a9.php”);也可以出答案。

image-20201126170944450

3.知识点
  • cat主要有三大功能:1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件:cat file1 file2 > file;
  • tac反序输出文件的内容,文件的最后一行显示在第一行;
  • more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容;
  • less 可以随意浏览文件,解决more只能向后翻页的问题;
  • head读取文件的前几行;
  • tail读取文件的后几行;
  • nl从第一行开始读取文件,并且显示行号;
  • show_source() 函数对文件进行语法高亮显示,highlight_file()同样可行。

详细:https://www.cnblogs.com/machangwei-8/p/9570550.html

作者

inanb

发布于

2020-11-24

更新于

2021-08-23

许可协议


:D 一言句子获取中...