免责声明
本博客文章仅供教育和研究目的使用。本文中提到的所有信息和技术均基于公开来源和合法获取的知识。本文不鼓励或支持任何非法活动,包括但不限于未经授权访问计算机系统、网络或数据。
作者对于读者使用本文中的信息所导致的任何直接或间接后果不承担任何责任。包括但不限于因使用本文所述技术而可能导致的法律诉讼、财产损失、隐私泄露或其他任何形式的责任。
在进行任何渗透测试或安全研究之前,请确保您已获得所有必要的授权,并遵守适用的法律和道德准则。未经授权的安全测试可能违反法律,并可能导致严重的法律后果。
本文中的内容仅供参考,不应被视为专业建议。在进行任何安全相关活动之前,建议咨询具有相应资质的专业人士。
作者保留对本博客文章的所有权利,并有权在未经通知的情况下进行修改或删除。
正文部分
前期准备:
目标:体验综合性靶场
系统环境:
攻击机:Windows 10
靶机:192.168.162.100:8086
工具:
Google浏览器、VSCode、BurpSuite、HackBar
体验过程:
1.暴力破解
(1) 基于表单的暴力破解
随便输入,可以得出提交方式为post,召唤 BurpSuite 协助暴力破解
这里是刚才输入的信息,Ctrl+i 键发送到 Intruder 模块
选择完了之后,到 Payloads 里面,先给第一个变量赋值,然后给第二个变量赋值,完事之后就可以开始爆破了
点击 Length 使其那一列升序或者降序排列,找出最特殊的那几个数字,对应的就是正确的用户名和密码,我这里爆破了三个,使用 admin/123456 试试看。
将刚才复制的数据包替换原本的数据包
放包之后可以看到页面显示 login success
(2) 验证码绕过(on server)
这次假设已知用户名(admin),使用 BurpSuite(以下简称 bp)抓包进行暴力破解
老样子,Ctrl+i,将密码加入变量,攻击类型选择第一个(Sniper),在 Payload 中添加密码字典,开始爆破,呃~出了点问题,验证码出错了,哈哈哈哈,在数据包中改一下就好了。
(3) 验证码绕过(on client)
这一关的验证码在客户端进行验证,来看看网页源代码
在前端使用 JavaScript 验证的验证码不是绝对安全的,如果将浏览器中的 JavaScript 关掉,那么负责判断验证码部分的 js 代码就会失效,从而绕过验证码
可以看到,原本验证码的部分已经没有了内容,并且输入了 admin/123456 后成功登录
当然也可以选择使用 bp 进行暴力破解,步骤和前两题一样,没什么好解释的了
(4) token 防爆破
从数据包中,可以看到有了 token,先试试常规的 bp 爆破
完事之后居然没有一个成功的,将数据包发到 Repeater 中,Ctrl+r 看看返回的数据包是怎么个事
猜测 token 是变化的,验证一下,先关闭拦截,打开开发者工具,刷新一下网页试试。好吧,token 确实是变化的,听说 bp 也可以爆破出来,不过我不会,哈哈,我借鉴了大佬的 Python 脚本
后面再研究一下 bp 爆破
2.Cross-Site Scripting
(1) 反射型 xss(get)
这第一关作者还留了点小心思,限制了用户输入的长度,问题不大,双击 20 改一下就行了
payload:<script>alert(/xss/)</script>
(2) 反射型 xss(post)
用前面暴力破解出来的 admin/123456 登录一下试试
居然进来了,那就上 xss 代码吧
payload:<script>alert(/xss/)</script>
(3) 存储型 xss
这一关是一个留言板,先随便输入一点东西看看效果
试试将 cookie 打印到页面上
效果还不错
payload:<script>document.write(document.cookie)</script>
(4) DOM 型 xss
这一关也比较有意思,输入内容,点击按钮,内容传到了 href 中,那么,这关就可以使用javascript 伪协议完成 xss 注入,测试一下看看效果
payload:javascript:alert(/xss/)
(5) DOM 型 xss-x
输入内容,跟着链接点,发现内容再次到了 href 中
用上把的 payload 试一下
效果不错,payload 这关就不写了
(6) xss 之盲打
输入内容,猜测内容被传到了后台管理员处,根据靶场提示登录后台看看情况
刚才输入的内容被保存到了这里,那么可以试试用 xss 将 cookie 打印出来,又或者是使用不存在的图片带上具有 xss 的属性将 cookie 打印拿出来,先操作起来
看起来效果不错
payload:
直接打印到页面上
<script>document.write(document.cookie)</script>
管理员出于好奇,鼠标滑动到图片标志上时触发 xss 恶意代码
<img src=xss οnmοusemοve=document.write(document.cookie)>
(7) xss 之过滤
输入了个 yes 之后,居然让我做到人民广场 ~_~
直接上代码(<script>alert(1)</script>),看看怎么个事
居然被过滤了,试试伪协议
我发现了,盲猜只要带有 script 关键字的代码都会被过滤,那就试试 <img> 标签
payload:<img src=xss οnmοusemοve=alert(/xss/)>
(8) xss 之 htmlspecialchars
来一段简单的注入看看效果
放超链接去了,试试伪协议
payload:javascript:alert(/xss/)
试一下将 href 属性的引号闭合,查看网页源代码,可以看到 href 的引号为单引号,开始整活
payload:' οnmοusemοve=alert(/xss/) '
(9) xss 之 href 输出
这题让输入常用的网站,来个购物商城的吧
这么整的话那就可以上伪协议了
又试了一下闭合 href ,发现没有成功,看了源码之后发现进行了 HTML 实体编码操作
所以 payload:javascript:alert(/xss/)
(10) xss 之 js 输出
先输入 24 号 kobe 看看效果