代码审计-PHP原生开发篇SQL注入数据库监控正则搜索文件定位静态分析
BlueCMS SQL注入漏洞CNVD-2022-25774漏洞详情如下网站部署环境php5 apache mysql步骤将解压目录uploads放在小皮面板的WWW目录下可以简单对照下一级目录就可以倒推你要放哪个目录在小皮创建网站根目录指向uploads网站URL访问 http://192.168.100.198:85/install/进入安装目录配置数据库、用户名信息之后点击下一步安装即可注意如果点击安装之后页面变为空白那么找到compile文件夹将其下面的php文件删除即可漏洞审计挖掘技巧语句监控-数据库SQL监控排查可利用语句定向分析功能追踪 - 功能点文件SQL 执行代码函数调用链追踪正则搜索- (update|select|insert|delete|).*?where.*如何快速的在多个文件代码里面找脆弱看文件路径比如优先选择不需要权限就能够利用的看代码里面的变量可控看变量前后的过滤选择过滤较少的我们定位到 ad_js.php这个文件里面如图所示首先具有可控变量并且对于变量的过滤只采取了删去空格形同虚设我们ctrl 左键进入getone 这个函数查看是否存在过滤查看后发现功能就是进行了SQL语句的执行没有其他任何逻辑那么我们就可以判断这里漏洞的存在最后有了输入也确定逻辑存在SQL注入最后我们找输出输出决定了我们以什么方式进行漏洞利用可以看到末尾是存在 echo输出的所以我们可以直接使用联合查询输出就右键查看源代码即可漏洞利用首先我们需要确定我们要访问的页面URL路径其次需要了解输入的参数直接右键单击 ad_js.php 点击复制路径 复制绝对根路径参数的话如果没有$GET[]和$_POST[]的话就直接输入ad_id即可我们这里可以使用技巧下图中的 echo $sql是自己加的这样可以更清楚明白SQL 语句的执行但前提是要注意不要影响程序的正常执行逻辑访问URL 如图所示 右键点击检查源代码即看见结果我们使用UNION 注入这里列数可以参照数据库里面的 可以看到7是回显位在这里输入我们想要得到的信息比如 user()做到这里就可以宣告审计完成