PHP代码审计基础-高级篇
高级篇主要讲 1. 熟知各个开源框架历史版本漏洞。 2. 业务逻辑漏洞 3. 多线程引发的漏洞 4. 事务锁引发的漏洞 在高级篇审计中有很多漏洞正常情况下是不存在的只有在特殊情况下才有 PHP常用框架 Zendframwork,Yii,Laravel ,、ThinkPHP 这里举例因为thinkphp由国内人开发用户量较多而且历史漏洞也多 Thinkphp历史漏洞很多,对于漏洞形成原因可以自己复现。 篇幅有限只介绍披露漏洞 Query方法 低于3.1.3 有sql注入问题 Order方法 低于 5.x 有sql注入问题 Update方法 低于3.2.3 有sql注入问题 /** * 更新记录 * @access public * @param mixed $data 数据 * @param array $options 表达式 * @return false | integer */ public function update($data,$options) { $this->model = $options['model']; $this->parseBind(!empty($options['bind'])?$options['bind']:array()); $table = $this->parseTable($options['table']); $sql =