大家好,我是强哥。
今天给大家分享一下网络安全渗透测试入门阶段文件包含渗透与防御基础教程,本文主要讲解php伪协议。
喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。
1、什么是PHP伪协议PHP伪协议PHP伪协议
PHP伪协议事实上就是支持的协议与封装协议,简单来说就是php定义的一种特殊访问资源的方法,在web渗透漏洞利用中常用于配合文件配合进行web攻击,查询到网站中隐藏的机密文件,造成敏感信息泄露等影响。
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
2、什么时候用PHP伪协议
文件包含漏洞, 对了,这次改个思路,不用漏洞作为本文章的切入点,而是用开发角度作为切入点。
我们在PHP开发中可能遇到的文件包含函数:
1、include
2、require
3、include_once
4、require_once
5、highlight_file
6、show_source
7、flie
8、readfile
9、file_get_contents
10、file_put_contents
11、fopen (比较常见)
这些函数有潜在的风险,若前后端未对用户输入做安全校验,且用户输入恶意入参,可能导致以上函数与PHP伪协议结合,造成安全风险, 具体PHP开发涉及文件包含函数的用法就不一一列举了,可参考如下文章(大神写的很好,本哥就不自己解释了):
http://t.csdn.cn/7kbXG
3.常见伪协议即其用法
1)php://input
php://input 是个可以访问请求的原始数据的只读流,获取POST请求数据的协议
当enctype=”multipart/form-data” 的时候 php://input 是无效的。
要使php://input 成功使用还需要配置php.ini 中的 allow_url_include设置为On
案例代码
php
<?php
@include($_GET["file"]);
?>
构造执行的代码,输出结果
2)php://filter
php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。
在利用上很多都是与包含函数结合使用,读入或者输出获取文件源码然后编码让其不执行从而输出。
php://filter 的使用:如
php://filter/read=convert.base64-encode/resource=index.php
php://filter/resource=index.php
php://filter 伪协议组成:
read=<读链的筛选列表>
resource=<要过滤的数据流>
write=<写链的筛选列表>
php://filter/read=处理方式(base64编码,rot13等等)/resource=要读取的文件
read 对应要设置的过滤器:
常见的过滤器分字符串过滤器、转换过滤器、压缩过滤器、加密过滤器
其中convert.base64-encode ,convert.base64-decode都属于 转换过滤器
例子
<?php
$a=($_GET["file"]);
echo(file_get_contents($a));//获取文件内容
?>
访问输出base64编码后的内容
!!!非常重要!!!
转换过滤器,伪协议中的字符被过滤时,convert.*过滤器支持convert.iconv.* 格式,
使用方法:convert.iconv…或convert.iconv./
例如:
convert.iconv.UCS-4*.UCS-4BE ---> 将指定的文件从UCS-4*转换为UCS-4BE 输出
构造url,然后使用bp进行爆破:?filename=php://filter/convert.iconv.a.b/resource=check.php
3)zip:// , bzip2://, zlib:// 协议
zip:// 等属于压缩流的协议,通过直接压缩普通文件为zip文件(绕过文件上传检查用),再通过zip:// 协议读取,可以直接执行php代码。压缩后的zip文件可以随意修改后缀也不影响zip://协议读取。(注意是如phpinfo.txt直接压缩为zip,而不是文件夹压缩zip)
例:
<?php
$a=($_GET["file"]);
include($a);
?>
压缩及协议访问格式:
压缩文件为.zip后缀
zip://绝对路径/phpinfo.zip%23phpinfo.php
压缩文件为.bz2后缀
compress.bzip2://绝对路径/phpinfo.zip/phpinfo.php
压缩文件为.gz后缀
compress.zlib://绝对路径/phpinfo.zip/phpinfo.php
zip://访问
4)data://
data://协议与php://input 有很点相似的地方。他们都可以通过请求提交的php代码数据配合文件包含函数可以达到代码执行效果,data:// 的成功执行需要php.ini设置allow_url_include 与allow_url_open都为On。
data://协议的格式是: data://数据流封装器,相应格式数据。
常见的用法为
data://,<?php%20phpinfo();?>
data://text/plain,<?php%20phpinfo();?>
data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b
例子:
<?php
$a=($_GET["file"]);
include($a);
?>
构造data:// 访问
5)phar://
phar://伪协议可以对zip格式压缩包进行访问解析。
格式为:phar://绝对路径\phpinfo.zip\phpinfo.php
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~