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
考察安全测试能力:
3. 安全测试流程
ps:当前靶场有多种安全方案可进行测试,文章中的方案仅供参考 !
3.1 信息搜集
浏览网站:
3.1.1 目录扫描
在这里先使用目录扫描器扫描下目录:
dirsearch -u http://10.211.55.17:81/
[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.com!
注册 关于