All labs | Web Security Academy (portswigger.net)
1. Excessive trust in client-side controls
过度信任客户端控制
登录wiener:peter
,购买Lightweight "l33t" Leather Jacket
,价格是$1337.00
,下单后显示商店积分不够,不可以购买
在 Burp 中,截断Add to cart
功能,修改价格(price)为1
以满足商店的信用额度,完成订单以解决实验室。
2. High-level logic vulnerability
高级逻辑漏洞
登录wiener:peter
,把Lightweight "l33t" Leather Jacket
(轻质“l33t”皮夹克)添加到购物车,通过用 burp 抓包,发现价格参数price
没有了,剩下了数量参数quantity
。
尝试去修改数量参数quantity
为-1
,果不其然,成功修改,但下单后不被允许金额小于零,无法下单。
于是通过叠加商品,既满足Store credit
(店铺积分)100元
之内,又满足下单金额是大于零的要求
依旧是把一个Lightweight "l33t" Leather Jacket
(轻质“l33t”皮夹克)添加到购物车;再购买The Giant Enter Key
(巨型回车键),数量用1337/25.35=52.74
来计算
3. Inconsistent security controls
不一致的安全控制
在 Burp Suite 中,使用 Site map(站点地图)功能,来查看站点目录,发现路径admin
。访问/admin
,页面回显需要“DontWannaCry ”用户登录才可访问
页面右上角Register
注册一个账号,其中邮箱需要点击页面上方的Email client
获得,注册后会发来一封邮件点击验证一下,然后登录账户,紧随其后修改邮箱为 @DontWannaCry.com
这时候就可以访问管理面板了,删除用户即可
4. Flawed enforcement of business rules
有缺陷的业务规则执行
注意到页面有一个优惠券代码——NEWCUST5
,页面底部可通过注册获得优惠券代码SIGNUP30
添加商品到购物车,尝试优惠券的使用,发现连续两次输入相同的代码,不被允许,而交替使用可绕过,就一直叠加
5. Low-level logic flaw
低级逻辑缺陷
登录账号,购买商品的数量一次最多可以 +99
,可以用 Burp 的 intruder 送到 Overflow
Quote / 参考
int overflow(整数溢出)是指在计算机中,对一个整数类型(例如 int、long 等)进行计算时,结果超出了该类型可以表示的最大值(或最小值),导致结果不正确的情况。
在计算机中,整数类型的表示是有限的,即它们可以表示的范围是有限的。例如,一个 32 位的有符号整数类型 int 可以表示从 -2,147,483,648 到 2,147,483,647 的整数,如果在计算时得到的结果超过了这个范围,就会发生整数溢出。
6. Inconsistent handling of exceptional input
异常输入的不一致处理
需要进入/admin
目录,删除 Carlos。
首先注册一个用户,验证用户,返回该用户的时候发现并没有修改邮箱的选项。
于是在注册页面修改邮箱,利用长度截断(256个字符)使得注册的邮箱地址为@dontwannacry.com
。注册完验证后登录账户以便删除 Carlos。
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@dontwannacry.com.0a0800c503176684c4ae681001ba00e2.web-security-academy.net
7. Weak isolation on dual-use endpoint
两用端点上的弱隔离
登录 wiener 用户后,在修改密码的界面发现,可以修改任意“用户”的密码,但需要输入当前密码(当前密码未知),通过 burp 截断数据包分析得知,当前密码是可以删除来绕过此限制的。
8. Insufficient workflow validation
工作流程验证不足
登录账号,购买一个2.04
的商品(少于商店积分 100),观察代理历史记录,注意到下订单时,POST 请求会重定向到订单确认页面
添加1337
的那款商品,下单观察代理历史记录,研究两者之间的差异,注意到2.04
的商品 GET 请求为GET /cart/order-confirmation?order-confirmation=true
即可购买成功,把1337
的商品进行修改也可绕过限制
9. Authentication bypass via flawed state machine
通过有缺陷的状态机绕过身份验证
用 burp 拦截登录请求,Forward POST 请求,Drop Redirect,然后直接访问/admin
登录的请求有两个,第一个是 POST 请求,第二个是重定向 GET 请求,作用是选择角色转到主页,将第二个包丢弃可默认为该角色,即可访问管理面板
10. Infinite money logic flaw
无限金钱逻辑缺陷
home 页底部注册得到 SIGNUP30,可以购买 10 美元的礼品卡并从“my-account”页面兑换,兑换的过程中注意到商店信用增加了(用 Burp 或者 Python 自动执行此过程)
攻击完成后,商店的总体信用额度将提升足以购买“皮夹克”
11. Authentication bypass via encryption oracle
通过加密 oracle 绕过身份验证
登录后有一个 Stay Logged in(保持登录状态)的功能,且是加密后的
未完……
标签:下单,登录,修改,Portswigger,漏洞,l33t,注册,靶场,页面 From: https://www.cnblogs.com/yii-ling/p/17152071.html