长亭百川云 - 文章详情

Xcheck检查器扩展规则

腾讯代码安全检查Xcheck

53

2024-07-13

0x00 扩展规则

扩展规则是用来帮助Xcheck检查器适配各种项目框架的一个解决方案。通过扩展规则模版,简单的填写项目框架中的一些必要信息(如类名,函数名等),即可让Xcheck检查器在扫描该项目的过程中,**“认识”**私有框架(或忽略某些片段),帮助用户挖掘代码中隐藏的安全风险。

0x01 安装 & 配置

首先,需要私有化部署Xcheck,并在部署的Xcheck网页上申请Token:

申请完成后,记录

  • 后台地址URL

  • Token

完成上述步骤后,安装私有化交付配套的Xcheck扩展规则客户****端(win/mac)并打开:

软件打开后界面如图,共两个Tab:扩展规则/设置

首次打开Xcheck扩展规则客户端,需要完成以下几个步骤:

  • 在本地磁盘新建一个目录例如C:/rule/rule,并在扩展规则客户端设置中填写。注:需要用户提前创建目录,并且至****少为盘符下两级(包含两级),如不可为C:/rule,否则可能会有文件读写权限问题

  • 设置中填写规则测试服务器,如http://xcheck.com

  • 在左侧设置中填写插件鉴权Token(在Xcheck后台页面创建)

完成以上三个步骤即为初始化完成,接下来就可以使用扩展规则客户端的核心功能:

  • 添加规则测试,若生效即可导出规则zip包,通过拖拽等方式上传至Xcheck网页

接下来重点介绍一下核心功能的使用方法。

0x02 添加规则

以一个Java私有项目为例,介绍如何添加规则,帮助检查器识别框架。

注:一些关键信息在代码注释中

package file_testcase; import com.lib.FileUtils; // 需要适配的包名类名 import java.io.File; public class FileTest {     @RequestMapping("test0")     public String test0(String name0) {         File f = FileUtils.createFile(name0);         // createFile是污点传播场景的方法名称         // name0是污点,且下标是0(第一个参数)         // 返回类型是java.io.File         f.delete();     }     @RequestMapping("test1")     public String test1(String name1) {         FileUtils.deleteFile(name1);         // deleteFile是危险函数场景的方法名称         // name1是污点,且下标是0(第一个参数)         // 此处存在任意文件删除漏洞     } }

首先切换到“扩展规则”Tab:

点击上方标题右侧添加规则按钮,然后分为4步:

Step1: 选择Java通用规则模版

Step2: 填写规则名称/规则描述/场景类型

此处为污点传播场景的扩展规则,因此场景类型选择污点传播 

Step3: (关键信息见上述黑框内的代码注释)

•需要适配的包名类名:com.lib.FileUtils•方法名字:createFile•污点参数:0,因为污点name0createFile的第一个参数•返回类型:java.io.File,因为FileUtils.createFile返回的类型是File

Step4:

确认无误后点击确定按钮,提交即可 

0x03 测试规则

编写好规则之后,扩展规则客户端提供了低成本的规则测试方法:

找到刚才添加的扩展规则那一行,点击右侧测试按钮,自行选择测试样本根文件夹,等待测试结果。前后两次结果不同,表示扩展规则生效。 

0x04 名词解释


  • 污点:英文名source,指系统中会使用到的用户可控/不受信任的数据

  • 风险(危险)函数:英文名sink,指可能触发危险行为如文件操作、命令执行、数据库操作等行为的函数

0x05 常见问题

•Q: 点击测试之后,按钮一直转圈?•A: 可能扫描项目过大,请替换成较小项目,并重新打开客户端重试

0x06 总结

Xcheck的扩展规则还在持续迭代中,后续会逐步优化从而提高易用性,减轻用户的使用成本,敬请期待。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2