PHP特性和缺陷
文章平均质量分 86
学习笔记
癞皮狗不赖皮
这个作者很懒,什么都没留下…
展开
-
WEB攻防-PHP特性-piwigoCMS审计实例
注意在rate_picture方法中对rate的值使用了in_array方法来判断传进来的值是否在$conf['rate_items']中,并且没有加上第三个参数true,也就是说传进来的值不做类型判断,并且会强转来完成in_array的判断。找到$conf['rate_items']在config_default.inc.php定义,根据in_array可以知道rate只要前面数字在$conf['rate_items'],后面可以写任何字符,如1,select,都是可以满足条件的。上传一张图片测试一下。原创 2024-04-27 17:45:06 · 313 阅读 · 1 评论 -
WEB攻防-PHP特性-metinfoCMS审计实例
可以看到会返回一个默认路径。可以看到代码中 if(substr(str_replace($_M['url']['site'], '', $dir),0,4) == 'http' && strpos($dir, './') === false)这个条件用于检测一个路径。源码中, $dir = str_replace(array('../','./'), '', $_GET['dir']);下面又if($_M['form']['pageset']),这里又直接执行else赋值给$img。原创 2024-04-26 20:53:26 · 1502 阅读 · 2 评论 -
WEB攻防-PHP特性-函数缺陷对比
这通常用于处理以特定前缀开头的数字字符串,如十六进制(以 "0x" 或 "0X" 开头)或八进制(以 "0" 开头),如果字符串不符合这些模式,它会被尝试解析为十进制数。注意:如果字符串不是一个有效的八进制或十六进制数(即,如果它包含除了 0-7 之外的字符对于八进制,或者除了 0-9 和 a-f(不区分大小写)之外的字符对于十六进制),那么。运算符比较两个字符串时,如果字符串以“0e”开头,后面跟着一系列数字,PHP 会将这些字符串解释为科学记数法表示的浮点数,并进行数值比较而不是字符串比较。原创 2024-04-26 12:37:17 · 817 阅读 · 1 评论