概述
PHP弱类型的学习
- 主线
- 下面为学习过程中搜查的内容:
- 1.$_GET 变量
- 2.ctype_alpha
- 3.md5()函数
- 4.json_decode函数
- 5.intval()函数
- 6.array_search函数
- 7.strcmp()漏洞
- 总结:
- 补充:MD5碰撞
主线
https://www.cnblogs.com/Mrsm1th/p/6745532.html
https://www.freebuf.com/articles/web/129607.html
这两个博客很详细,下面为学习过程中第一个博客搜查的内容
建议看完第一个保留疑问然后再看第二个再做复习
下面为学习过程中搜查的内容:
1.$_GET 变量
2.ctype_alpha
3.md5()函数
4.json_decode函数
5.intval()函数
6.array_search函数
7.strcmp()漏洞
1.$_GET 变量
https://www.runoob.com/php/php-get.html
同时也证明了get参数是通过URL传递并且不太安全
我们可以通过在URL后添加:?内容来提交get参数
2.ctype_alpha
https://www.php.net/manual/zh/function.ctype-alpha.php
如果在字符串中,每个字符都是一个字母,那么就返回TRUE,反之则返回FALSE
3.md5()函数
https://www.w3school.com.cn/php/func_string_md5.asp
根据true跟flase调整加密方式(针对字符串)
可利用弱类型的特点进行绕过
4.json_decode函数
附加上key,value,=>和->的解释:
Array(0=>1,1=>2,2=>3,3=>4)
那么等号左边的就是数组的下标也叫索引也叫键(key),箭头指向的便是数组的值(value)。
->:https://blog.csdn.net/qq_38275944/article/details/75576963
->是成员访问符 =>是数组的赋值符号
(面向对象的引用)
json绕后需要学习js跟面向对象(超纲了!)
先抽象学习,不纠牛角尖
5.intval()函数
https://www.php.net/intval
用于base解码
6.array_search函数
https://www.w3school.com.cn/php/func_array_search.asp
7.strcmp()漏洞
https://blog.csdn.net/cherrie007/article/details/77473817
针对低版本的php
总结:
1.(1)= = = 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较
(2)== 在进行比较的时候,会先将字符串类型转化成相同,再比较
所以弱类型的利用需= =而不是===
2.字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。
(1)字符串开头会被转化为0
eg:“admin”==0
(2)合法数值开头
eg:“1admin”==1
(3)可做运算
eg: $ test=1+“2admin”;//$test=3(int)
补充:MD5碰撞
1.md5弱比较:(= =)
md5弱比较,为0e开头的会被识别为科学记数法,
结果均为0
0e开头的md5和原值:
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
s878926199a
0e545993274517709034328855841020
s1091221200a
0e940624217856561557816327384675
s1885207154a
0e509367213418206700842008763514
s1502113478a
0e861580163291561247404381396064
240610708
0e462097431906509019562988736854
2120624
0e85776838554cc1775842c212686416
payload:
param1=s878926199a¶m2=s155964671a
2.md5强比较:(= = =)
md5强比较,此时如果传入的两个参数不是字符串,而是数组,md5()函数无法解出其数值,而且不会报错,就会得到===强比较的值相等
payload
param1[]=1¶m2[]=2
3.真实md5碰撞
待补充
最后
以上就是大胆发夹为你收集整理的PHP弱类型的学习下面为学习过程中搜查的内容:总结:补充:MD5碰撞的全部内容,希望文章能够帮你解决PHP弱类型的学习下面为学习过程中搜查的内容:总结:补充:MD5碰撞所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复