对BlueCmsv1.6进行代码审计。审计中发现以下问题:全局配置分析:检查发现存在未对$_SERVER进行过滤的情况,可能受到单引号或者引号闭合的SQL注入攻击。同时,$_SERVER的遗漏可能通过其他方式被利用。审计过程:发现SQL注入漏洞存在于uploads/comment.php路径下,未对$_SERVER进行过滤,通过查找处理IP的方法并延时验证成功。另外,在uploads/ad_js.php路径下,未对输入内容过滤,可利用联合查询进行注入。存在XSS漏洞的路径有uploads/user.php和uploads/admin/ad.php,邮件地址和多个位置存在XSS攻击可能,配置文件未进行过滤。文件包含漏洞出现在uploads/user.php,需要PHP版本5.3.4以下才能利用,高版本已修复截断漏洞,使用include方式引入执行文件,配合文件上传可以获取shell。文件上传路径为/bluecms_1.6/uploads/user.php,未对内容进行过滤,使用phar打组合拳测试,发现大多数路径被BLUE_ROOT拼接,无法利用phar。构造poc成功触发phar后获取phpinfo页面。任意文件删除漏洞出现在uploads/user.php路径,利用条件苛刻,但可直接执行任意文件删除或phar反序列化。另一处删除漏洞在uploads/publish.php路径下,成功执行。代码执行漏洞在/uploads/include/smarty/Smarty.class.php路径,通过反向跟进_eval方法,跟进smarty_core_process_cached_inserts方法,通过跟进smarty_core_read_cache_file验证处理逻辑,确保返回True。总结:代码能力的强弱将直接影响安全行业的发展,CTF和HVV等需要深厚的代码审计能力。Go语言的代码审计也逐渐兴起,安全之路漫漫,持续探索与提升。