攻防世界web练习
七、simple_php(简单PHP)
小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
http://111.200.241.244:65112/
[原理]
php中有两种比较符号
“= = =” 会同时比较字符串的值和类型
“= =” 会先将字符串换成相同类型,再作比较,属于弱类型比较
[目地]
掌握php的弱类型比较
[环境]
windows10专业版
[工具]
firefox
[步骤]
1、 打开页面,进行代码审计,发现同时满足 $a==0 和 $a 时,显示flag1。查看php类型比较表,发现“0”为true,所以可以把参数 a 构造为’0’或者‘ab’这种转换后为 0 但本身不为 False 的形式,数字和字符混合的字符串转换为整数后只保留数。

2、 is_numeric() 函数会判断 如果是数字和数字字符串 则返回 TRUE,否则返回 FALSE,且php中弱类型比较时,会使(‘1234+字母’ == 1234)为真,所以当输入b=1235b,可得到flag2

3、flag1与flag2合在一起就是完整的flag值

816

被折叠的 条评论
为什么被折叠?



