首页 > 编程语言 >PHP代码审计

PHP代码审计

时间:2023-12-17 22:22:45浏览次数:32  
标签:审计 __ php resource string 代码 filter flag PHP

phps,可能可查看该php文件源码

index.php.bak:index.php文件备份名


php7.1+:类型不敏感,反序列化public属性可以直接赋给private


_GET

$_GET看成一个键值对数组(关联数组)

$_GET == array(‘id’=>1,‘name’=>‘xiao’)

函数引用 & 可以修改_GET....的值,不能修改_Request的值

在url传参时,传入的值都会被当做字符串处理(/?id=0,0不是0,而是"0")

isset判断的传参问题

php<8.0时

传入的参数名中.空格都会被替换成下划线_

?a b.=1 --> 后端接收:a_b_=1;

如果参数中出现中括号[,中括号会被转换成下划线_,但是会出现转换错误导致接下来的非法字符不会继续转换成下划线_


PHP弱类型

https://www.cnblogs.com/Mrsm1th/p/6745532.html

a = QNKCDZO
md5(a) = 0e830400451993494058024219903391

b = 240610708
md5(b) = 0e462097431906509019562988736854

文件包含

include()、require()、include_once()、require_once()

include函数

:伪协议,文件上传

include()函数包含文件时会按路径./../../../../ffffllllaaaagggg来寻找文件

/i/l/?n=20&i=blog/2293037/202104/2293037-20210410174705799-1460846635.png


session文件包含

open_basedir是php.ini中的一个配置选项,它可将用户访问文件的活动范围限制在指定的区域

假设open_basedir=/var/www/html/:/tmp/,那么通过访问服务器的用户就无法获取服务器上除了/var/www/html/和/tmp/这两个目录以外的文件。

用open_basedir指定的限制实际上是前缀,而不是目录名,如: "open_basedir = /dir/user", 那么目录 “/dir/user” 和 "/dir/user1"都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名


php伪协议


php://filter(过滤器)

php:

标签:审计,__,php,resource,string,代码,filter,flag,PHP
From: https://www.cnblogs.com/xhzccy/p/17909967.html

相关文章

  • 软件工程读后感10-代码阅读方法与实践4
    最近,我阅读了代码阅读方法与实践的下一部分。意义重大的编码工作,或大型、有组织体制之下的项目,比如GNU和BSD,都会采纳一套编码规范、指导原则或约定。计算机语言和编程系统为程序员如何表达一个给定的算法提供了大量的余地。代码规范提供风格上的指导,目标是增强代码的可靠性、易读......
  • SNP Bluefield助力日日顺物流公司进行IT系统代码拆分
         日日顺是海尔集团旗下综合服务品牌,旗下有日日顺物流、日日顺乐家、日日顺乐农等。日日顺物流为家电、家具、卫浴等品类的厂商、线下零售商和电子商务客户提物流服务。日日顺网点遍布全国,深入县、乡、村级地区,日日顺的优势在于大件配送。2018年,日日顺品牌价值301.08......
  • 公文传输系统代码
    `packagecom.fq.entity;importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.annotation.TableField;importcom.baomidou.mybatisplus.annotation.TableId;importlombok.Data;@DatapublicclassGw{@TableId(value="id&quo......
  • 三菱变频器故障报警代码及故障
    三菱变频器故障报警代码之严重故障OC1加速时过电流断路是否急加速运转输出是否短路,主回路电源(R,S,T)是否供电。E.OC2定速时过电流断路负荷是否有急速变化,输出是否短路。E.OC3减速时过电流断路是否急减速运转,输出是否短路,电机的机械制动是否过早E.OV1加速时再生过电压断路加速度是......
  • 个人主要代码
    fromdjango.contrib.auth.formsimportUserCreationFormfrom.modelsimportMyUserfromdjangoimportformsclassMyUserCreationForm(UserCreationForm):def__init__(self,*args,**kwargs):super().__init__(*args,**kwargs)self.fields......
  • java实现二叉树前序搜索输出深度完整代码
    importjava.util.Scanner;//1:无需package//2:类名必须Main,不可修改classTreeNode{publicintval;publicTreeNodeleft;publicTreeNoderight;publicTreeNode(intval){this.val=val;this.left=null;this.right=null;}}p......
  • Git本地代码仓库关联远程仓库
    需求背景我在本地创建了一个项目,并且编写了一些代码后,通过使用Git初始化了本地仓库。此时,我又在GitHub上创建了一个仓库,并添加了一个README文件。现在,我想把本地的仓库与GitHub上的仓库关联,并将代码推送到远程仓库。这时候应该怎么办?操作步骤1、在本地项目的目录下初始化Git仓库git......
  • 微信小程序代码构成及每一个代码文件的作用(附图)
    一、微信小程序有四种类型文件:1.JSON配置文件(.json后缀)2.WXML模板文件(.wxml后缀)3.WXSS样式文件(.wxss后缀)4.JS脚本逻辑文件(.js后缀) 二、JSON配置:1.JSON配置:JSON是一种数据格式,用来静态配置。app.json 小程序配置project.config.json 工具配置 page.json页面......
  • 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,
    一、24.两两交换链表中的节点题目链接:LeetCode24.两两交换链表中的节点学习前:思路:未新增虚拟结点。节点数为0,1,2需要另外讨论。当节点数>=2时,返回的head值为第2个节点,需要3个指针first、second、prev,分别是第一个节点和第二个节点,以及第一个节点的前节点。while(first......
  • [.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
    前言今天给大家分享一个方便易用的.NET在线代码编辑工具,能够帮助.NET开发人员快速完成代码编写、测试和分享的需求(.NET开发者的福音):.NETFiddle。.NETFiddle介绍我们可以不用再担心环境与庞大的IDE安装的问题,不管在任何时间,任何环境都可以在线运行调试!.NETFiddle是一个在......