
PHP+代码审计
文章平均质量分 83
PHP 代码审计时,我们通常是指对基于 PHP 编程语言开发的应用程序进行安全审查和漏洞分析。PHP 是一种开源的服务器端脚本语言,被广泛应用于 Web 开发中。代码审计则是一种系统性的方法,旨在识别应用程序中潜在的安全漏洞和弱点。
一个想当文人的黑客
想加内部圈子,请联系我!文章交流:vx:routing_love
微信公众号:神农Sec
博主资源
需要如下资料和培训的可加微信和知识星球(前50名为邀请嘉宾) 知识星球号:9081196
1、全国职业技能大赛——信息安全管理与评估WP+环境
2、全国职业技能大赛——司法技术赛项WP+环境
3、CTF最新资料+相关工具(圈子交流)
4、SRC漏洞挖掘的大量原创报告+POC漏洞报告
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【PHP + 代码审计】数组排序算法
插入排序(Insert sort),插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。在这一点,最后的元素应该会是最大的数。原创 2024-03-24 11:52:39 · 583 阅读 · 0 评论 -
【PHP + 代码审计】数组函数
1)排序函数:对数组元素进行排序,都是按照ASCII码进行比较,可以进行英文比较sort():顺序排序(下标重排)rsort():逆序排序asort():顺序排序(下标保留)arsort():逆序排序ksort():顺序排序:按照键名(下标)krsort():逆序排序shuffle():随机打乱数组元素,数组下标会重排2)指针函数reset():重置指针,将数组指针回到首位end():重置指针,将数组指针指导最后一个元素next():指针下移,取得下一个元素的值。原创 2024-03-23 19:43:57 · 860 阅读 · 0 评论 -
【PHP + 代码审计】数组遍历
数组遍历:普通数组数据的访问都是通过数组元素的下标来实现访问,如果说数组中所有的数据都需要依次输出出来,就需要我们使用到一些简化的规则来实现自动获取下标以及输出数组元素。原创 2024-03-21 10:23:38 · 445 阅读 · 0 评论 -
【PHP + 代码审计】数组基础
数组:array,数据的组合,指将一组数据(多个)存储到一个指定的容器中,用变量指向该容器,然后可以通过变量一次性得到该容器中的所有数据。4) 数字下标的自增长特性:从0开始自动增长,如果中间手动出现较大的,那么后面的自增长元素从最大的值+1开始。在第二维的数组元素中可以继续是数组,在PHP中没有维度限制(PHP本质并没有二维数组)但是:不建议使用超过三维以上的数组,会增加访问的复杂度,降低访问效率。异形数组:数组中的元素不规则,有普通基本变量也有数组。多维数组:数组里面的元素又是数组。原创 2024-03-20 17:06:50 · 490 阅读 · 0 评论 -
【PHP + 代码审计】字符串类型详解
(字符串[,指定字符]):本身默认是用来去除字符串两边的空格(中间不行),但是也可以指定要去除的内容,是按照指定的内容循环去除两边有的内容:直到碰到一个不是目标字符为止。4)大小转换函数:strtolower(), strtoupper(), ucfirst()Str_replace(匹配目标,替换的内容,字符串本身):将目标字符串中部分字符串进行替换。1)转换函数:implode(), explode(), str_split()2)截取函数:trim(), ltrim(), rtrim()原创 2024-03-19 11:42:06 · 885 阅读 · 0 评论 -
【PHP + 代码审计】函数详解2.0
静态变量:static,是在函数内部定义的变量,使用static关键字修饰,用来实现跨函数共享数据的变量:函数运行结束所有局部变量都会清空,如果重新运行一下函数,所有的局部变量又会重新初始化。可变函数在系统使用的过程中还是比较多的,尤其是使用很多系统函数的时候:需要用户在外部定义一个自定义函数,但是是需要传入到系统函数内部使用。可变函数:当前有一个变量所保存到值,刚好是一个函数的名字,那么就可以使用变量+()来充当函数名使用。证明:函数的局部变量在函数使用完之后没有被释放?3、 匿名函数被返回给外部使用;原创 2024-03-17 13:07:36 · 643 阅读 · 0 评论 -
【PHP + 代码审计】函数详解
函数有几个对应的关键点:function关键字、函数名、参数(形参和实参)、函数体和返回值。原创 2024-03-16 14:40:50 · 1321 阅读 · 0 评论 -
【PHP + 代码审计】文件包含
文件包含:在一个PHP脚本中,去将另外一个文件(PHP)包含进来,去合作完成一件事情。文件包含的意义:1、 要么使用被包含文件中的内容,实现代码的共享(重用):向上包含(索要)向上包含:在当前脚本要用某个代码之前包含别的文件2、 要么自己有东西可以给别的文件使用,实现代码的共享(重用):向下包含(给予)向下包含:在自己有某个东西的时候,需要别的脚本来显示(自己代码写完之后包含其他文件)最大的作用:分工协作,每个脚本做的事情不一样,因此可以使用协作方式,让多个脚本共同完成一件事情。原创 2024-03-13 20:13:50 · 1253 阅读 · 0 评论 -
【PHP+代码审计】PHP基础——流程控制
顺序结构:代码从上往下,顺序执行。(代码执行的最基本结构)分支结构:给定一个条件,同时有多种可执行代码(块),然后会根据条件执行某一段代码循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行顺序结构:最基本结构,所有代码默认都是从上往下依次执行在PHP中,分支结构主要有两种:if分支和switch分支。原创 2024-03-12 16:53:35 · 979 阅读 · 0 评论 -
[安洵杯 2019]easy_web
但是我们发现这个url有传参,而且在url中,发现img这个位置存在一串字符串,看着像是base64编码的,我就尝试着base64解码,发现这个字符串是利用两次base64编码然后再利用一次hex编码,经过解码得到555.png,那么我们到这里就可以想着,要是可以拿到index.php的源代码,那么我们再进行代码审计,查看下有什么线索没有。我们利用burp抓包,然后再按一次先hex编码,然后再两次base64编码,然后修改img的值,然后利用img读取index.php的源代码。原创 2024-03-11 12:36:05 · 1843 阅读 · 0 评论 -
【PHP+代码审计】PHP基础——运算符
逻辑与和逻辑或又称之为短路运算:如果第一个表达式结果已经满足条件了,那么就不会运行逻辑运算符后面的表达式:在书写代码的时候,尽量将出现概率最高的(能够直接判断出结果)的表达式放到第一位。赋值运算:符号是“=”,表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果),保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量(常量)。比较运算:比较两个数据的大小,或者两个内容是否相同,返回的结果都是布尔类型:满足返回true,不满足返回false。原创 2024-03-10 13:21:17 · 749 阅读 · 0 评论 -
【PHP+代码审计】PHP基础——浮点型和布尔型
00000000 00000000 00000000 00000000 à 11111111 11111111 11111111 1111111 (整形最大值:所有位都是有效数据)浮点型:小数类型以及超过整型所能存储范围的整数(不保证精度),精度范围大概在15个有效数字左右。尽量不用用浮点数做精确判断:浮点数保存的数据不够精确,而且在计算机中凡是小数基本上存的都不准确。简单说明浮点数为什么同样的字节数存储数据,但是却能表示更大的数据呢?浮点数:红色7位算的结果是10的指数,后面三个字节存储表示具体数值。原创 2024-03-09 11:11:58 · 600 阅读 · 0 评论 -
【PHP+代码审计】PHP基础——数据类型
数据类型:data type,在PHP中指的是存储的数据本身的类型,而不是变量的类型。PHP是一种弱类型语言,变量本身没有数据类型。原创 2024-03-08 19:34:56 · 1107 阅读 · 0 评论 -
【PHP+代码审计】PHP基础——变量和常量的定义和使用
_GET:获取所有表单以get方式提交的数据$_POST:POST提交的数据都会保存在此$_REQUEST:GET和POST提交的都会保存$GLOBALS:PHP中所有的全局变量$_SERVER:服务器信息$_SESSION:session会话数据$_COOKIE:cookie会话数据$_ENV:环境信息$_FILES:用户上传的文件信息。原创 2024-03-07 10:13:03 · 1046 阅读 · 0 评论