第一张代码审计的 CNVD 资产寻找之旅经验分享

admin 2023年5月12日17:51:08评论79 views字数 1578阅读5分15秒阅读模式

嗨,大家好,这里是闪石星曜CyberSecurity。

本期分享的是来自【炼石计划@Java代码审计】内部圈子【misszhou123】的第一张代码审计出的 CNVD 经验分享。

主要是寻找资产这块小经验,大家可以学习一下。

如果你也想一起内卷,欢迎通过文末链接加入我们。

第一张代码审计的 CNVD 资产寻找之旅经验分享

一、资产寻找之路

1、某鱼买爱企查会员

主要是因为穷,用个几块钱买个爱企查会员还是很划算的,主要是这东西就用个几天,开个一个月会员实在浪费

2、寻找 5000 万以上资产

使用爱企查的高级搜索功能,条件如下,一次可以导出一万条,依次更换行业,把所有行业5000W以上的公司,都导出来。

第一张代码审计的 CNVD 资产寻找之旅经验分享

接下来就是导出了

第一张代码审计的 CNVD 资产寻找之旅经验分享

导出来很多的url,一个个找吧,先找信息技术行业的,有产品的概率会大很多。要是你爬虫技术牛逼的话,也可以写个爬虫,自动获取有产品的公司。

第一张代码审计的 CNVD 资产寻找之旅经验分享

3、探索产品

举个例子,打开网站能开到产品名称,这种算是有产品,但是没有下载链接,要通过资产搜索引擎,找资产,然后批量扫描源码,然后通过下载的方式获取,这种比较不推荐,搞不好就进去了.....

第一张代码审计的 CNVD 资产寻找之旅经验分享

还有一种是有产品在首页也给出了产品链接的,这是重点要寻找的,直接下载下来就可以了

第一张代码审计的 CNVD 资产寻找之旅经验分享

二、代码审计之路

1、获取源码

软开包下载下来,安装,看一下目录,你就知道是不是java写的产品了,有tomcat、webapps基本上可以确定是java写的

第一张代码审计的 CNVD 资产寻找之旅经验分享

指定一下目录,搜索一下.jar和.class文件,拷贝出来

第一张代码审计的 CNVD 资产寻找之旅经验分享

第一张代码审计的 CNVD 资产寻找之旅经验分享

2、反编译

推荐使用 jad,真的挺好用的,命令如下所示:

 jad -o -r -s java -d src classes/**/*.class 

第一张代码审计的 CNVD 资产寻找之旅经验分享

3、IDEA 分析源码

有了源码后,分析源码的方式,就只有两种

    a、全文通读,这种方法比较适合有充分时间的情况下,挖掘逻辑漏洞使用

    b、关键字查找,简单快速的方法,适合刚入门的小白,附查找JAVA的关键字

    漏洞名称 关键词
    XSS getParamter、<%=、param.
    SQL注入 Select、${、order
    任意文件下载 download、fileName
    任意文件删除 Delete、deleteFile、fileName、filePath
    文件上传 Upload、write、fileName、filePath
    命令注入 getRuntime、exec、cmd、shell
    XML注入 DocumentBuilder、XMLStreamReader、SAXBuilder、SAXParser、SAXReader、XMLReader、SAXSource
    反序列化漏洞 ObjectInputStream.readObject、ObjectInputStream.readUnshared、XMLDecoder.readObject、Yaml.load、
    url跳转 sendRedirect、setHeader、forward
    不安全组件暴露 activity、BroadcastReceiver、Content

    拿sql注入举例,一个基本判断漏洞逻辑是

    1.有入口点,入口点一般为 Controller 类下

    2.入口点参数可控

    3.没有过滤传入参数

    搜索关键字order by

    第一张代码审计的 CNVD 资产寻找之旅经验分享

    往上追踪,发现参数是 int 型,基本上不存在 sql 注入漏洞,都不用在往上去 Controller 类了。

    第一张代码审计的 CNVD 资产寻找之旅经验分享

    4、漏洞情况

    发现的漏洞位于UsersController.class类,从代码逻辑上判断,只校验了 userId 存不存在,没有校验当前 userId 是不是属于当前登陆用户,直接就是遍历 ID,进而可以获取其他用户信息。

    下面奉上片段代码,各位兄弟可以看看。

    第一张代码审计的 CNVD 资产寻找之旅经验分享

    三、总结

    终于通过代码审计,水到了人生中的第一个 CNVD 证书了,实在不容易,整个过程中,感觉最难的不是代码审计,而是找五千万资产以上公司的源码。

    分享下个人小经验,希望能给大家一些小启发。

    原文始发于微信公众号(闪石星曜CyberSecurity):第一张代码审计的 CNVD 资产寻找之旅经验分享

    • 左青龙
    • 微信扫一扫
    • weinxin
    • 右白虎
    • 微信扫一扫
    • weinxin
    admin
    • 本文由 发表于 2023年5月12日17:51:08
    • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                     第一张代码审计的 CNVD 资产寻找之旅经验分享https://cn-sec.com/archives/1730201.html

    发表评论

    匿名网友 填写信息