初始代码审计


0x00 简介

本文章来自 公众号:404安全

终于来到了代码审计篇章。希望看了朋友有所收获,我们通常把代码审计分为黑盒和白盒,我们一般结合起来用。

通常我们白盒审计有多种方法我们可以归纳为:

1.通读全文

2.回溯

其中通读全文费时间,但是有利于代码审计的经验积累,也能更深入的挖掘一些难以发现的漏洞。功能回溯我们可以定向的审计一些功能和函数,最常见的就是对命令执行函数的回溯,和上传等功能的审计。通过熟悉白盒审计有利于漏洞的发掘,因为代码审计和开发都能熟悉到程序中那些地方会存在对数据库的操作和功能函数的调用,举个简单的例子当我们看到download的时候,我们就会想到是不是有任意文件下载。

0x01 环境与工具

我们在代码审计中又可以分为静态和动态,静态我们通常用于无法搭建原来的环境只能看代码逻辑来判断是否存在漏洞,而动态调试就可以debug、输出、监控SQL语句来看非常方便。

接下来代码审计工具基本就用到Sublime Text 3、VSCode、Seay源代码审计系统、PHPStorm+XDebug、文件对比、MYSQL监控、编码转换、正则调试等。其中文件对比工具可以拿来和更新补丁后的文件进行对于对比定位漏洞代码区,PHPStorm+XDebug可以动态调试定位漏洞成因,也有利于漏洞的发掘。当然你也可以用那些自动化审计的,貌似还支持代码回溯,还是能审计到一些漏洞的。环境能用基本就用phpstudy了。

0x02 知识准备

代码审计我们需要对php有一定的了解,当然是越深入越好,我们也不纠结,代码审计需不需要精通php什么的,只能说知识面在什么层次就能审计到什么层次的漏洞,但是至少你得看得懂代码。

我们应该具备一些知识:

1.基本的正则

2.数据库的一些语法(这个我在前面的数据库维基已经讲的差不多了)

3.至少你得看懂php代码

4.php配置文件以及常见函数

0x03 关于文章的一些问题

前面我们的实验环境我基本上不会使用框架类的,我尽量使用一些很普通的网站,还有如何用phpstudy之类的来本地搭建网站这些我也不会讲,这些基础的问题搜索一下就有,不能独立解决问题怎么能进步,遇到一些特殊的问题我还是会说一下的。

0x04 文末

当然如果你跟我一样是一个新手才入门代码审计,看这篇文章最好不过了,因为我会讲的很细,当然我可能很多东西也讲不到,还请大家多看看别人的审计思路,只有不断的学习才有提高。


文章作者: Young
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Young !
评论
 上一篇
SQL注入审计 SQL注入审计
0x00 简介本文章来自 公众号:404安全 为什么第一章我们学习,因为看这篇文章的朋友大概也看过我前面写的MySQL_wiki系列,这里来SQL注入的话我们能方便理解,同时sql注入也是审计中我们经常想要找到的,比较以来就getshell
2020-04-01
下一篇 
代码执行审计 代码执行审计
0x00 简介本文章来自 公众号:404安全 代码执行也是我们经常遇到的,通常是eval()、assert(),当然还有回调函数比如call_user_func() array_map(),正则函数,动态调用等等,因为程序对传入的参数过滤不
2020-04-01
  目录