当前位置:网站首页>复现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语句中有可以传递的参数值,所以连接成功
边栏推荐
- How to Steal $100 Million from the Perfect Smart Contract
- 2022年7月31日--使用C#迈出第一步--使用C#中的数组和foreach语句来存储和循环访问数据序列
- STM32 Personal Notes - Embedded C Language Optimization
- 世界第4疯狂的科学家,在103岁生日那天去世了
- ASP.NET Core 6 Framework Revealing Instance Demonstration [30]: Develop REST API with Routing
- mysql在cmd的登录及数据库与表的基本操作
- Dataset之mpg:mpg数据集的简介、下载、使用方法之详细攻略
- mysql login in cmd and basic operations of database and table
- pve 删除虚拟机「建议收藏」
- How I secured 70,000 ETH and won a 6 million bug bounty
猜你喜欢
随机推荐
【cartographer ros】十: 延时和误差分析
线上问题排查常用命令,总结太全了,建议收藏!!
2022年7月31日--使用C#迈出第一步--使用C#中的数组和foreach语句来存储和循环访问数据序列
Naive Bayes--Study Notes--Basic Principles and Code Implementation
EasyRecovery热门免费数据检测修复软件
Shell:条件测试操作
The meaning and trigger conditions of gc
Generate certificates using KeyStore
Introduction and application of pointers
C#/VB.NET 将PPT或PPTX转换为图像
自定义类型——枚举、联合
ASP.NET Core 6 Framework Revealing Instance Demonstration [30]: Develop REST API with Routing
Google Earth Engine APP——15行代码搞定一个inspector高程监测APP
小程序毕设作品之微信美食菜谱小程序毕业设计成品(3)后台功能
C语言程序设计50例(三)(经典收藏)
What are the common API security flaws?
DBPack SQL Tracing 功能及数据加密功能详解
广域铭岛入选2022年重庆市数字经济产业发展试点示范项目名单
notes....
微信公众号授权登录后报redirect_uri参数错误的问题








