PHP弱类型:修订间差异
来自三线的随记
小无编辑摘要 |
小无编辑摘要 |
||
第16行: | 第16行: | ||
'''这里明确说明如果一个数值和字符串进行比较的时候,会将字符串转换成数值''' | '''这里明确说明如果一个数值和字符串进行比较的时候,会将字符串转换成数值''' | ||
=== 参考利用数值 === | === 参考利用数值 === | ||
第62行: | 第60行: | ||
[[分类:PHP]] | [[分类:PHP]] | ||
[[分类:Ctf]] |
2019年5月13日 (一) 09:35的版本
0x01 前言
php弱类型以及绕过方式
0x02 知识介绍
php中有两种比较的符号 == 与 ===
<?php $a == $b; $a===$b; ?>
=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较
== 在进行比较的时候,会先将字符串类型转化成相同,再比较
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行
这里明确说明如果一个数值和字符串进行比较的时候,会将字符串转换成数值
参考利用数值
var_dump(sha1('aaroZmOk') == sha1('aaK1STfY'));
var_dump(sha1('aaO8zKZF') == sha1('aa3OFF9m'));
var_dump(md5('240610708') == md5('QNKCDZO'));
var_dump(md5('aabg7XSs') == md5('aabC9RqS'));
MD5
QNKCDZO
0e830400451993494058024219903391
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
s878926199a
0e545993274517709034328855841020
s1091221200a
0e940624217856561557816327384675
s1885207154a
0e509367213418206700842008763514