记一次源码泄露引发的惨案

VSole2022-10-25 09:11:15

0x00

hw中分到一个目标,目标的站点只有几个,其中有一个asp的站点看起来好打一点。那么我们就盘他一下。

网站就长这样,看着就很好搞。。。

只有一个登录框那就简单的爆破一下吧,但是有验证码就很烦。也没想那么多就先试试admin/123456吧,很好。

手动尝试不行那就只能上工具识别验证码进行爆破了,刚准备抓包的时候瞄了一眼验证码的获取接口,一阵无语。这老哥直接Set-Cookie了。。。

复制粘贴一下验证码进行登录。

直接扔repeater里面重放,不得不说开发老哥太贴心了。

同理尝试小试了一点验证逻辑,果然。。。6

验证码废了,那就继续看看密码,由于是加密的,所以先找找加密算法。关键字一搜,很好找。

由于是对称性加密每次加密的结果都是固定的,就不再把加密实现一遍了(就是懒),直接上常用账户名组合上加密后的123456开始爆破,但是很不幸运,拉了。

后面组合了一下账号密码,用js把密码加密了再进行爆破,再后来上了万能密码,100w字典,反正没怼出来,

0x01

回到正轨,既然这个系统不行,那我们就换个一怼,生成一下icon_hash,用fofa找到了154个。

使用前面相同的办法进行爆破,很好,浪费大半天时间一个都没怼进去。。。(MD太坑爹了,后面说)

俗话说“上帝为你关一扇门。。。“,咱直接翻窗子。

通过目录扫描,在不知道第几个站上发现一个“1.zip”。

解压出来发现是源码,简单看一看,发现了一个upload接口,而且是非常纯洁的上传。

不像其他接口还获取一下cookies这些乱七八糟的。

这里给这系统的开发老哥和这站的运维老哥点个赞。

0x02

后面就是有手就行,构造一下需要的folder参数,直接上传webshell就上去了,然后使用同样的手法拿下了目标站,直接把webshell扔给大哥们,结束。

0x03

当然不能这么简单的结束了,我倒要看看是什么密码,让我爆了半天没报出来。

首先找到数据库配置文件,加密的。。。

找了找数据库连接代码,结果C#嘛,只有一行代码。。。

没办法,只能看dll了。

通过反编译dll,发现了数据库的连接方式和解密代码。

跟进解密代码,发现是DES加密,解密的话需要密钥(key)和偏移量(iv)。

在代码定义变量的地方找到了明文的key和iv参数值。

通过在线网站http://tool.chacuo.net/cryptdes,进行解密,但是没有解出来。

又看了看代码,发现key和iv赋值前调用了Get8Byte函数,用0补齐了8位。

把偏移量拼上一个0后成功解密。

配置数据库连接信息,成功连接。

找到用户表,看了看,啥Adminrs?systemrs?我字典里没有啊。倒是下面的用户名看起来很简单,但是我为啥没爆出来呢。

把加密后的密码扔到cmd5进行解密。

。。。。。。

我试了一下空口令,直接登进去了,离谱离谱离谱

最后查了一下管理员的密码,是他们公司的联系电话。

但是那俩管理用户名我的字典里确实没有,而且也没想到用他们公司联系方式去当密码爆破。

之前也遇到过公司简称@年份、公司主域名这种的密码但是这次都没去尝试。

网站源码
本作品采用《CC 协议》,转载必须注明作者和本文链接
研究人员发现谷歌、Cloudflare等知名网站的网页HTML源码中都以明文形式保存密码,恶意扩展可从中提取明文密码。威斯康星大学麦迪逊分校研究人员在Chrome应用商店上传了恶意扩展PoC,成功从网站源码中窃取明文密码。
id=10结尾,我们猜测可能是一个sql注入点。首先我们在id=10后面加上一个单引号’进行判断。网站所呈现的内容是由代码中写入的sql语句调用数据库中的内容进行一个呈现,例如我们刚刚看到的文字。而sql注入漏洞一般是由于程序员书写的sql语句不规范所导致的安全事件。例如网站源码中使用如下的sql语句进行查询。发现10列的时候报错,说明不足10列,我们继续缩小范围。发现会分别回显第三列、第五列和第七列。
上面这张图,是赌博相关网站数量随时间的变化情况。大部分赌博网站的推广人员利用自动化程序,实时监听快要到期的、之前备过案的域名,一旦到期就快速抢注下来,拿来用作赌博推广。2022年11月15日,这个域名过期后,被恶意推广进行抢注。政府单位、企业、高校可以快速部署OneDNS,起到实时拦截赌博网站的效果。附链接《OneDNS送杀毒功能,助力企业办公安全闭环》,点击即可免费申请。
信息收集常用的工具
2022-07-23 22:07:16
云悉在线指纹识别。
网站备份文件泄露可能造成的危害:1. 网站存在备份文件:网站存在备份文件,例如数据库备份文件、网站源码备份文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。
一般网站主站信息都比较少,我们需要在渗透测试过程的信息搜集阶段,我们可能会自动化工具获得来网站其他路径如:后台、其他未授权访问路径,扫描得到敏感文件的路径,从而找到敏感数据。 根据路径爆破工具进行使用与测评分析工具的特点,批量访问发现的路径查找敏感路径。工具爬虫扫描得到敏感文件的路径,找到敏感数据。
敏感文件通常指携带敏感信息的文件,最为常见的就是数据库的配置文件、网站源码备份、数据库备份等,管理员为了方便下载,将源码备份放置在 web 目录,然后下载至本地备份,下载完之后忘记删除,从而导致漏洞的出现。配置文件泄漏最为典型的就是 spring 框架的配置文件泄漏,常见路径:"/env"/actuator/env". /{sub}.zip {status=206} {type="application/octet-stream"}/{sub}.rar {status=206} {type="application/octet-stream"}/{sub}.tar.gz {status=206} {type="application/octet-stream"}/{sub}.tar.bz2 {status=206} {type="application/octet-stream"}/{sub}.tgz {status=206} {type="application/octet-stream"}/{sub}.7z {status=206} {type="application/octet-stream"}
一般信息查询框会和数据库存在交互。我输入数字1,会正常提示木查询到相关信息。那我们使用1’测试一下,发现不弹未查询到相关信息的提示框,也没有任何数据输出,大致判断这个点存在sql注入,并且不对输出报错信息。大概猜测出SQL语句为 :select * from A where id ='$_POST['id']';
VSole
网络安全专家