1.1 xss
XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash 或者甚至是普通的 HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和 cookie 等各种内容。
参考资料:百度百科
1.2 pr 提权
PR 提权利用 Windows 的一个本地溢出漏洞,主要作用就是可以将低权限用户提升为系统权限,常见于 webshell 提权,补丁号为 KB952004。
攻击机:Mac ip:10.211.55.2
靶机:Windows Server2003 + xycms
搬家网站 ip:10.211.55.17:81
考察安全测试能力:
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 弱口令漏洞
当前后台有以下几个信息:
对于以上信息,首先进行弱口令尝试。
在后台使用 admin admin 进行测试发现,可以直接进入后台,因此存在弱口令漏洞。
而且在这里发现一个 bak 文件,应该是备份文件。点开下载下试试看:
所以这里的当前文件没啥意义。
3.4 验证码漏洞
同样在后台界面,当我们使用 Burpsuite 进行暴力破解的时候,虽然存在验证码,但是经过测试,这里的验证码可以多次复用,因此存在验证码复用漏洞。
3.5 xss 漏洞
在浏览网站的时候,看到在此处可以填写预约信息,根据经验得知:此类 cms 应该存在 xss 漏洞,后期的时候会进行测试。
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 安全测试阶段任务完成。
下面是一份配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
这些都可以在公众号:伤心的辣条 ! 免费领取,还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…