第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例

函数

== 表示属于弱类型判断 不判断类型
=属于强类型比较,判断类型
第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第1张图片
第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第2张图片
当然
可以通过MD5的值来进行绕过第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第3张图片
而对于===可通过数组来进行绕过
第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第4张图片
我写的,不知哪儿出错,但意思我明白//name[]=1&password[]=2 // === 无法判断数组 所以name[] 和password[] 都是null
第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第5张图片
第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第6张图片

intval函数

intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。一般在过滤中将参数强制转化成整数(? id =1 and )
我抄写的别人代码,很遗憾失败
第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第7张图片
别人的
第二十天:WEB攻防-PHP特性&缺陷对比函数&CTF考点&CMS审计实例_第8张图片

strpos函数

strpos(string,find,start)
查找 “string” 在字符串find中第一次(或使用start指定位置)出现的位置:
可以用%0a(换行符)绕过

in_array函数

in_array第三个参数安全
in_array() 函数搜索数组中是否存在指定的值。 有的话则输出指定文本。(默认是弱类型比较)

preg_match函数和str_replace函数

自己查
查的比写的更清楚

你可能感兴趣的:(网络安全,php,开发语言)