白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞
前言
本文针对人群:很多朋友们接触安全都是通过书籍;网上流传的 PDF;亦或是通过论坛里的文章,但可能经过了这样一段时间的学习,了解了一些常见漏洞的原理之后,对于漏洞挖掘还不是很清楚,甚至不明白如何下手。
本文针对安全初学者,讲解如何通过日常购物流程挖掘商城漏洞。涵盖注册登录环节的短信轰炸、任意注册、URL 跳转,以及搜索框的反射型 XSS、个人资料存储型 XSS、支付环节的价格篡改和 SQL 注入等常见风险点。文章提供测试思路与绕过方法参考,旨在帮助新手建立从资产收集到漏洞利用的系统化挖掘逻辑,强调在合法合规前提下进行安全测试。

本文针对人群:很多朋友们接触安全都是通过书籍;网上流传的 PDF;亦或是通过论坛里的文章,但可能经过了这样一段时间的学习,了解了一些常见漏洞的原理之后,对于漏洞挖掘还不是很清楚,甚至不明白如何下手。
可能你通过 sql-labs 初步掌握了 SQL 注入,亦或是你通过 upload-labs 初步掌握了文件上传,或者你通过 DVWA 的学习初步掌握了其他一些常见漏洞。但他们都有一个弊端是:你已经知道这个地方有漏洞,甚至你知道是什么类型的漏洞,你只要想办法利用这个漏洞就可以了。但在进行漏洞挖掘的时候:你往往不知道哪个地方有漏洞,或者说你不知道这个地方可能存在什么漏洞。
这个时候你可能需要看一下 乌云镜像站(大家可自行百度,谷歌)…通过一些前辈们的漏洞挖掘报告来了解一下:你所掌握的漏洞的常见触发点在哪,或者说一个网站哪些地方具有漏洞。
因为挖掘 SRC 不仅需要收集全面的资产,而且很多网站都有各式各样的 WAF,对于刚接触漏洞挖掘的朋友们来说就不是那么友好,所以对于刚接触漏洞挖掘的朋友们来说,在挖掘 SRC 之前,很多人都是从 补天、漏洞盒子、先知慢慢走过来的。
答:商城在日常的使用中比较普及,功能点相对来说比较多,而且我们比较熟悉网站的功能点,一是不用去很麻烦的寻找网站的功能点,毕竟大家平常都要购物。二是商城的功能点相比于一些静态网站要多很多,因此可能产生的漏洞会相对较多,故而挖掘到漏洞的几率也会提升。
答:站长之家,谷歌高级语法搜索。
由于很多大佬往往在进行漏洞挖掘的过程中,都是凭借自己写的小工具,或者是直接凭借累积的经验对功能点进行定向的漏洞挖掘。这样的高效率漏洞挖掘显然不适合一些刚接触漏洞挖掘的朋友们,那么本文中我们就先抛开这些大佬们的工具。通过正常的购物流程来对商城进行漏洞挖掘,以大家日常的生活方式挖出漏洞。
因为一些特殊原因,本文就拿 淘宝 做例子来演示以购物流程来进行漏洞挖掘。本文涉及到的漏洞在淘宝中均不存在,但大家可以自行根据文章内容举一反三。
在注册账号的时候,如果你不想因为你随手发出去的表单,而导致你的电话被打爆,可以使用一些在线接收短信的平台进行手机注册。
因此在这里提供以下几个常用的短信接码平台概念,建议自行搜索相关服务。
在进行用户注册时存在发送短信的界面。发现发送短信时不需要输入验证码才能发送,且不限制发送的验证码的次数,或发送验证码时存在绕过。
绕过姿势可参考相关安全社区文章,如安恒信息发布的关于绕过短信&邮箱轰炸限制的文章。
发现登录界面的 URL 为 https://login.taobao.com/member/login.jhtml?redirectURL=https%3A%2F%2Fwww.taobao.com。
更改 redirectURL 参数后的值为你想恶意跳转到的 URL,如:https://www.baidu.com/。登陆成功后可跳转到百度页面。
绕过姿势可参考相关安全社区文章,如安恒信息发布的关于绕过 URL 跳转限制的思路。
参考注册账号时的短信轰炸。
参考任意用户注册进行验证码的 Bypass。此外还可以参考任意用户密码重置的相关技术文章。
经过对网站的测试,发现对登录次数失败没有限制,也没有验证码的限制,因此可以直接 BurpSuite 跑大型字典,从而暴力破解账号密码。
提供以下几个生成字典方式:GitHub 上有很多收集好的字典,也可以在线生成地址生成,或者使用 pydictor 等工具。
越权是个比较抽象的东西,在这里因为篇幅的原因就不展开论述了。具体可以参考相关技术分享文章。
进入商城之后当然是挑选物品,因此在搜索框可能存在反射型 XSS。
此外:测试 XSS 就不要放过每一个搜索框,有一些商城中经常被遗漏过滤的一些地方。
在个人资料处可能存在存储型 XSS。 特别是在个人地址栏,因为可能手机信息要求必须是数字,邮箱格式必须是数字 + 字母,但是个人地址栏往往没有做出太多的过滤。
与 XSS 对应的,在商城内部同样可能存在 CSRF。 但由于现在大多数网站都具备了 CSRF token,且验证了 referer。 CSRF 的分析和利用在很多靶场和文章中已经很详细了,还有一些绕过姿势可以参考。
这里没办法进行云演示了… 上传漏洞的小结可以参考 Upload-labs 相关的 Writeup。 同时推荐大家一个 Google 的插件——Wappalyzer。 利用上传漏洞时,根据相应的中间件漏洞组合,也可能能实现巧妙的绕过效果。
表示自己曾经也能买得起面包机。 具体有几方面:第一是在购买产品过程中修改产品数量、价格;第二是在支付时修改总价格或者优惠价格;第三是直接修改充值价格。 直接修改充值价格的极其罕见,这里给出一些案例供大家参考。 由于这个漏洞比较罕见,所以这里补充一些案例供大家参考。
问:不是之前已经写过个人资料处的存储型 XSS 吗,为什么这里还要再写一遍? 答:可能有的网站注意过这个问题,在个人资料那个入口已经做出了过滤,但是在购买物品时添加的地址的确没有做出过滤。 比如曾经在对某网站测试的时候,发现个人信息的地址栏对输入的 payload 做出了过滤,但是在购买物品重新添加地址的时候,代码没有对其做出过滤,因此导致了存储型 XSS。
之所以把 SQL 注入给单独列出来,是因为 SQL 注入的触发点真的太多了,增 删 改 查,一切与数据库交互的地方都有可能进行 SQL 注入。从注册账号,到购买物品的完成。每一个 GET,POST 的参数都可能存在 SQL 注入,所以大家测试的时候需要足够的耐心和细心。我曾经就有只单独对我认为在网页上有回显的参数进行测试的坏习惯,因此遗漏了挺多测试的点,所以希望大家不要忽略掉一些参数。
关于 SQL 注入的篇幅也是巨大的,针对不同数据库的特性绕过方式也是千奇百怪,这里也不详细展开论述了。 博客里写了一些 SQL 注入的 payload 和一些常见绕过。
问:商城就只有这些漏洞吗? 答:当然不是的,可能的还有很多很多,本文仅购物流程一个思路进行漏洞挖掘,只给那些练习完靶场,但是不知道如何对一个网站下手的朋友们提供一个小思路。可以进行延伸的方面也还有很多。
问:为什么你的漏洞都没有绕过? 答:绕过需要看当时的过滤以及当时的条件,环境等,所以由于篇幅的原因没有展开论述,本文意在提供思路进行挖掘,但在每个漏洞下面都提供了一些 bypass 不错的思路的文章链接。
本文只以购买物品整个流程一个思路来进行漏洞的挖掘,只是片面的,可以进行漏洞挖掘的面还很广,挖掘思路也很多。只是根据人们日常生活操作来挖掘漏洞比较的通俗易懂,也好入手,很适合漏洞挖掘的新手挖洞。在进行购物流程中,文中有没有提到的欢迎各位师傅补充,有好的思路也请师傅们不吝赐教,有不足之处也望批评指正。
注意:所有安全测试必须在合法合规的前提下进行,未经授权不得对目标系统进行扫描或攻击。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online