freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

记一次真实渗透中同框架漏洞拿下目标站
clearyy 2023-04-07 14:32:02 54482
所属地 贵州省

00x0前言

公司给了个站让做渗透,常规手法没发现东西,就找了同框架的其他站来打,这是个存在大量未授权的框架,所以这次是收获颇丰。

具体的攻击流程和漏洞利用点如下:

  1. 使用WebCrack工具对同一框架的其它站点进行弱口令爆破,成功进入其他站的后台。
  2. 利用Burp插件xia_sql,发现未授权SQL注入点,SQLmap获取数据库名。
  3. 利用xia_yue插件发现大量未授权访问接口,可进行未授权添加管理员用户、未授权访问所有账户密码等未授权操作
  4. 在尝试上传文件和图片时,发现上传的文件无法被解析,无法利用该漏洞。但在登录页面的logo上传点,可未授权更换登录页面背景、logo和标题。
  5. 最后,网站存在一个ping功能,可利用管道符接命令,实现未授权命令执行

00x1测试过程

开局一个登陆框,脑壳扣到光。弱口令+sql注入测一波,f12看一波,啥也没有,感觉可以摆烂了。

罢了,总共就给了一个站,还是再看看!

Hunter或者fofa上根据title搜一波同框架的站,导出来拿webcrack跑一下弱口令

https://github.com/yzddmr6/WebCrack(没有验证码或者前端没把账户密码加密的站才能用)

笔者在这拿fofa导的,导出来的是没有路径的100多个url,webcrack跑不起来,拼接个登录框所在路径就可以跑起来了。这站虽然没验证码,但是输入次数过多账户还是会被锁,所以这里的账户密码筛选了一下,选最常见的来跑。

运气比较好,跑了四五个站就跑出弱口令了,登上去看一看。

未授权Sql注入

burp开着东翻西翻,笔者这里先测的是查询搜索等功能,修改、增加、删除等功能先不测(因为burp插件可能会乱插导致原本数据丢失,测完了查询再关掉各个插件手动测其他功能)

没一会就在xia_sql(https://github.com/smxiazi/xia_sql)插件看见一个可疑的点

单数个引号返回的包与双数个引号返回的包不同

直接丢sqlmap跑(跑不出来再手工测),password没跑出来,没事,高危到手,不对,这个不是目标站!

立马去翻翻xia_yue(https://github.com/smxiazi/xia_yue)插件(测越权的)

这个接口刚好是未授权,删除cookies也能访问这个接口,那立马拿目标站来试,直接成功获取一枚未授权sql注入点

这时候试试能不能getshell,记得之前翻的时候访问setup.php报错,爆出根目录

但是权限不是DBA,可惜了。Get不了了

这个时候就按同样的方法翻翻,因为看这个参数名name都有sql注入,那大概率sql注入没有做过多的防范(如果是order by注入的话可能就那一个)

又翻到一个报错注入,同样能丢sqlmap跑出来,同样是未授权sql注入一枚,漏洞参数:m_O_NodeTabsql

此处提一个点,这里常见payload手工没测出来,换上sqlmap的报错注入的payload试了一下。可以看见此处的Sql语句是被执行了的

但是没有爆出库名等敏感信息,因为笔者不常用floor函数,这payload也不知道怎么改。

有个简单粗暴的办法,就是这里利用payload里面的8932=8932这个点,直接把它换成substr((select+database()),1,1)='d' 来对数据库名做判断,形成一个报错盲注(若第一个字母是正确的,就返回结果,执行sql语句。若不是正确的字母,则返回空),而不用对外层的语句做修改,有点像万能公式。

丢intruder模块,设置第四种攻击类型,payload位置选择以下两个,payload1选择数值选项,填个10到20都行,payload2选择简单列表,填26个字母和特殊字符(一般加个下划线即可)

根据payload1和长度进行排序,即可得知payload2处对应的数据库名为:db_we*****

从Xia_yue里可以看见大部分接口存在未授权的情况(低权限是换低权限账户的cookie,未授权是删除cookie来访问目标站的接口),所以就去测危害最大的未授权,比如添加用户,比如敏感信息查询

未授权添加管理员用户

找到用户管理功能,点击添加用户并抓包

删除cookie发送,返回一个ok

按照添加的用户成功登录上目标站,这里就不放图了,码不住

未授权账户密码泄露

这时候去翻burp历史记录,发现有个包返回了spwd字段,md5解密后确实是登录密码,又是同样的操作获取一个未授权账户密码泄露,同时也获取到目标站的所有账户密码

然后就得看看上传点了,有个文件管理功能以及图片管理功能,但是类似存储桶,不解析php文件,没法利用。

就去翻翻logo,头像之类的上传点,这地方上传后没返回上传后的文件路径,没法利用,但是登录页面的logo没了(这里不放图了,当时没截图,复原嫌有点麻烦),这个点也能未授权,所以若是被坏人利用,登录页面的背景,logo,标题都能被未授权更换为黑页。

未授权命令执行

最后呢,还有个点就是它有个ping的功能,啥也别说了,直接管道符接命令,拿下。

00x2总结

后续还有一些危害相对不大的未授权接口,这里就不一一列出了。总的来说,在目标站难打的时候就测同框架的站,进了后台才有大量功能点来测,如果存在未授权接口,就能通用打在目标站点上了。后台测的时候除了查询的功能点,其他需要更改数据的功能点最好关掉主动扫描的插件,防止原始数据丢失。

# 渗透测试 # 渗透工具 # web安全 # 未授权漏洞 # 框架漏洞
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 clearyy 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
clearyy LV.3
这家伙太懒了,还未填写个人描述!
  • 4 文章数
  • 11 关注者
记一次公益SRC通过laravel配置不当进数据库的延伸
2022-08-14
记一次挖掘公益SRC通过laravel配置不当进数据库
2022-08-14
记一次真实渗透排序处发现的SQL注入学习
2022-07-15
文章目录