安全测试实战演练(上)

1. 概念介绍

1.1 xss

XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash 或者甚至是普通的 HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和 cookie 等各种内容。
参考资料:百度百科

1.2 pr 提权

PR 提权利用 Windows 的一个本地溢出漏洞,主要作用就是可以将低权限用户提升为系统权限,常见于 webshell 提权,补丁号为 KB952004。

2. 靶场环境

攻击机:Mac ip:10.211.55.2

靶机:Windows Server2003 + xycms

搬家网站 ip:10.211.55.17:81

考察安全测试能力:

image.png

3. 安全测试流程

ps:当前靶场有多种安全方案可进行测试,文章中的方案仅供参考 !

3.1 信息搜集

浏览网站:

3.1.1 目录扫描

在这里先使用目录扫描器扫描下目录:

dirsearch -u http://10.211.55.17:81/

image.png

[14:59:34] 301 -  149B  - /js  ->  http://10.211.55.17:81/js/
[14:59:34] 403 -   32B  - /%2e%2e//google.com
[14:59:34] 500 -    3KB - /.ashx
[14:59:34] 500 -    3KB - /.asmx
[14:59:34] 500 -    3KB - /.aspx
[14:59:34] 500 -    3KB - /.axd
[14:59:37] 301 -  152B  - /ADMIN  ->  http://10.211.55.17:81/ADMIN/
[14:59:37] 301 -  152B  - /Admin  ->  http://10.211.55.17:81/Admin/
[14:59:38] 500 -    3KB - /Trace.axd
[14:59:39] 500 -    3KB - /WebResource.axd?d=LER8t9aS
[14:59:39] 403 -   32B  - /\..\..\..\..\..\..\..\..\..\etc\passwd
[14:59:40] 301 -  152B  - /admin  ->  http://10.211.55.17:81/admin/
[14:59:40] 200 -    3KB - /admin/
[14:59:40] 200 -    3KB - /admin/?/login
[14:59:46] 301 -  153B  - /editor  ->  http://10.211.55.17:81/editor/
[14:59:46] 200 -    1KB - /editor/
[14:59:46] 500 -    3KB - /elmah.axd
[14:59:48] 301 -  153B  - /images  ->  http://10.211.55.17:81/images/
[14:59:48] 200 -    3KB - /images/
[14:59:48] 301 -  150B  - /inc  ->  http://10.211.55.17:81/inc/
[14:59:48] 200 -  806B  - /inc/
[14:59:48] 200 -  739B  - /js/
[14:59:53] 500 -    3KB - /service.asmx
[14:59:54] 301 -  152B  - /style  ->  http://10.211.55.17:81/style/
[14:59:55] 500 -    3KB - /umbraco/webservices/codeEditorSave.asmx
[14:59:56] 500 -    3KB - /web.config

Task Completed

这里应该是有后台之类的信息。

3.1.2 插件搜集

通过 Wappalyzer 插件搜集得到的信息可以发现:

该系统应该是运行在 Windows Server 上,而且网站运行的语言是 asp,Web 服务器位 <IIS

3.2 注入漏洞测试

正常的页面: http://10.211.55.17:81/news_detail.asp?id=109

加了单引号之后的页面:http://10.211.55.17:81/news_detail.asp?id=109'

因此,这里怀疑可能存在 SQL 注入。

3.3 弱口令漏洞

当前后台有以下几个信息:

对于以上信息,首先进行弱口令尝试。

在后台使用 admin admin 进行测试发现,可以直接进入后台,因此存在弱口令漏洞。

而且在这里发现一个 bak 文件,应该是备份文件。点开下载下试试看:

所以这里的当前文件没啥意义。

3.4 验证码漏洞

同样在后台界面,当我们使用 Burpsuite 进行暴力破解的时候,虽然存在验证码,但是经过测试,这里的验证码可以多次复用,因此存在验证码复用漏洞。

3.5 xss 漏洞

在浏览网站的时候,看到在此处可以填写预约信息,根据经验得知:此类 cms 应该存在 xss 漏洞,后期的时候会进行测试。

4. 漏洞验证

4.1 注入漏洞

在 3.2 中,已经发现了此处可能存在 SQL 注入漏洞,因此在这里使用 sqlmap 进行测试

sqlmap -u http://10.211.55.17:81/news_detail.asp?id=109

此时发现存在布尔盲注,而且数据库是 access 的,对于该类数据库,可以使用 Pangolin(穿山甲) 注入工具进行快速注入

此时同样快速发现存在注入。

直接获取数据库账号和密码信息:

得到此时的账号和密码的 md5 值:

admin|21232f297a57a5a743894a0e4a801fc3|

对此时的 md5 尝试进行解密:

密码为 admin

4.2 xss 盲打

盲打意味着不清楚何处可能存在 xss 漏洞,在多个能够插入 js 语句的地方进行测试。

在 3.5 中,证明该 cms 可能存在 xss 漏洞,因此在这里可以进行测试

首先在自行搭建的 xss 平台上设置一个 xss 的 payload

复制当前的 payload,在刚刚的留言板里面插入,此时修改下前端代码,直接将 xss 代码都插入进去:

此时,显示 xss 语句已经插入成功。

根据刚刚已知后台的地址和密码进行登录,点击在线预约管理,可以看到此处的留言都是看不到的,任意打开一个看看。

打开之后,看不到什么有效信息:

此时去 xss 平台中进行查看:

此时可以看到,已经获取到了后台的地址和 cookie 信息。

在这里通过另外一个新的浏览器上访问 http://10.211.55.17:81/index.asp,并使用 Cookie Editor 将刚刚的 cookie 进行替换。

再访问 http://10.211.55.17:81/admin/xycms.asp 此时成功进入后台。

因此证明该网站存在 存储型XSS 漏洞。

4.3 后台 getshell

在进入后台之后,尝试获取一个 shell。

在后台发现,此 cmsXYCMS,在网上搜集关于此 cms 的漏洞:

在网上找到一篇 xycms 后台 getshell 的方法:

那就在后台试试看:

在网站名称处插入该一句话(其实在这里,网站名称、网站描述、网站关键字处任选一处均可),然后保存系统设置。

访问:http://10.211.55.17:81/inc/config.asp

用 webshell 管理工具进行连接,此处用蚁剑:

如下图添加之后,双击打开:

Webshell 连接成功:

至此,Web 安全测试阶段任务完成。

  • 安全
    34 引用 • 39 回帖 • 1 关注
回帖
请输入回帖内容 ...