代码审计之某企业网站管理系统

作者:jcmp      发布时间:2021-04-17      浏览量:0
1、源码是网上随便找的,结构如下安装完成

1、源码是网上随便找的,结构如下

安装完成后分析index.php,大部分功能我已经注释出来了

其中comm.php中比较重要的代码如下

这段代码对GET和POST方法输入的字符串进行处理,可以避免发生SQL注入。 再接着分析文件夹内的文件,发现save.php中存在一处SQL注入,关键代码如下。

分析代码可以看到,变量abc的值是由text'.$rs["id"].'的值拼接特殊符号|@;得到的,此处POST请求的内容可控,而开头文件并没有包含comm.php,因此此处可以拼接sql语句造成SQL注入。

另外,代码中还有个危险函数eval(),eval() 会将符合PHP 语法规范字符串当作php 代码执行,例如。

遗憾的是,此处没有代码执行漏洞。因为单引号包裹了内容,我再test.php构造了类似的函数,打印如下,故不存在代码执行漏洞。

其中存在漏洞的文件为databackup.php文件,漏洞代码如下。

此处未对f参数进行过滤操作,所以存在任意文件删除 漏洞复现如下图。

2、第一处SQL注入:

3、第二处任意文件删除: