<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/scripts/pretty-feed-v3.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:h="http://www.w3.org/TR/html4/"><channel><title>Hack Your Heart</title><link>https://h4cker.zip/tags/%E6%9C%80%E5%A4%A7%E9%95%BF%E5%BA%A6%E6%88%AA%E6%96%AD/</link><description>临渊羡鱼，不如退而结网</description><generator>Hugo 0.168.0</generator><language>en</language><atom:link href="https://h4cker.zip/tags/%E6%9C%80%E5%A4%A7%E9%95%BF%E5%BA%A6%E6%88%AA%E6%96%AD/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Mon, 16 Jun 2025 22:40:29 +0800</lastBuildDate><item><title>Yakit打BurpSuite靶场—业务逻辑漏洞篇</title><link>https://h4cker.zip/b82ed0/</link><pubDate>Mon, 16 Jun 2025 22:40:29 +0800</pubDate><guid isPermaLink="true">https://h4cker.zip/b82ed0/</guid><description/><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 id="lab-1">Lab 1<a class="anchor" href="#lab-1">#</a></h3>
<p>抓 Add to cart的包，改价格</p>
<h3 id="lab-2">Lab 2<a class="anchor" href="#lab-2">#</a></h3>
<p>先添加到购物车</p>
<p>再添加一样商品，抓 Add to cart的包，改数量为负，使总价位于0到资金之间</p>
<p>总价为负和皮夹克数量为负都不行</p>
<h3 id="lab-3">Lab 3<a class="anchor" href="#lab-3">#</a></h3>
<p>注册后，修改个人邮箱为<code>@DontWannaCry.com</code>结尾，然后访问<code>/admin</code></p>
<h3 id="lab-4">Lab 4<a class="anchor" href="#lab-4">#</a></h3>
<p>顶部给了优惠码</p>
<p>底部有个订阅新闻，随便写个邮箱，送一个优惠码</p>
<p>这俩优惠码连续使用会报错，交替使用则可以一直优惠</p>
<h3 id="lab-5">Lab 5<a class="anchor" href="#lab-5">#</a></h3>
<p>最大值溢出，不用线程为1也行，只要跑到金额为负，然后变正数就行，因为这个时候，你减少物品，总价格可以随意下调</p>
<h3 id="lab-6">Lab 6<a class="anchor" href="#lab-6">#</a></h3>
<p>最大长度截断</p>
<p>注册邮箱与后台验证邮箱逻辑不一致，注册时随便写多长。验证邮箱却截取前255位。所以控制长度，把<code>DontWannaCry.com</code></p>
<p>刚好处在前255位字符末尾即可</p>
<h3 id="lab-7">Lab 7<a class="anchor" href="#lab-7">#</a></h3>
<p>修改administrator的密码，删除修改密码post包中的当前密码参数，即可成功修改</p>
<h3 id="lab-8">Lab 8<a class="anchor" href="#lab-8">#</a></h3>
<p>买一件便宜的，抓他的买单响应包就是那个303的包，然后买皮夹克的时候，把响应修改成买单成功的就行</p>
<h3 id="lab-9">Lab 9<a class="anchor" href="#lab-9">#</a></h3>
<p>把登录成功的302跳转路径修改为admin</p>
<h3 id="lab-10">Lab 10<a class="anchor" href="#lab-10">#</a></h3>
<p>买礼品卡，用优惠券，买单，获取礼品码，兑换</p>
<p>每次多3块钱，用yakit序列做</p>
<p>tips：第一个卖礼品卡的节点设置并发1，延迟几秒；买单后不要重定向，直接访问重定向后的那个页面，Xpath提取礼品码；优惠券是减30%，所以夹克九百多块钱就能拿下</p>
<h3 id="lab-11">Lab 11<a class="anchor" href="#lab-11">#</a></h3>
<p>发评论时，邮件地址写个非法的，他会在文章里打印出来。实际上是拼接上“Invalid email address: ”加密后作为cookie传递给文章页面的，文章页面解密后打印明文。</p>
<p>stay-logged-in的加密跟这个一致，logged解密出来是  <code>用户名:时间戳</code>，所以设想用户名用administrator替换后加密，放到logged里，让服务器认为我们是管理员。但是这样尝试后，发现解密出来会拼接invalid，前面那个字符串是23长度。</p>
<p>先url解码，base64解码，得到密文，密文删去前23个，再传入，回显说要16倍数。说明我们删去前23个，但是尾部那里补全是出错的，那我们先将用户名前面加9个垃圾字符，这样前面凑够了32个长度。删除前32个也不影响administrator的开头。故技重施，发现解密出来的明文的确没有了invalid，所以把这个编码后的替换到logged和session里，访问/admin即可</p>
<h3 id="lab-12">Lab 12<a class="anchor" href="#lab-12">#</a></h3>
<p>题目让学习<a
  href="https://portswigger.net/research/splitting-the-email-atom" rel="nofollow noopener noreferrer" target="_blank"
  >Splitting the Email Atom: Exploiting Parsers to Bypass Access Controls<span style="user-select:none"> ↗</span></a
>
，受益匪浅</p>
<p>原来电子邮件不但能编码，还能注释。</p>
<p>注册邮箱写：<code>=?utf-7?q?attacker&amp;AEA-exploit-0a9f00fc04abbc7781a74287019e0063.exploit-server.net&amp;ACA-?=@ginandjuice.shop</code></p>
]]></content:encoded><h:img src="https://h4cker.zip/b82ed0/Business_logic_vulnerabilities_cover.webp"/><enclosure url="https://h4cker.zip/b82ed0/Business_logic_vulnerabilities_cover.webp"/><category>最大值溢出</category><category>最大长度截断</category><category>逻辑漏洞</category><category>邮件地址解析</category></item></channel></rss>