也是好久没有代码审计学习了,感觉都忘了很多很多。在某次渗透项目中,发现客户某个系统用了一个开源的 cms,于是就下载试一下。刚好有两个好用的工具扫一下,看看误报率如何。
首先就是铲子这款工具,扫描结果如下,
SQL 注入
fastjson 反序列化
目录穿越(第二次扫描,目录穿越漏洞不存在了)
XXE
SSRF
插件则检测出那么多
竟然没有检测到SQL 注入。
看下反射
颜色没变,说明没有被调用。find usages
其他地方有调用,但是类型不一样,一个是 json,一个是 map,上面那个则是泛型。
那就先看SQL 注入,看看到底是谁的误报
这里有很多模块,框架也用了 mybatis
SQL 漏洞
看起来是有点的
npm install 按照 vue 框架
然后 npm dev run 启动前端框架
抓包
路径,参数都对应上了,sqlmap 测试。
然后发现不存在?回到服务层代码,整体看一下getWriteOffList 方法,发现 where 是写死的,所以前段就不存在参数的动态输入,所以后续${where}就直接忽略。
接着再寻找下一处注入。
这些参数就不是 where 了,那么随机抽取一个再试试是否有注入。
1 2 3 4 5 上山打虎了,选到谁就是谁,ok 幸运儿已找到,
然后存在注入,然后
然后我发现这一串都存在。
好家伙,IDEA 自带的插件竟然没扫出来,有点遗憾了。
fastsjon 漏洞
这个漏洞大家应该都不陌生了,之前每次审计都有他,这次就简单带过。
但是这个是 crmeb-font 模块的,需要重新启动,启动登录老是显示 404,就很烦,无奈就先把这个接口加入白名单,这样就不需要 token 了
构造 post 数据包
G 了,卧槽,要绕过,我不会。。。交给你们了。
XSLT 误报 这里就不写了
XXE漏洞
得知关键字回复
没发现接口地址,那就自己构造一下
应该是没配置公众号的 key 啥的,导致没权限访问。
找了一圈开发文档没看到从哪设置,于是翻翻IDEA,发现内置功能可以构造请求,就去试了一下
于是就发现了他的返回包竟然有数据
于是直接点击链接,替换 IP,重新构造 request,就可以获取 dns 了
剩下的基本上是误报,ssrf,文件读取,文件上传的话是白名单
开源的应该是被弃用了,新版本是付费的,那么这些漏洞在新版本会修复大部分,也就没有作用了。
插件的话 检测的比较细,但是在渗透方向出的漏洞误报率还是有点高,最离谱的是 sql 那么明显却没检测出来。
铲子这款工具,总共检测四种漏洞。误报率一半。
总体来说 针对于白盒审计,工具为辅,人工为主,想要挖出高质量漏洞的话。
cms 链接:https://gitee.com/ZhongBangKeJi/crmeb_java
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...