毛病:当不是数字的字符串与数字互比较较,is_numeric()会自动的先把非数字型的数转换成数字,在进行比较。利用:在现在数字之后,如果利用该函数,则可以通过把数字改写成字符串便可2-Hash的比较毛病 md5解密之后,得到0e开头的字符串之后,但是MD5的值会直接吧0e当做科学计数法,算作了0e的多少次幂,但是依旧为0 。因此以此绕过MD5验证 0e开头的MD5值汇总 QNKCDZO 0e830400451993494058024219903391 240610708 0e462097431906509019562988736854 s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387a 0e848240448830537924465865611904 s214587387a 0e848240448830537924465865611904 s1091221200a 0e940624217856561557816327384675 sha1加密后以0e开头的字符串 sha1(‘aaroZmOk’) sha1(‘aaK1STfY’) sha1(‘aaO8zKZF’) sha1(‘aa3OFF9m’)
3-parse_str()覆盖毛病 浸染是解析字符串并注册成变量,但是在注册之前不会在意变量是否已经存在,而是直接覆盖掉已经有了的变量
利用:直接将已经有的变量覆盖成可控的内容
4-switch绕过 结合代码剖析,须要实行switch里面的某个分支,如果switch是整数型的case的判断时,switch会自动将参数转化成为int型
【——全网最全的网络安全学习资料包分享给爱学习的你,关注我,私信回答“领取”获取——】

1.网络安全多个方向学习路线
2.全网最全的CTF入门学习资料
3.一线大佬实战履历分享条记
4.网安大厂口试题合集
5.红蓝对抗实战技能秘籍
6.网络安全根本入门、Linux、web安全、渗透测试方面视频
5-extract()变量覆盖
函数从数组中将变量导入到当前的符号中,该函数利用数组键名作为变量名,利用数组作为变量值。针对数组中的每个元素,将在当前符号表中创建的对应变量,这个函数就会成功返回设置的变量数。
6-strcmp()比较字符串
strcmp是字符串的比较,str1<str2 则<0 str1>str2 则>0 str1=str2时 即是0但是如果是数组比较的话,会直接返回NULL。if判断利用的是==,以是if(strcmp($pattern,$))。NULL的布尔值为0 。把稳逻辑表达
7-sha1数组绕过
===数据和类型完备相同,sha1默认的参数输入为字符串,以是当输入的数据为数组时,返回false,sha1(name[]=1)==false=sha2(password[]=2)
8-进制绕过
已经整数比较相等,转换进制后与原数比较较
9-ereg() strpos()函数绕过
ereg()函数可以绕过姿势-00截断数组绕过
10-X-forword-for
ip假造
11-伪协议
file://php://zip:// bzip:// data://http:// https://
12-变量覆盖漏洞
extract()函数利用不当parse_str()函数利用不当import_request_variables()利用不当$$利用不当开启了全局变量注册