代码审计小结


代码执行基础

函数集文件

通常命名中包含functions或者common等关键字

这些文件里面是一些公用函数,提供给其他文件统一调用,所以大多数文件都会在文件头包含到这类文件,寻找这类文件的技巧就是去打开index.php或者一些功能性的文件。

配置文件

通常命名中包含config关键字

配置文件包括Web程序运行必须的功能性配置选项以及数据库等配置信息。从这类文件可以了解程序的部分功能,另外看这类文件的时候注意配置文件中的参数是用单引号还是双引号括起来,如果是双引号,则可能存在代码执行漏洞。例如:PHP中双引号引起的命令执行漏洞(Kuwebs代码审计 )

安全过滤文件

通常命名中有filtersafecheck等关键字

安全过滤文件对做代码审计十分重要,这类文件主要是对SQL和XSS注入的参数进行过滤,还要文件路径和命令执行的参数。目前大多数程序都会在程序入口循环对所有参数使用addslashes()函数进行过滤。

index文件

index.php`是一个程序入口文件

所以通常我们只要读一遍index.php就可以大致了解整个程序的架构、运行的顺序、包括到的文件、以及其中核心的文件位置。

审计过程

以骑士cms为例

首先

拿到到源码,首先寻找名称中有没有带apiadminmanageinclude一类关键字的文件和文件夹,通常这类文件比较重要。

查看关键文件代码

----未完待续