当前位置: 首页 > news >正文

代码审计笔记-PHP

PHP

1.php的弱类型
PHP 的“弱类型”是指在这门编程语言中,变量的类型在赋值时会被自动推断,而不是在变量声明时显式地指定类型。这意味着在 PHP 中,您可以将不同类型的值赋给同一个变量,而不需要进行类型转换或重新声明变量。
举例:1 == 1admin为True

2.等于与强等于
==:在比较时会进行类型转换,只要转换后值相等,即认为相等。
===:比较时不进行类型转换,要求值和类型都相同,才认为全等。

在这里插入图片描述
在这里插入图片描述
3.ffifdyop

Select * from ‘admin’ where password=md5($pass,true)

这个字符串在以上类似的md5处理后可以生成类似于万能密码的字符串

4.MD5碰撞
即两个不同的值具有相同的md5,一些题目可能会用到
比如a==b && md5(a)!=md5(b)这样的
一些具有相同md5的值:
https://www.cnblogs.com/garywayne/p/15823680.html

5.数组绕过
php输入参数时带上[]可以使参数类型变为数组,因为是php是弱类型,可以用于绕过md5和==类型的比较。PHP比较运算符 ===在进行比较的时候,会先判断两种字符串的类型是否相等,再比较值是否相等。只要两边字符串类型不同会返回false。

在这里插入图片描述
6.in_array绕过

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

In_array的第三个参数如果不设置True,默认是弱类型比较,可以通过值相同的方法来绕过
在这里插入图片描述

7.seay工具审计
通过工具对代码进行审计
链接:https://pan.baidu.com/s/1HHnniTNWzXhb-pn6OZgexA
提取码:75ji

8.文件日志包含
在这里插入图片描述
思路是通过改包里的user-agent为php的一句话木马之类的,因为直接传url会被解码,file=var/log/nginx/access.log 即可让一句话被解析

9.括号过滤绕过
在这里插入图片描述
Echo,include 加上反引号都是可以作为类似函数使用不用括号

code=echo `ls`;
code=echo `cat /f1agaaa`;

10.文件包含

php://filter/read=convert.base64-encode/resource=flag.php

通过base64加密的方式把文件内容读取为base64加密的形式防止被解析


http://www.mrgr.cn/news/49908.html

相关文章:

  • k8s Node节点维护
  • 【算法】贪心算法
  • 什么!FPGA可以自行二次开发了?
  • UE4 材质学习笔记10(程序化噪波/覆雪树干着色器/岩层着色器)
  • 速卖通商品详情接口技术解析及Python代码示例
  • 为什么要使用String.format
  • 在Windows上安装Zabbix Agent(企业级开源网络监控解决方案)
  • mac地址漂移实验
  • 记录晚上打呼噜的软件
  • 从2023年起,大模型爆火,如何成为抢手的大模型算法工程师?
  • 美国霍尼韦尔Honeywell火焰控制器BC1000A0220U/BC1000A0220F
  • 双通道-程控绝缘测试电阻箱主要工作方式
  • 使用Docker部署nextjs应用
  • vue中keep-alive组件使用和一些基础配置
  • Android SELinux——安全策略(三)
  • <Linux> 线程安全
  • JNI(Java Native Interface)和NIO(New Input/Output)是什么?
  • OpenCV高级图形用户界面(7)获取指定窗口的属性值函数getWindowProperty()的使用
  • CV图像处理小工具——json文件转mask
  • SRAM 中 Multi-Vt 选择(BASE、LL、ULL)