线下赛ASP靶机漏洞利用分析

继上次发表 记一次线下赛靶机攻击过程 后,看到反响不错,特此再写一篇,关于一台 ASP 靶机漏洞利用过程。

记一次线下赛靶机攻击过程(https://mp.weixin.qq.com/s/11pj2vIDISYJHvXdGMS_VQ

整个漏洞利用过程难度不大,但是个人觉得有些思路大家以后参加线下赛的时候参考,因为很多线下赛,难度整体不大,个人参加了几次,发现很多选手1台靶机都拿不下,其实他们还是具备一定能力,只不过缺少了思路,发现漏洞的“入口”,加之比赛短暂往往就几个小时,导致紧张最终一无所获。

往往有些靶机“入口”并不唯一。这样利用的方式有很多种,对于另外的攻击手法,大家可以再参加线下赛的时候,如果成功拿下靶机,尝试把 web 源代码 + 数据库数据下载下来,赛后自行搭建环境分析,发现另外的攻击手段,这样效果更好。

注:下面的文章内容将比较照顾新“入坑”的未来大佬。 环境靶机 IP :172.16.1.112

1、Web首页 ASP 站点

对于 asp 站点,我们可以推断出 web 站点整体环境,如下:

ASP + ACCESS + IIS 或者 ASP + MSSQL + IIS

至于是 IIS 版本多少,告诉大家一个规律。

IIS 6.0 = 2003 IIS 7.0 = 2008 IIS 7.5 = 2008 r2 IIS 8.0 = 2012

对于如果最快速分析出是 Linux 或者 windows 平台的站点,就是尝试大小写。

Linux 区分大小写,windows 不区分,利用这个规律,例如访问:

http://172.16.1.112/index.html

尝试把 index.html 中 d , 换成大写 D 访问,如果不报错证明是 windows 平台。

2、网站底部有后台管理入口,访问进入(某些靶机虽然有后台入口,但多半是假的,存在误导性质)

从上图看来是真的入口

既然有了后台入口,现在缺的就是账号密码了。

获取账号密码最常用 web 漏洞就是 sql 注入,接下来可以尝试进行 web 扫描或者手工发现注入点。

3、随便打开一新闻

在打开的新闻页面的 URL 最后添加 ',测试是否存在 SQL 注入,报错证明有 SQL 注入,如下图:

使用 pangolin 注入获得结果,得到结果如下图:

破解获得管理员密码为 987432

进入后台获取到第一个 flag

从图中可以看到采用 access 数据库,从而排除了之前我们分析的使用 mssql 数据库的可能性。

4.寻找后台有哪些功能

在增加新闻中我的 chrome 浏览器无法打开这个编辑器,chrome 不支持,改用 ietest IE6.0 浏览器打开。

想尝试通过上传图片功能上传 webshell,但无奈可能兼容性问题,IETEST 软件崩溃了,故放弃了,寻找别的方法。

看到有首页 JS 生成模块,其中有生成 asp 文件类型选项,个人觉得有可利用价值,但个人没使用过,怕乱点破坏环境,导致网站无法访问,故没有深入操作。

由于网站使用的是 eweb 编辑器,故可能有 eweb 编辑器后台

发现eweb编辑器后台入口

接下来寻找 eweb 数据库的账号密码

账号密码存放在数据库中,熟悉 eweb 都知道 eweb 默认数据库的位置为:

http://127.0.0.1/ewebeditor/db/ewebeditor.mdb

修改 url,却出现 404

既然使用了 eweb 编辑器,肯定存在数据库,只是我输入的路径不对而已。

在首页有篇文章引起了我的注意

这 3 点防数据库下载的措施:

1.修改默认数据库名,修改存放目录

2.把 access 数据库的 .MDB 扩展名修改为 asp、asa ,不影响下载

3.数据库名加 # 防止被下载,但是可以通过 %23 = # 形式下载

既然有这篇文章,我估计肯定采用了其中一种方法进行了加固,那我也顺势接着这些方法去发现。

先尝试修改为 asp 扩展名,果不然出现了内容,那我只要把该 asp 文件下载下来再改名为 mdb 文件,进行读取

成功得到 eweb 后台账号密码

用户名:Admin 密码:29767143

后来发现首页底部其实也存在密码,所以优秀的信息收集能力,其实也能很好的辅助我们

接下来就利用 eweb 漏洞来上传 webshell,至于怎么上传,这边就不提及了,虽然本文比较照顾小白,但照顾的是思路,对于这种“烂大街”的漏洞就不细说了。

真有不清楚,可访问文章:

http://blog.sina.com.cn/s/blog_7fe448c70101e70y.html

5.看到此处可能大家就觉得是不是有点太 low 了。

这边重点要讲的不是上面通过 eweb 的方式。

之前我们发现靶机把 .mdb 加固成了 .asp,理论上防止了被下载,但是忽略掉了如果把 asp 一句话写入进了数据库,保存在数据库文件内,那也就是 asp 文件,那么这个数据库 asp 文件就变成了一句话的木马文件了。

发现首页存在我要留言板块,该板块调用的是 web 跟目录底下的 ebook/index.asp 文件

故知道存在 ebook 目录,关于留言板相关内容也都应该存放在该目录底下,包括写入进去的留言的数据库文件

尝试把一句话木马写入数据库

内容进入,接下来需要做的就是找到该数据库文件

对 ebook 目录进行扫描,发现db目录,猜数据库文件名字,发现为

http://172.16.1.112/ebook/db/ebook.asp

6、提权

权限不够,提权来凑

之前那篇文章提权采用 ms15-077,同样在该靶机上也可以提权成功

但咱也不能老用那 1 个 exp,所以这次咱换一个 1 个 ms15-051 试试。

执行了但是没内容输出

后来找了下 ms15-051 的 exp 相关信息,发现得配合菜刀的自写脚本功能使用

提权成功

但这边再给大家介绍一款工具:wce.exe

1 个不错的 HASH 注入工具可读明文密码我们在不修改密码进入系统的情况下,获取密码进入系统。

获取明文密码方法如下,更多详细的内容可自行百度

桌面 flag.exe 内 flag 一枚

Base64 解码得之

至此 ASP 靶机攻击结束

该靶机整体难度比较小,在线下赛中基本会被打花,但切记务乱操作导致靶机无法正常使用。

原文发布于微信公众号 - 信安之路(xazlsec)

原文发表时间:2017-12-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏疯狂的小程序

ASP获取微信小程序的OpenID服务器端代码

尝试一下新鲜事物“微信小程序”,其中有一个业务场景,通过微信登陆小程序,这样需要获取小程序的用户ID(也就是openid)。微信小程序从安全角度考虑,不提供直接...

8038
来自专栏北京马哥教育

每个极客都应该知道的Linux技巧

检查不是由你运行的程序 难度:高级 应用程序:bash(译注:UNIX或者LINUX的shell) 想象下这个场景-你已经准备好了要和同事在办公室里对战一局快速...

30710
来自专栏逸鹏说道

当GitHub把我当成DDos攻击者拉进了黑名单中。。。

Github黑名单自救+快速稳定FQ 异常处理汇总-开发工具 http://www.cnblogs.com/dunitian/p/4522988.html 原...

3558
来自专栏云计算教程系列

5 种 Docker 日志最佳实践

微服务和容器很好地结合了,但是它们的结合让日志记录也变成了一个难题。作者在本文描述了一些因素,在设置监控的时候是需要考虑的。

9060
来自专栏aCloudDeveloper

Kubernetes 笔记 02 demo 初体验

从前面的文章我们知道,Kubernetes 脱胎于 Google 的 Borg,Borg 在 Kubernetes 诞生之初已经在 Google 内部身经百战 ...

1644
来自专栏IT技术精选文摘

窥探Nginx内部实现:如何为性能和规模进行设计

NGINX在网络性能方面处于领先地位,这一切都是由于软件的设计方式。尽管许多Web服务器和应用程序服务器使用简单的线程或基于进程的架构,但NGINX具有复杂的事...

2115
来自专栏Java架构师历程

zookeeper在Dubbo中扮演了一个什么角色,起到了什么作用

流程: 1.服务提供者启动时向/dubbo/com.foo.BarService/providers目录下写入URL 2.服务消费者启动时订阅/dubb...

2583
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十七):我要学习配置

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

2041
来自专栏coding

django2.0入门教程第一节启动开发模式下的服务器

1672
来自专栏Java帮帮-微信公众号-技术文章全总结

day01.互联网架构/Linux/YUM 【大数据教程】

day01.互联网架构/Linux/YUM 一、大型互联网架构演变历程 1. 淘宝技术这10年 1.1. 淘宝现状 高并发已经成为当前互联网企业面临的巨大挑...

3947

扫码关注云+社区

领取腾讯云代金券