在渗透测试中遇到问题的一些解决方案



      当执行渗透测试时,经常会遇到一些令人讨厌的问题。比如:无账户,注册账户功能有限,

不知道后台在哪里等等。以下给出了一个解决方案。
 
 
在网站底部通常会有网站备案,主办单位,承办单位,技术支持等信息。使用像技术支持这样

的关键词,就能在搜索引擎中找到和目标应用一样的网站,简单地渗透到这些网站。用这些网

站所获得的漏洞信息,再去攻击目标网站,往往能获得巨大的收益。用FOFA搜索关键词,发

现相同的系统应用,下文统称为A网站,对A网站进行渗透测试,发现存在任意文件上传,很

容易获得WebShell.注:原来目标网站也有任意文件,不过是修补了一下,在WEB目录下有L

og文件夹,命名方式可以打破,将此漏洞信息利用到目标网站上,访问/Log/2020/返回403,

表示目录存在。
 
 
但用已有的命名规则和通用命名规则去爆破,效果不佳。遗憾的是,跳过这一日志继续深入

,发现用户的登录凭证很有特点,就像AES或DES加密一样,由于是AES或DES加密,密钥

肯定在配置文件或源码中,所以将A网站的源代码打包下载。因为是.NET的站点,还需要使

用ILSpy反编译dll文件查看源代码,找到登录口,找到AES加密算法。
 
 
继续使用AES.Encode函数,找到它的密钥获取方式:"xxxxx"+IP,Utils.GetClientIP()获取的

是XFF头,因此也是可控制的,然后我就用Decode编写一个验证以Decode解密用户凭证。

最后成功解密,这说明目标站点也使用了默认的加密密钥,因此存在凭证伪造(任意用户登

陆)伪造普通用户的危害是有限的。因此,继续查看代码,发现管理员凭证使用也是同样的

加密方法.修改Cookie,以访问目标网站后台,结果返回没有权限.进入Admin的基类查看,

原来是根据用户ID进行权限检测。

 
 
用站点的技术支持信息搜索同一种应用,然后渗透它,试图获得有用的漏洞信息。一般情

况下,您可以尝试获得默认密码规则,默认日志,备份规则,默认加密密钥。如有条件,

可下载源代码,进行代码审计。
分享: