当前位置:网站首页>复现assert和eval成功连接或失败连接蚁剑的原因
复现assert和eval成功连接或失败连接蚁剑的原因
2022-08-01 10:13:00 【miracle-boy】
准备工作
1.首先编写一个php文件,写入一句话木马,然后通过Phptudy启动这个网站

2.下载蚁剑工具和burpsuite工具
Burpsuite2021.10安装详细教程_青果@的博客-CSDN博客_burpsuite安装百度网盘链接:链接:https://pan.baidu.com/s/1AKS54jtyN6Ohkt1VDZ0Jiw提取码:v73p下载之后解压,解压之后会有两个文件点击jdk-18_windows-x64_bin.exe进行安装然后对应的安装目录查看是否有jdk的文件打开该文件夹,看是否有jre文件夹,我这里就没有没有jre文件参考大佬的方案:https://blog.csdn.net/qq_41219157/article/details/109667631可以看到jre文件https://blog.csdn.net/weixin_45632448/article/details/125071440GitHub - AntSwordProject/antSword: 中国蚁剑是一款跨平台的开源网站管理工具。AntSword is a cross-platform website management toolkit.中国蚁剑是一款跨平台的开源网站管理工具。AntSword is a cross-platform website management toolkit. - GitHub - AntSwordProject/antSword: 中国蚁剑是一款跨平台的开源网站管理工具。AntSword is a cross-platform website management toolkit.
https://github.com/AntSwordProject/antSword
通过eval进行测试连接
- eval是PHP自身的语言结构,不能被可变函数调用
- PHP 支持可变函数的概念。意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它
- eval除非通过自己再去构造一个函数来进行木马传递
1.首先将1中传值为eval,密码为2,尝试构成eval()函数


此时返回数据为空,连接失败,原因是因为eval()是一个语言构造器,他不能使用PHP提供的可变函数来调用
利用assert进行连接
- 与eval不同,因为assert在php中被认为是一个函数
- eval函数中参数是字符,assert函数中参数为表达式 (或者为函数)
- 下面将通过assert()来实现一句话木马,原理和前面类似。
直接使用1=assert&2来作为密码

使用burp suite工具抓包,发现2的值是直接输入的一系列PHP获取文件的函数的字符串
assert()函数的参数不能使字符串,必须是函数才能够执行语句

改变编码方式

抓包,发现此时因为编码方式是base64,所以2处自动调用了eval(base64_decode())进行对PHP的文件相关函数的解码,满足了assert()函数参数必须是函数的条件

尝试使用1=assert 2=eval($_POST[‘3’])的方式传值

此时可变函数为assert(eval($_POST[‘3’]))也满足了assert()参数必须是函数,且eval语句中有可以传递的参数值,所以连接成功
边栏推荐
- URL.createObjectURL、URL.revokeObjectURL、Uint8Array、Blob使用详解
- 记一次 .NET 某智慧物流WCS系统CPU爆高分析
- RK3399平台开发系列讲解(内核入门篇)1.52、printk函数分析 - 其函数调用时候会关闭中断
- 报告:想学AI的学生数量已涨200%,老师都不够用了
- 招聘随想2022
- 还在纠结报表工具的选型么?来看看这个
- CTFshow,命令执行:web31
- ClickHouse多种安装方式
- 企业微信群:机器人定时提醒功能数据库配置化
- 周鸿祎称微软抄袭 360 安全模式后发文否认;英特尔CEO基辛格回应市值被AMD超越:股价下跌是咎由自取|极客头条
猜你喜欢

What is a stepper motor?40 pictures to show you!

小程序毕设作品之微信美食菜谱小程序毕业设计成品(1)开发概要

ClickHouse入门介绍与其特性

记一次 .NET 某智慧物流WCS系统CPU爆高分析

The meaning and trigger conditions of gc

一文说明白ECDSA spec256k1 spec256r1 EdDSA ed25519千丝万缕的关系

CTFshow,命令执行:web32

微信公众号授权登录后报redirect_uri参数错误的问题

Mysql索引相关的知识复盘一

Visualization - Superset installation and deployment
随机推荐
URL.createObjectURL、URL.revokeObjectURL、Uint8Array、Blob使用详解
rpm and yum
Endorsed in 2022 years inventory | product base, science and technology, guangzhou automobile group striding forward
2022年7月31日--使用C#迈出第一步--使用 C# 创建具有约定、空格和注释的易读代码
WPF 截图控件之绘制箭头(五)「仿微信」
Qt supports HEIC/HEIF format images
July 31, 2022 -- Take your first steps with C# -- Use arrays and foreach statements in C# to store and iterate through sequences of data
Custom Types - Enums, Unions
世界第4疯狂的科学家,在103岁生日那天去世了
Mini Program Graduation Works WeChat Food Recipes Mini Program Graduation Design Finished Products (2) Mini Program Functions
Yang Hui Triangle (C language implementation)
Mysql index related knowledge review one
朴素贝叶斯--学习笔记--基本原理及代码实现
如何从完美的智能合约中窃取 1 亿美元
July 31, 2022 -- Take your first steps with C# -- Use C# to create readable code with conventions, spaces, and comments
SkiaSharp 之 WPF 自绘 五环弹动球(案例版)
C#/VB.NET 将PPT或PPTX转换为图像
解决new Thread().Start导致高并发CPU 100%的问题
Shell: Conditional test action
C语言程序设计50例(三)(经典收藏)