之前的一个案例,虽然最终结果并没有%完成,不过也算是比较满意,过程中的一些小思路分享给大家。
目标是一个跨境的电商站。得到目标后先进行了常规的信息收集,得到以下可用信息:
主站域名存在CDN,未找到真实IP,后端语言为php。系统做了伪静态处理,系统使用CMS为mangento(麦进斗)CMS,但管理后台被更改。
一上来运气不错,目标用的mangento框架正好存在sql注入漏洞。
可惜密码的hash加了盐,我根据源码算法添加默认盐进行爆破碰撞,并没有爆破出明文来。通过sql注入也没法直接获取shell。
那就把目光放到页面功能处。在商品评论点发现可以任意上传文件。
结果直接传到了图床服务器,并不是主站。信息搜集了一下,跟主站没啥关系。
继续探索,在收获地址处发现一处存储型XSS。
当时分析这是一个self-xss,正常情况下管理员看的跟用户看的不是一个页面。但是因为实在没啥思路,所以抱着试一试的心态还是插入了xss代码。
然后还真打到了,事后分析,应该是存储型xss存到数据库,管理后台调用的时候前端也没做防xss处理,让我们运气好盲打成功了。
根据来源地址发现是该商城的订单管理系统,看来该商城订单处理和前端下单是分离的。
虽然打到了管理员cookie,但是都失效了。还好之前有sql注入跑出来的用户名,一顿爆破之后找到一个弱口令登录,登录后发现还是个管理员权限。
进了后台,为了获取shell我一般遵循下面5个思路:
1.通过网站指纹搜索可直接rce的漏洞;
2.找注入,通过注入点获取shell;
3.找上传,不光是直接传shell的,能找到文件包含点也行;
4.找配置,看下配置的地方是否可能让你直接代码注入,亦或是能直接执行操作服务器的接口;
5.找模板,网站模板编辑的地方,可能存在代码注入。
顺着上面的思路在后台慢慢摸索,一个邮件功能引起了注意。
这个邮件可以定制多种模板用于和客户交流,正好对应了上面所述的第5点-找模板。点进去看下具体配置。
邮件模板可以编辑php代码,尝试编辑后发送给临时邮箱。
临时邮箱果然解析出了php代码。
接下来就是插入wget命令,再次发送邮件。
成功获取webshell。
现在只是拿到了订单管理的shell,还要拿主站的shell。
整理下思路。主站的订单会发到订单管理后台进行处理,说明其中有对应的api接口。那我们是否可以通过修改api传输数据去控制主站的内容甚至获取主站的shell呢?
照着这个想法,我跟小伙伴不停的在主站下单,然后又在订单后台对自己的单子进行各种操作再返回给主站。很可惜尝试了很久并没有对主站造成什么影响。不过对当前的成果也很满意,就结束了。
简单总结一下,这次案例从过程上看其实没什么太多的新意。但是里面有两个第一次,让我感觉还是有必要分享出来。
第一点就是XSS的后台盲打,XSS这种漏洞平时更多存在于漏洞测试的报告中。这次实战中竟然成功了,也告诉我们一个道理,在没有尝试所有的方法之前,不要轻易放弃;
第二点就是邮件的模板注入,通常我们遇到的模板注入更多可能是网站的样式编辑或者框架编辑,这次邮件模板注入也是第一次遇到,后续衍生出可能短信发送,私信发送都有可能存在模板注入。
预览时标签不可点收录于合集#个上一篇下一篇