转:怎样开始学习php代码审计?
怎样开始学习php代码审计?
作者:淡蓝色de忧伤
链接:https://www.zhihu.com/question/23063237/answer/128500971
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
个人认为学习源码审计最好分这几步来
第一步:
PHP源码审计前你最好自己写一套web程序,当然最好是PHP+MySQL架构的。这样你就能理解web程序的基本构架,流程等,加深对web的理解。
第二步:
看一些审计大牛的总结性文章,乌云知识库里就有几篇不错的。看总结最好结合实际漏洞看(乌云里的审计总结性的文章都会有实际漏洞案例,可惜现在乌云GG了),这样对漏洞理解更深,强烈推荐雨神的总结 论PHP常见的漏洞。
第三步:
经过第二步的,你应该基本了解PHP常见的漏洞类型,和成因。这是有就可以去实战了,去找一下小众的cms去审计,一般小众cms漏洞特别多,特别多,特别多。很容易就能找出来,如果挖出一些漏洞很容易培养成就感和,当然也是积累经验。
第四步:
积累,积累,再积累。小众的cms漏洞比较多,挖出小众cms漏洞其实没多大用,但是流行的cms,可就不是那样了。流行的cms进过无数黑客的洗礼,简单的漏洞基本不存在,想挖出这类cms的漏洞就需要积累奇技淫巧。奇技淫巧怎么积累?看大牛的总结文章,看大牛的漏洞,自己发现。
现在回答一下提问
1.源码审计工具,现在我见过的自动化的白盒审计工具在PHP方面效果都不理想,包括商业化的coverity 和foritfy,开源的RIPS。这些工具能发现一些简单的漏洞,但是对审计cms来说用处不大,误报率还高。
2.审计靠跟踪函数来找漏洞,所以我会把容易造成安全问题的函数记录下来。
3.资料,大牛的PHP审计的文章,
相关文章推荐:
代码审计就该这么来: https://paper.seebug.org/90/
代码审计学习(一)yzmcms http://www.yqxiaojunjie.com/index.php/archives/151/
源代码审计 CTF领域指南 https://wizardforcel.gitbooks.io/ctf-field-guide/content/5.html
代码审计 安全脉搏: https://www.secpulse.com/archives/category/articles/code-audit
1000个PHP代码审计案例(2016.7以前乌云公开漏洞) https://github.com/Xyntax/1000php
论PHP常见的漏洞:http://www.360doc.com/content/15/0513/07/9200790_470081365.shtml
工具推荐:
三款自动化代码审计工具 http://www.freebuf.com/sectool/101256.html
其他:
相关网址: http://www.phpchina.com/ http://www.php-security.org/ http://www.php.net/
*********************
交流即分享,分享才能进步!
不对之处,还请各位前辈多多指教。
by 星云
********************