记录一次对某CMS漏洞挖掘

VSole2022-05-11 17:04:04

前言

本文想记录一下学习过程,给正准备入手或刚刚入手的师傅们提供一点简单的学习资料,本文将全程脱敏,只记录审计过程。另外文明挖洞,不然就亲人两行泪了,接下来让我们开始挖掘之旅吧。

SQL注入漏洞

整个代码刚拿到手,我们应该思考一下哪里容易出现漏洞,出现什么漏洞。

一般来说CMS,肯定要涉及到数据存储,就会涉及到SQL注入,而在所有漏洞中SQL注入又是最简单的,我们又是白盒审计可以看到源码,相对于黑盒就要简单的一些。

所以对于这个CMS挖掘我首选SQL注入,再去找其他的漏洞。

先看一下项目结构。

结构很简单吼,也很直观(相比于TP等框架审计,这样的就很简单很适合新手入门),对于SQL漏洞,我们可以采用全局搜索的方法来搜索SQL语句关键词,例如:

select update delete 等

这样可以让我们直观的找到注入点,再进行payload构造,我们先从前台入手一下看看。

这里找到了一个很明显的注入点,可以看到id参数可控,而且没有进行任何过滤。

我们尝试一下看看能否注入。

可以看到这里成功延迟了5s,接下来用sqlmap验证一下(在SQL注入漏洞挖掘的时候,sqlmap可以帮助我们测试会省很多时间,有的时候不知道怎么能构造payload,可以尝试一下sqlmap)。

可以看到成功爆出来了当前用户名称 ,这个漏洞存在,前台SQL注入漏洞+1。

接下来可以利用这种方法尝试进一步挖掘其他的SQL注入漏洞,这里再后台注入找一个作为例子,也是可以尝试进行全局搜索SQL语句来确定注入点。

在后在某个地方,定位到了如下注入点:

如图,该处id变量依旧可控,并且没有做任何过滤,我们也尝试去构造一下注入。

payload如下:

id= 1 and (extractvalue(1,concat(0x5c,(select user()))))//报错注入 从目标xml种返回包含所查询值得字符串

可以看到,也成功爆出来了用户名,这里的后台注入也存在,后台注入+1,此时我们已经收获了两个SQL注入的漏洞,其他的SQL注入也是同样方式,这里就不过多赘述了。

文件上传漏洞

提到了后台,后台有一些进行文件上传的功能,这里如果没有进行很好的过滤和限制就会造成任意文件上传,坏人们会利用到这一点来上传webshell,从而达成破坏。

这里,我们写一个一句话木马,将其后缀改成php,然后抓个包看一下。

 

这里有很多参数,我们尝试直接把文件后缀改一下试试。

这里提示错误,表示不行,我们定位到文件上传的代码逻辑看一下。

这里他很奇怪,虽然这是一个老CMS了,但是利用这种方法判断文件类别的姿势我还是第一次看,逻辑就是获取到类别,然后case到相应的过滤中,再用后缀和白名单做比对,不在白名单中就报错,在就上传。

但是这里就有个大问题,如果我们抓包修改ftype参数(这里我们可控),改成一个不在switch函数中的值,就正好跳过了他的检测,直接上传,我们来试一下。

然后发包过去试试。

他就成功上传了......并且我们知道路径和文件名。

我们试一试能不能利用。

竟然可以利用QAQ,这个可太离谱了。

任意文件删除漏洞

笔者在继续寻找漏洞的时候,发现了这里有这么一段代码:

这里url可控,并且任何限制没有,可以造成任意文件删除,这里就不进行演示了。

总结

因为这是几年前的CMS,所以可能洞有很多,但是正适合新手入门,体会一下怎么审计出代码中的漏洞,在审计的过程中,首先你的目标要准确,因为是白盒,这样就能很直观的看到哪里出了问题,当然你在审计挖掘的时候,也要找准目标,自己心里要清楚哪里会出问题,直观面对着waf的时候就会很容易想到bypass的方法。

必要的时候可以使用动态调试,一步一步的查看变量的改变和流向,这样会更直观观察这个漏洞触发的过程,也容易修改自己的payload,从而成功挖掘出漏洞。

总结以下几点:

1、拿到源码,要先想一想那里会出现什么漏洞;

2、要熟悉这个CMS用的开发框架的整体运行机制,方便我们定位漏洞点;

3、多尝试,手动测不出来可以借助工具来辅助审计;

