代审工具CodeQLpy的简单使用与Springblade SQL注入修复简析

admin 2024年4月22日07:11:44评论4 views字数 1317阅读4分23秒阅读模式

最近研究的东西有些碎片化,简单记录记录

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

CodeQL是一个开源的代码审计引擎,距离发布有些时间了。最近看其他师傅的公众号又开始写用codelqlpy(写好检测规则的项目)来审计代码,我也用项目来审下最新版的Springblade来看看有啥新鲜的东西。

安装步骤省略,进入运行项目,代码审计就运行以下三条命令:

python main.py -t C:Users13740IdeaProjects3SpringBladecodeql database create out/database/SpringBlade --language=java --command="C:Users13740hacktoolCodeQLpy-masterCodeQLpy-masteroutdecoderun.cmd" --overwritepython main.py -d C:Users13740hacktoolCodeQLpy-masterCodeQLpy-masteroutdatabaseSpringBlade

首先运行python main.py -t C:Users13740IdeaProjects3SpringBlade

maven会编译项目文件

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

运行codeql database createout/database/SpringBlade --language=java --command="C:Users13740hacktoolCodeQLpy-masterCodeQLpy-masteroutdecoderun.cmd" --overwrite

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

为springblade生成codeql的数据库,方便之后进行代码审计分析source(输入)和sink(输出)

运行

python main.py -d C:Users13740hacktoolCodeQLpy-masterCodeQLpy-masteroutdatabaseSpringBlade

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

开始代码审计,审计的时间很漫长,基本跑完才只发现了硬编码的东西

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

去SinkPath的代码里追踪看看,发现只是写死的默认密码123456

说明在重置密码和导入用户时,会设置密码默认为123456,算不上什么漏洞(弱口令?)

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

再手动分析下老版本的${ew.customSqlSegment}造成的SQL注入

上面的占位符允许用户自定义sql语句拼接到查询语句中,造成SQL注入

全局搜一下,发现新版里面还是带着这个语句的

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

在导出行政区划这个接口里面

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

测试一下,发现报错语句被过滤了

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

日志中显示SQL过滤语句被命中了

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

进代码看下,过滤的很全,增删改查语句都被过滤了

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

但是报错语句只过滤了updatexml,是不是还有其他报错语句可用

翻了下使用示例,发现除了extractvalue和updatexml其他的报错注入似乎都要依赖select,而select被过滤了,就只有extractvalue可以简单用用代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

能回显几个Mysql的函数值,比如数据库名称、路径、用户名等

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

代审工具CodeQLpy的简单使用与Springblade  SQL注入修复简析

不过SQL查数据什么的就不用想了,属于是被围追堵截,查不出来的

原文始发于微信公众号(HackingWiki漏洞感知):代审工具CodeQLpy的简单使用与Springblade SQL注入修复简析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月22日07:11:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   代审工具CodeQLpy的简单使用与Springblade SQL注入修复简析http://cn-sec.com/archives/2577684.html

发表评论

匿名网友 填写信息