一、《Web攻防》总结
常见的代码审计工具:RIPS、Fortify SCA、Seay源码审计工具、FindBugs等。这些工具有定位危险函数、语义分析等。在实际的代码审计工作中,工具只是辅助,更重要的是测试人员要有较强的代码开发知识。结合业务流程,寻找代码中隐藏的漏洞。
代码审计常用的IDE:PHPSTORM+Xdebug。单步调试PHP代码,方便了解CMS的整个流程。
1.SQL注入漏洞 :cms全局数据库操作文件,例:model.php
2.文件删除漏洞:打开CMS源码中的upload.php文件,该页面用于文件上传,实现功能是先删除旧文件,然后上传新的文件。若过滤不正确,则可以删除:../../../data/install.lock等
3.文件上传漏洞
1)利用竞争条件,先上传一个包含创建下文件的webshell的脚本,如下所示,然后在文件解压再到文件被删除的这个时间差里访问该脚本,那么就会在上一级目录生成一个新的webshell。<?php fputs(fopen('../shell.php','w'),'<?php @eval($_POST[a]?>');?>
2)解压失败逻辑漏洞,用notepad++打开文件将2222.php -> ../2.php
4.添加管理员漏洞
5.竞争条件漏洞 :例:用积分换礼品,若update更新数据时,没有对数据库加锁。可以考虑用python多线程造成竞争条件漏洞。
二、个人总结
安全运维脑图:

1. PHP代码审计思维导图

网友评论