安全测试实战演练(上)

本贴最后更新于 1125 天前,其中的信息可能已经时移世改

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安全测试阶段任务完成。

  • 安全
    52 引用 • 44 回帖 • 2 关注
回帖
请输入回帖内容 ...