安全测试实战演练(上)

发布于 更新于
本文目录
  1. 1. 概念介绍
  2. 1.1 xss
  3. 1.2 pr提权
  4. 2. 靶场环境
  5. 3. 安全测试流程
  6. 3.1 信息搜集
  7. 3.1.1 目录扫描
  8. 3.1.2 插件搜集
  9. 3.2 注入漏洞测试
  10. 3.3 弱口令漏洞
  11. 3.4 验证码漏洞
  12. 3.5 xss漏洞
  13. 4. 漏洞验证
  14. 4.1 注入漏洞
  15. 4.2 xss盲打
  16. 4.3 后台getshell

技术文章安全测试

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、

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 弱口令漏洞

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

  • 后台显示是XYCMS企业建站系统,这是一个商业CMS

  • 该后台可能存在弱密码,似乎无法暴力破解,因为存在验证码

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

在后台使用 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。

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

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

那就在后台试试看:

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

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

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

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

Webshell连接成功:

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

来源:testingpai

继续阅读