4、面对一个waf要从不同的角度看,以便于bypass。

总的来说,想要提高技术要多看文章,多动手复现,也要多尝试自己动手挖洞,从成功和失败中总结经验以便于下次审计。

最后,要做一个遵纪守法的安全研究员,文明挖洞,千万不要挑战法律。

漏洞漏洞挖掘
本作品采用《CC 协议》,转载必须注明作者和本文链接
src漏洞挖掘浅谈
2023-02-20 11:22:13
信息收集就说到这里,信息收集的主要目的就是扩大可利用面,10000万个资产你可能碰到弱口令,但1个资产你肯定没有弱口令挖掘前篇前边已经讲了信息收集,在测试前为了能高效的挖掘src,就需要有数据进行测试,这个数据就是我们常说的字典,字典怎么来,整理,收集,经验,积累。金额,数量都是可以篡改的地方小结挖掘src漏洞最主要还是挖掘逻辑漏洞,无非就是耐心,细节,多留意数据包的可疑数据,数据包所实现的功能。
首先要上分那么一定是批量刷漏洞,不然不可能上得了分的,然后呢,既然要批量刷漏洞。两种思路:1.审计通用性漏洞2.用大佬已公布的漏洞思路1难度较大,耗时也较长。思路2难度适中,就是需要写脚本或者使用别人已经写好的脚本。这是泛微继与微信企业号合作后,又一个社交化管理平台的落地成果。简单的说,一般比较大的企业都会用这个平台来做一些钉钉或者微信接口对接泛微OA的功能。
关于漏洞的基础知识
2022-07-20 09:44:23
黑客可以通过修改事件完成的顺序来改变应用的行为。所以,进行有效的验证是安全处理文件的重要保证。这种类型的漏洞有可能是编程人员在编写程序时,因为程序的逻辑设计不合理或者错误而造成的程序逻辑漏洞。这种类型的漏洞最典型的是缓冲区溢出漏洞,它也是被黑客利用得最多的一种类型的漏洞
网络安全漏洞(以下简称“漏洞”)作为信息通信网络中在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,随着经济社会信息化、网络化、数字化和智能化程度的加深,对国家网络安全的影响也日益加剧。世界各主要国家和组织为了切实提升国家网络安全防护能力,围绕漏洞的研究、收集和利用,纷纷建立国家级漏洞通报平台或漏洞数据库。日本于2003年开始建设“日本漏洞通报”(JVN)平台;美国于 2005 年开始建设“
细说从0开始挖掘cms-
2022-08-17 16:26:57
确立目标挖洞的第一步首先是确立一个目标,也就是找个cms来挖,这里可以通过github,gitee或者谷歌百度直接去搜cms。或者cnvd查看相应的信息,通过查看相应的信息可以提高我们挖洞的效率,我们从中可以知道该项目已经存在漏洞,我们到时候挖就可以看看相应的地方会不会还存在漏洞或者避免挖到别人挖过的漏洞。本次挖掘漏洞是ofcms,首先先下载一下源码,然后解压丢一边,回到网页来看一下项目文档。
最后对响应的匹配,使用正则识别id命令之后的结果。成功扫描出CVE-2022-1388F5 BIG-IP API Unauthenticated RCE漏洞漏洞的请求也变异无误,最后的响应中也是执行了id命令。案例二:利用Scalpel工具挖掘多个0day漏洞Scalpel工具使用较为灵活,通过对检测目标变异响应的check,可以发现检测目标中未知的安全问题。同时发现某Apache开源项目的CVE漏洞,报告被该团队接受并正在修复,尚未披露。
攻击者可在无需认证的情况下,通过构造特殊的请求,触发反序列化,从而执行任意代码,接管运行ForgeRock AM的服务器。本文从漏洞挖掘的角度分析其中的技术细节,也将公开一些其他的反序列化点。
对于公益SRC来说,想要冲榜就不能在一个站上浪费大量时间,公益SRC对洞的质量要求不高,所以只要 花时间,还是可以上榜的。在对某站点进行测试SQL注入的时候,先通过一些方式测试是否可能存在漏洞,然后可以直接sqlmap一把梭,也可以手工测试,然后提交漏洞。任意注册算是低危漏洞,不过也有两分。不管是进行SRC漏洞挖掘,还是做项目进行渗透测试,又或者是打红蓝对抗,一定要做好信息收集。
VSole
网络安全专家