BUG(web8)

没有很大的能耐,只能靠努力去改变这些现状,一位努力学安全的白帽子。

源码分析

在这里插入图片描述

分析代码

extract($_GET):函数extract()有通过数组进行赋值的功能:

file_get_contents($fn):file_get_contents功能是从文件名为“$fn”的文件中读取数据,但是当$fn的值为“php://input”,它会接受并返回post的值

trim(string,charlist) 函数移除字符串两侧的空白字符或其他预定义字符

php中===与= =区别:
===比较两个变量的值和类型;==比较两个变量的值,不比较数据类型。
例: $a = ‘123’;
$b = 123;
$a === $b为假;
$a == $b为真;

代码审计

得到flag需要满足以下条件:
1.ac不为空
2.fn是一个文件转化为字符串去掉空白符后与ac值相同
构造payload:?ac=1&fn=data://text/plain,1
在这里插入图片描述
PHP_data
data://协议必须双在on才能正常使用
allow_url_fopen :on
allow_url_include:on

PHP_伪协议:

PHP支持的伪协议如下:

1.file:// — 访问本地文件系统
2.http:// — 访问 HTTP(s) 网址
3.ftp:// — 访问 FTP(s) URLs
4.php:// — 访问各个输入/输出流(I/O streams)
5.zlib:// — 压缩流
6.data:// — 数据(RFC 2397)
7.glob:// — 查找匹配的文件路径模式
8.phar:// — PHP 归档
9.ssh2:// — Secure Shell 2
10.rar:// — RAR
11.ogg:// — 音频流
12.expect:// — 处理交互式的流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值