这是红队的第三篇,主要分为两个内容。
众所周知,GO语言已经快成为新的主流语言,很多跟安全相关的程序都是golang写的。而且由于形势所迫,可能有些工具不再提供编译好的版本亦或者是编译版本已经完全跟不上更新的内容更有甚者是官方编译的直接报毒而自己编译的却安然无恙。种种原因都再告诉我们,学习如何编译程序非常重要。今天的文章将会讲解,如何编译Go语言以及Java Maven项目。
第二个内容是关于扫描网站备份到进入后台的一个实战性质的内容。
编译GO简直是简单的不能再简单。
首先安装环境:
http://c.biancheng.net/view/3992.html
安装成功后,在你的源代码目录下打开CMD
go build
等待一会儿即可编译成功
值得注意的是,go build会下载一些依赖,主要是从github上下。建议打开梯子
一会儿会给出一个项目,需要大家自行编译。
https://github.com/zhzyker/Log4j2Passive
像这种不提供release
的,我们就需要自己编译。
下载源代码后,我这里选择直接用mvn package
来打包。关于windows如何安装maven可以百度搜索一下。
同时,该插件需要jdk11
以上的版本才可以使用,关于windows java多版本切换可以看一下我博客的这篇文章
https://www.cnblogs.com/tysec/p/16055754.html
之后在源代码项目中有pom.xml的那个文件夹打开(这里就是根目录)
(该项目是二开的,如果我们后续有时间,可以讲一讲如何二开一些java写的程序的,前提是你的java需要很好...)
大家自行编译https://github.com/musana/fuzzuli
编译成功后会有个fuzzuli.exe
直接用这个就可以
扫描目标网站:
fuzzuli.exe -f domain.txt -mt all
一定要注意,你的domain必须是:http://xxxx.xxx.xxx or https://xxx.xxx.xx 决不能只有个域名
扫出来了这个zsgl.zip
下载下来:
1.如果能力足够,直接代码审计 2.提取指纹,搜索指纹,试图找到这个代码是什么cms,并在互联网搜索该源码的漏洞 3.尝试搜索关键字,如eval()/system()等关键字,试图找到快速能RCE的点 4.如本文展示的一样,利用正则表达式可以搜索一些关键字,快速帮助我们进入后台。
利用seay代码审计工具(二开)
的版本进行快速的全文搜索
找到你的项目文件
左侧就是项目目录,这里我只能本地模拟一个,就非常简单的写了一个
如果我们想快速的搜索某些关键字,只需要在这里:
勾选正则
不区分大小写
正则为(.*)password
甚至你可以再扩大点(.*)pass
可以更方便
图片里展示的是,DEFAULT_USER_PASSWORD ==> xxxxxxx
即可在浩如烟海的大量文件中,找到你想要的东西。
在获取了默认密码以后,就在前台批量爆破用户名,并最终进入后台。
后续:在后面的复盘中,在这个源代码中找到了这个程序是什么CMS,具体的版本是多少。其实可以直接拿EXP Getshell的,还是太年轻了。
而如何代码审计,那就不再本文中体现了
其实是因为我是代码审计菜:dog:我也不会