CTF/php的弱类型总结(积累中)
来源:互联网 发布:php验证码源代码 编辑:程序博客网 时间:2024/06/17 14:29
0X00 "=="与"==="的区别
在没有搞ctf之前,我也只是简单的知道,哦,“==”是判断数值是否相等,“===”则是判断数值和类型是否相等,其实不然,这并没有说到最核心的一个关键点,要知道“==”最可怕的一点是,如果类型不同的进行比较,其会将类型转换成相同的再进行比较,这也就是ctf一个常用的点
下面举例说明,目前用到过的几点:
"0e123456"=="0e456789"相互比较的时候,会将0e这类字符串识别为科学技术法的数字,0乘以10的无论多少次方都是零,所以相等
当一个字符串欸当作一个数值来取值,其结果和类型如下:如果该字符串没有包含'.','e','E'并且其数值值在整形的范围之内
该字符串被当作int来取值,其他所有情况下都被作为float来取值,该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0
0X01 bool类型的true跟任意字符串可以弱类型相等
详情参考我的博客【天网管理系统】
0X02 php -v>5.3 strcmp比较漏洞
注意官方文档:
Note a difference between 5.2 and 5.3 versionsecho (int)strcmp('pending',array());will output -1 in PHP 5.2.16 (probably in all versions prior 5.3)but will output 0 in PHP 5.3.3Of course, you never need to use array as a parameter in string comparisions.5.3版本后返回0,即亦可以说是相等的意思:
<?php$pass = "xxxxxxxx"#$password = $_POST['password'];if(strcmp($password,$pass) == 0){echo "flag";}?>上述这种题目,即可在传递数据的时候,将变量名加上[](sha1加密比较也有这个漏洞)
0X03 switch漏洞
道理等价"==",不做解释
阅读全文
1 0
- CTF/php的弱类型总结(积累中)
- 【CTF】PHP漏洞(学习积累中)
- CTF——php弱类型
- ctf常见php弱类型分析
- 【CTF 攻略】CTF比赛中关于zip的总结
- CTF中常见的php函数绕过(保持更新)
- ctf中php常见的考点
- CTF中常见的隐藏手段总结
- CTF比赛中关于zip的总结
- ctf sql注入关键词绕过【积累中】
- CTF中遇见的PHP伪协议运用
- php 弱类型总结
- php弱类型总结
- CTF web题总结--php函数漏洞
- PHP弱类型的安全问题详细总结
- CTF/CTF练习平台-前女友【弱类型】
- CTF web总结(入门)
- 总结PHP中返回各种类型的时间函数
- IO模型的解释。以前解释有些失误,现在再学习一下
- python2 运行pyspider报错
- Linux启动/停止/重启Mysql数据库
- 中断处理程序上半部和下半部
- 小测试Extra:实现两个百位整数的加法练习
- CTF/php的弱类型总结(积累中)
- Linux内核设计与实现读书笔记
- mybatis源码阅读之SqlSessionFactory创建
- R语言版本升级
- JQuery 自动触发事件
- 关于android 经典蓝牙开发 使用UUID连接的问题
- 安卓高手之路之 GDI图形引擎篇
- 安卓高手之路之 应用篇
- DB2基础知识学习