<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>NotionNext BLOG</title>
        <link>https://blog.battleboy.top/</link>
        <description>这是一个由NotionNext生成的站点</description>
        <lastBuildDate>Mon, 14 Aug 2023 19:25:22 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>All rights reserved 2023, NotionNext</copyright>
        <item>
            <title><![CDATA[Record a reverse engineering, intercept and tamper with the back-end response, and successfully schedule the physical examination]]></title>
            <link>https://blog.battleboy.top/article/ff45626d-5036-46a8-8372-e3e883a7dcc0</link>
            <guid>https://blog.battleboy.top/article/ff45626d-5036-46a8-8372-e3e883a7dcc0</guid>
            <pubDate>Fri, 21 Jul 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-ff45626d503646a88372e3e883a7dcc0"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-c8e889f14969423cad8affd6db1df4cf"><div>前情提要：因为出国留学需要在`杭州国际旅行卫生保健中心`小程序上预约体检。体检有两种选择，1、自费350元，2、拥有美国签证免费体检。免费的羊毛不薅白不薅，我就提交了美国签证的证明材料。一天之后审核通过了，于是打开预约的界面。可是谁曾想到，免费的体检已经约到了8月11日（而我在8月8日就已经启程去美国了），而付费的预约却每天都有名额…这不是明显的区别对待吗？？而且只有杭州这样搞，不能忍😡😡😡😡。开始想办法绕过这一个限制，试图约上最近的体检日期。Previously: Because of studying abroad, you need to make an appointment on the mini program of Hangzhou International Travel Health Care Center. There are two options for physical examination, 1, 350 yuan at your own expense, 2, free physical examination with a US visa. The free wool was not collected, so I submitted the proof of the United States visa. A day later, the review is approved, and the appointment screen is opened. But who would have thought that the free medical examination has been about August 11 (and I have left for the United States on August 8), and the paid appointment has a place every day... Isn&#x27;t that a clear distinction? And only Hangzhou is doing this. 😡😡😡😡. Start looking for ways to get around this restriction, trying to schedule a recent medical exam date.</div></blockquote><div class="notion-text notion-block-b6eca041bc4d4d72a3f34458cc17dd5e"><code class="notion-inline-code">杭州国际旅行卫生保健中心</code> 小程序可以在电脑端微信和浏览器打开。并且其后端接口没有加密（狂喜）。这意味着我们又多了一条破解的路可以走（劫持/伪造后端响应）。</div><div class="notion-text notion-block-190061588aab4226929110318170aa91"><code class="notion-inline-code">Hangzhou International Travel Health Care Center</code> mini program can be opened on the computer side of wechat and browser. And the back-end interface is not encrypted (ecstatic). This means we have one more way to hack (hijacking/faking backend responses).</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-455f462588344a5d87cf347e0bc30a6b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff7cc015e-0ce9-4892-a07c-440b4f787e1d%2FUntitled.png?table=block&amp;id=455f4625-8834-4a5d-87cf-347e0bc30a6b" alt="notion image" loading="lazy" decoding="async"/></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-3c476d46456f41948f77701f853c105a" data-id="3c476d46456f41948f77701f853c105a"><span><div id="3c476d46456f41948f77701f853c105a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3c476d46456f41948f77701f853c105a" title="修改前端HTML属性"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">修改前端HTML属性</span></span></h3><div class="notion-text notion-block-ba418b54ff91437881a44e91a408674f">Modify front-end HTML properties</div><div class="notion-text notion-block-b032cbc44f2947a2b9f6e711abcd745e">首先尝试的肯定是最简单的，修改前端html以发送伪造的前端表单给后端。先尝试直接修改html的class类，将其篡改为可选中的日期。例如7月24日这天原本无法预约，我们打开浏览器`F12`开发者模式。仿照可选的日期将约满的属性修改成可约的class，修改成可点击。</div><div class="notion-text notion-block-facc7346b0354254a5c7cb3810cb47aa">The first attempt is certainly the easiest, modifying the front-end html to send a forged front-end form to the back-end. Try modifying the html class class directly first, changing it to a selectable date. For example, the day of July 24 could not be booked, we opened the browser &#x27;F12&#x27; developer mode. Modify the full property to a reducible class based on the optional date, to be clickable.</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-70486557abf0459398653ec4188f8b50"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:128px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5c30c3c9-6aad-4ed6-b0bc-51b290ac75f4%2FUntitled.png?table=block&amp;id=70486557-abf0-4593-9865-3ec4188f8b50" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-45fbeaea1d42405ca74a0d50305eb5b6">但是不起效果，依旧无法选中7月24日这天。说明这套程序不是按照纯html设计的。</div><div class="notion-text notion-block-7f5ab403bc3941c28f8ffce12dcdf941">However, it did not work, and still could not select July 24. This program is not designed in pure html.</div><div class="notion-text notion-block-93679626d24d4eefa324996625c48202">哪怕强行选中该日期，下面的预约时间段表单也不会触发js代码，导致下面的选择时间段界面无法跳出，同样无法点击确认按钮。</div><div class="notion-text notion-block-504dcd97ec4b4d9a8ac2a10026592888">Even if the date is forcibly selected, the following booking period form will not trigger the js code, resulting in the following selection period interface can not jump out, also can not click the confirm button.</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2b267c09f1df4564ae0568e3f430dcdf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0829928e-ba8d-4158-b4ed-7f8bf9d9f269%2FUntitled.png?table=block&amp;id=2b267c09-f1df-4564-ae05-68e3f430dcdf" alt="notion image" loading="lazy" decoding="async"/></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-364fc7fd0b5f41e5882fe64945a45cc3" data-id="364fc7fd0b5f41e5882fe64945a45cc3"><span><div id="364fc7fd0b5f41e5882fe64945a45cc3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#364fc7fd0b5f41e5882fe64945a45cc3" title="难道没有办法了吗？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">难道没有办法了吗？</span></span></h3><div class="notion-text notion-block-f50c00baf7b74f179f91f0a253670d6f">Is there no way?</div><div class="notion-text notion-block-530eff08bf7b4d01bd33976c3120408f">不晓得为什么选择时间段的菜单不会自动跳出来。即使我将可约日期的选择时间段的HTML代码复制下来拼凑到不可约日期下。照样无法选中该HTML的选择框。</div><div class="notion-text notion-block-0fe573b65c024a0298fc04c4b8f5249f">I don&#x27;t know why the menu for selecting a time period doesn&#x27;t pop up automatically. Even though I copied down the HTML code for the selected time period of the reducible date and pieced it together under the irreducible date. You still can&#x27;t check the selection box for the HTML.</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-04e05208bd5743f2bf4d4b3125ced6a9" data-id="04e05208bd5743f2bf4d4b3125ced6a9"><span><div id="04e05208bd5743f2bf4d4b3125ced6a9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#04e05208bd5743f2bf4d4b3125ced6a9" title="后端突破"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">后端突破</span></span></h3><div class="notion-text notion-block-970d59f620944af887a8f3fbdad9c4c5">Back-end breakthrough</div><div class="notion-text notion-block-58cd70f6d1484a69890952a9aefa3594">还记得我前面说的后端接口未加密吗？这很容易想到去F12的网络请求中看一下接口的响应。</div><div class="notion-text notion-block-4ea6310f1cbb4184b26a688237b9fc6a">对于每次刷新请求，前端会去发送两个请求，一个`0000050`一个`personal`。显然，对于预约名额的判断是从personal接口得出的。对于约满的日期，接口显示如下：</div><div class="notion-text notion-block-653b416fe1464ac0a8e2541faf3fc413">Remember what I said earlier about the back-end interface not being encrypted? It&#x27;s easy to think about going to F12 for a network request and seeing how the interface responds.</div><div class="notion-text notion-block-53a034840ef14bca8842d3473dd22463">For each refresh request, the front end sends two requests, one &#x27;0000050&#x27; and one &#x27;personal&#x27;. Obviously, the judgment about the reservation quota is derived from the personal interface. For the expiration date, the interface displays the following:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d0a3cc08868d4221a3aec8a37f8aa59e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:645px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc5acd2bd-6dee-4f9e-966a-3ac1dd4e22c2%2FUntitled.png?table=block&amp;id=d0a3cc08-868d-4221-a3ae-c8a37f8aa59e" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-ab1ea1822c794144b1122ee03a1160ad">对于未约满的日期，接口显示如下：</div><div class="notion-text notion-block-d0f6f404c8af41f989e49b89bab5bf4b">For unexpired dates, the interface displays the following:</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-26f7f75285ed48278524543d9dd878ce"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1272e6a9-4fd0-451a-928b-4a7be61a85eb%2FUntitled.png?table=block&amp;id=26f7f752-85ed-4827-8524-543d9dd878ce" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-9c096d0769b7435d8236f20de6f6012c">很容易能看出来，`freeCount`是判断剩余名额的变量，`disabled`为1时，代表当日无法选中。periodList代表该日期的可选时间段，也就是前面无法跳出来的表单。</div><div class="notion-text notion-block-e0aae289b55847c196c2e357c446d679">It is easy to see that &#x27;freeCount&#x27; is the variable that determines the number of remaining seats, and &#x27;disabled&#x27; is 1, which means that it cannot be selected on that day. periodList represents the optional time period for the date, which is the form that can&#x27;t pop up before.</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-f1ba2af354af4bf3a9f1b5cafc08c58c" data-id="f1ba2af354af4bf3a9f1b5cafc08c58c"><span><div id="f1ba2af354af4bf3a9f1b5cafc08c58c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f1ba2af354af4bf3a9f1b5cafc08c58c" title="如何劫持并修改后端响应呢？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">如何劫持并修改后端响应呢？</span></span></h3><div class="notion-text notion-block-51652f1a112041819e0708e24c1797a9">How do you hijack and modify the backend response?</div><div class="notion-text notion-block-8559c247f7df48e0b750ad4a77a485cd">这是一个对于前端来说可能会用到的方法，因为实际开发中，在后端未开发好的时候，为了调试前端。前端开发人员往往会用到一些工具来模拟后端的响应。然而我并没有实操过，而且后面也证实了并没有这么简单，仅仅通过手动篡改就能破解。</div><div class="notion-text notion-block-8e090f065fbd40af877834548d4745dd">去Google了一下关于如何劫持修改后端请求响应的问题。发现有一些非常好用的工具和浏览器插件。尝试了几个</div><div class="notion-text notion-block-a22f872b9e8e4c8cab456eb73731ddc4">例如某网友编写的，js代码，可以方便的直接嵌入浏览器中使用。拦截到请求过后，可以直接在弹出的消息框中修改请求和响应的参数。</div><div class="notion-text notion-block-093e07d60e064c809af41358bdd2b263">This is a method that may be used for the front end, because in actual development, when the back end is not well developed, in order to debug the front end. Front-end developers often use tools to simulate responses on the back end. However, I have not implemented it, and it has been confirmed that it is not so simple, and it can be cracked only by manual tampering.</div><div class="notion-text notion-block-4369b36ad8894dee8e0973c330c824a4">Went to Google for a question about how to hijack the response to a modified backend request. Found some very useful tools and browser plugins. Tried a few</div><div class="notion-text notion-block-ac366e5d9e84439c9a0c30b30273f133">For example, js code written by a netizen can be easily embedded directly into the browser for use. After the request is intercepted, the parameters of the request and response can be modified directly in the pop-up message box.</div><div class="notion-text notion-block-804ba66eb601415299349cc373c7a29c"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://blog.csdn.net/qq_29456953/article/details/109105125">(64条消息) 比fiddler简单，浏览器端的拦截方案，请求参数篡改，响应返回值篡改，请求和响应的拦截注入，请求前的二次确认_比fiddler好用的拦截工具_宁-苦中作乐才是人生巅峰的博客-CSDN博客</a></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-22067fe8d27649cca5f58351efb47bc3"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F08868c4d-a7aa-4200-a488-68d9300ea068%2FUntitled.png?table=block&amp;id=22067fe8-d276-49cc-a5f5-8351efb47bc3" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-febfdb8c8f0143c3b8d63f5ddbdf862c">同时我也尝试了其他例如浏览器插件等工具。发现即使篡改成功了，也无法点击（依旧显示不可约）。</div><div class="notion-text notion-block-356fb4c6c68b4d1c8c74326e34e87f0d">到这里我快要放弃了。。。。没想到这个系统设计的这么完美。猜测可能是对接口响应的时间有限制，只是手动篡改的话等修改完了就超时了。前端这个时候已经渲染好了，因为没有接收到后端的响应，前端所有日期都显示不可约了😂</div><div class="notion-text notion-block-878a9b2ed0b64584b5d0b5d4de23d957">I also tried other tools such as browser plugins. Found that even if the tampering was successful, it could not be clicked (still showing irreducibility).</div><div class="notion-text notion-block-e84856b83a554eb99cb597f97e93e066">I&#x27;m about to give up here... I didn&#x27;t realize the system was so well designed. It may be that there is a limit on the response time of the interface, but the manual tampering will timeout after the modification. The front end has rendered at this point, and since no response was received from the back end, all dates appear irreducible 😂</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-d76f108eee284ea69e97b3652887cd73" data-id="d76f108eee284ea69e97b3652887cd73"><span><div id="d76f108eee284ea69e97b3652887cd73" class="notion-header-anchor"></div><a class="notion-hash-link" href="#d76f108eee284ea69e97b3652887cd73" title="Fiddler！一款抓包工具"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Fiddler！一款抓包工具</span></span></h3><div class="notion-text notion-block-5bc27b2289ab446d96708f6bcc259942">Fiddler! A bag grab tool</div><div class="notion-text notion-block-be094bb66bc84646b1ccfcd5ad7da4be">网上搜索劫持的时候搜到了这款工具。发现自己电脑上之前好像装过这个软件。打开研究了一下。</div><div class="notion-text notion-block-dee493e0c03a4440bd87212f3ca57333">因为是https协议，首先安装好该工具的https证书。之后过滤抓取解密这个后端接口流量。</div><div class="notion-text notion-block-2abda33e2d424dc5bfbc6bd8515b49aa">It came up in an Internet search of the hijacking. I think I had this software installed on my computer. Opened it up and studied it.</div><div class="notion-text notion-block-0ccff2d611194f109849cde6fb42c945">Install the https certificate for the tool because the https protocol is used. After filtering, capture and decrypt the back-end interface traffic.</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-805dce7477fd478cab9ef11b32f0aa5c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F255a2b10-5196-46b4-942c-eab3e17abe47%2FUntitled.png?table=block&amp;id=805dce74-77fd-478c-ab9e-f11b32f0aa5c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-ad366c40b5dd46968d84d8c6b6fe665d">成功解密了。后面又发现了这个软件有个功能autoResponder。看了介绍写着`Fiddler can return previously generated responses instead of using the network`</div><div class="notion-text notion-block-b4575bfc114c40d7a1f4110db190d62c">这不正是我想要的功能吗？！！</div><div class="notion-text notion-block-5091783f2c074ecd93a544581a6ce29b">Successfully decrypted. And then it turns out that this software has a function called autoResponder. It says&#x27; Fiddler can return previously generated responses instead of using the network &#x27;</div><div class="notion-text notion-block-255e1b06a4ce4a648e70ea393554faf3">Isn&#x27;t that what I want? Daaaaaa!</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-919cd37c4d194187892ee291c383858c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:212px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fcf1fbc78-e895-4cd6-8720-f257f6e7f13f%2FUntitled.png?table=block&amp;id=919cd37c-4d19-4187-892e-e291c383858c" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-51937c213b6c462c9b5667c03eb13e0d">这个AutoResponder简而言之就是可以设定自动拦截对应url的后端请求，并由Fiddler代理响应之前的请求。噔噔咚！自动响应！</div><div class="notion-text notion-block-9e2fc8a00eb74a48acecacbd2f17e68c">我把之前请求的记录拖到AutoResponder里面，打开拦截。果然，Fiddler自动拦截了该请求！</div><div class="notion-text notion-block-066051fe0c2042a4bf0e9e57c562ea9e">The AutoResponder, in short, can be configured to automatically intercept back-end requests for the url and have the Fiddler agent respond to previous requests. Tramp, tramp, tramp! Automatic response!</div><div class="notion-text notion-block-9f1b6a7c21ed4a519e6a93816ca5aba8">I drag the record of the previous request into the AutoResponder and turn on intercept. Sure enough, Fiddler automatically intercepted the request!</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-1e552d12847c4f6cacb11682a4e72922" data-id="1e552d12847c4f6cacb11682a4e72922"><span><div id="1e552d12847c4f6cacb11682a4e72922" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1e552d12847c4f6cacb11682a4e72922" title="现在就是最后一步，修改自动拦截的响应体！"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">现在就是最后一步，修改自动拦截的响应体！</span></span></h3><div class="notion-text notion-block-91d29e3f666343398c75b18360a874fc">Now is the final step, to modify the autointercept response body!</div><div class="notion-text notion-block-85f008dfd14c443bac397aa70aab2849">根据之前的规则，我改了7月24日这天的响应参数，设置了2个freeCount和periodList。并启用自动响应规则。</div><div class="notion-text notion-block-314e718a83644c3b868ab3474941871c">According to the previous rule, I changed the response parameter on July 24th and set 2 freeCount and periodList. And enable automatic response rules.</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-8bfa8b0f110442719bbea3f07ba84240"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:597px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd101c6cc-f780-4536-8c2c-087294097727%2FUntitled.png?table=block&amp;id=8bfa8b0f-1104-4271-9bbe-a3f07ba84240" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-b8bceb9538e342d58a9f0131a2e38386">刷新界面，成功！7月24日这天成功选中，同时预约时间段也可以选择！</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6cd6aca717f54f019cf160b5c8e13f55"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:660px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fad8cdcee-33b4-4f72-89cb-6101768848df%2FUntitled.png?table=block&amp;id=6cd6aca7-17f5-4f01-9cf1-60b5c8e13f55" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-2bed6a0c149142728d6e7618b20041cf">点击确认后，来到付款时间！缴费0元，很快就收到了预约成功的通知。！</div><div class="notion-text notion-block-4693740f0f264745915578860a97c525">Click to confirm, come to the payment time! Pay 0 yuan, soon received a successful appointment notice. !</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-234ddf8a0d824a61a8b0f10a28f433ea"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:596px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc6849492-be6e-4834-9a96-9cafe39be9b8%2FUntitled.png?table=block&amp;id=234ddf8a-0d82-4a61-a8b0-f10a28f433ea" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-36a36d22616649169d627638966878a0">白嫖的感觉真不错！再一次谴责杭州国际旅行卫生保健中心的区别对待付费和免费用户行为！</div><div class="notion-text notion-block-c628cbc09e214a80a3f6de3016bcbdc0">后端还是要加密！</div><div class="notion-text notion-block-2b633578965241ab8bb976ca4f7c805a">White whoring feels so good! Once again, we condemn Hangzhou International Travel Health Care Center for discriminating between paid and free users!</div><div class="notion-text notion-block-a3f7ac97c71e4960a1bd9a1db38fd17e">The back end still needs to be encrypted!</div><div class="notion-blank notion-block-80d8b78c48f14c22b5113783f9a9024c"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[openwrt openclash+smartDNS]]></title>
            <link>https://blog.battleboy.top/article/7105bfe3-8764-4c16-8926-91935d2bdb6a</link>
            <guid>https://blog.battleboy.top/article/7105bfe3-8764-4c16-8926-91935d2bdb6a</guid>
            <pubDate>Mon, 08 May 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-7105bfe387644c16892691935d2bdb6a"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-f38399ea09e647d5b29d8049449e40a3"><div>A soft route tamper diary was recorded</div></blockquote><blockquote class="notion-quote notion-block-f6ad4ca64f004ec580f3aecffd722c8f"><div>China block the access to some aboard websites using The Great Firewall</div></blockquote><div class="notion-blank notion-block-cff78549870b4c148f3fc48fefb44216"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-0abeccb154e449dd9026359e1cd68d96" data-id="0abeccb154e449dd9026359e1cd68d96"><span><div id="0abeccb154e449dd9026359e1cd68d96" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0abeccb154e449dd9026359e1cd68d96" title="🤔 new bing and chatGPT shunt"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🤔 new bing and chatGPT shunt</span></span></h2><ol start="1" class="notion-list notion-list-numbered notion-block-e507ab36937c457eb389106c9e12d164"><li>What is the problem and background?</li></ol><div class="notion-text notion-block-a9ed0eb21d7c424db9ca949957a703d0">Microsoft conducts business in China, so the default diversion rule is to connect <a target="_blank" rel="noopener noreferrer" class="notion-link" href="http://bing.com/">bing.com</a> directly instead of the agent, which will be redirected to <a target="_blank" rel="noopener noreferrer" class="notion-link" href="http://cn.bing.com/">cn.bing.com</a>. In theory, add a shunt rule</div><div class="notion-text notion-block-5f417c9dbb4b4a0aac80c263e44f0fa1">Step 2 Get in the way</div><div class="notion-text notion-block-4b954f9af735458789509615275ad628">windows clash above to subscribe to the converted Microsoft rules to Taiwan node. However, on the soft route, I used the same steps to modify the node of Microsoft services and it did not take effect after...</div><ol start="1" class="notion-list notion-list-numbered notion-block-7dea33187f7444159159d671984167e4"><li>Accidents, turns</li></ol><div class="notion-text notion-block-a17c8582e67a4b489b1a20f993e38070">While comparing clash for windows and openclash, I found that clash records the page where the connection was made. clash on local and soft routes is inconsistent. The local clash displays all domain names while the clash on soft routes displays all ip (and the routing rules are all missing)</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-2c8cf3c4dc3f44cdbccff57cd4653421" data-id="2c8cf3c4dc3f44cdbccff57cd4653421"><span><div id="2c8cf3c4dc3f44cdbccff57cd4653421" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2c8cf3c4dc3f44cdbccff57cd4653421" title="📝 Resolve the pothole process"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">📝 Resolve the pothole process</span></span></h2><div class="notion-text notion-block-7f022508b2a547cba4e0f40b6c4baf28">Apparently, the openclash link list is full of ip addresses and matches are all missing from the net. I searched the Internet for relevant information, and as expected, it was a dns problem. Because I disabled openclash&#x27;s built-in dns service. Therefore, when accessing other domain names, clash will look for the local default dns server, namely smartdns I configured before, to find the target ip address, and clash will get the ip address after smartdns processing on behalf of SmartDNS.</div><div class="notion-text notion-block-2e6ab049aa37492da94f2f3b02d50233">This created a problem, clash couldn&#x27;t get the domain name, and the connection list was full of ip addresses that didn&#x27;t match any rules. This also shows that although I was able to go to google and youtube before, all the matching rules are missing the net. This may explain why my soft routing proxy is always very unstable.</div><div class="notion-blank notion-block-3a662fa2e33e4051bc448dd51e89fc44"> </div><div class="notion-blank notion-block-48f39a11846549cebde4e23930a76f21"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ChatGPT transformed Web interaction]]></title>
            <link>https://blog.battleboy.top/article/6b7d2ed0-7aae-4f4b-922e-0f3d1f694a9c</link>
            <guid>https://blog.battleboy.top/article/6b7d2ed0-7aae-4f4b-922e-0f3d1f694a9c</guid>
            <pubDate>Thu, 13 Apr 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-6b7d2ed07aae4f4b922e0f3d1f694a9c"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-c66a35dd12cd459caa22caa68296488e" data-id="c66a35dd12cd459caa22caa68296488e"><span><div id="c66a35dd12cd459caa22caa68296488e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c66a35dd12cd459caa22caa68296488e" title="The current web application development model"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">The current web application development model</span></span></h3><div class="notion-text notion-block-92e1a534946f4275a9b8b8e6e4b27ab4">The current model of Web application development is gradually being replaced by a model of front end separation. With the rapid development of front-end technology, more and more business logic is transferred to the front end, and the responsibilities of the back end are more focused on providing API interfaces and processing data. The emergence of this pattern makes front-end development more complex, but also provides better flexibility and maintainability.</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-868f85c5ce7d42b8a58b92810c7a85cc" data-id="868f85c5ce7d42b8a58b92810c7a85cc"><span><div id="868f85c5ce7d42b8a58b92810c7a85cc" class="notion-header-anchor"></div><a class="notion-hash-link" href="#868f85c5ce7d42b8a58b92810c7a85cc" title="Feasibility of chatGPT as middleware"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Feasibility of chatGPT as middleware</span></span></h3><div class="notion-text notion-block-601dd32abc744c0e8cf26911688b40c8">chatgpt will then replace the front end and make interface requests according to the interface specification documentation provided by the back end, which has several advantages:</div><ul class="notion-list notion-list-disc notion-block-d3dc75fc0b8f42a3b7617ad54d753bec"><li>Simplified front-end development: the front-end only needs to do static page rendering (such as tables/images), and even chatgpt can replace the front-end to render some basic pages (such as basic latex formulas, markdown syntax)</li></ul><ul class="notion-list notion-list-disc notion-block-2f1aff8471d94766842725cbbd7c9c47"><li>It is possible to interact directly with the database in natural language
After chatgpt tracks a project, the user&#x27;s simple requirements can be completed directly with natural language input, such as basic CRUD business. And chatgpt only replaces the front end to request the background interface, the specific business logic as long as the back end is well verified should not have any big problems</li></ul><ul class="notion-list notion-list-disc notion-block-3100597fb994465d9b3b3ae608c7372e"><li>For process tasks, process documents are required to be entered into chatgpt.</li></ul><div class="notion-blank notion-block-4ee662ccba3545bcb339ccde353dad05"> </div><div class="notion-blank notion-block-40a246a5f0be4a8da6862733efe3a34f"> </div><div class="notion-blank notion-block-5387383f6c4e415494575f41472ca27a"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Clash DNS service analysis]]></title>
            <link>https://blog.battleboy.top/article/b1df1ff2-f734-4feb-8c58-cfba81e9f4b6</link>
            <guid>https://blog.battleboy.top/article/b1df1ff2-f734-4feb-8c58-cfba81e9f4b6</guid>
            <pubDate>Fri, 02 Jul 2021 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-b1df1ff2f7344feb8c58cfba81e9f4b6"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-cdd45efd1ca6471d85afb995bfbcd017"><div>公司内部有自己的dns服务器，clash开启系统代理后默认也开启了本地dns服务，导致部分公司内网网站无法访问。</div></blockquote><div class="notion-text notion-block-3e0ca603cdc24d4883491cbe7b54b47b">在github/clash issue中看到解决办法，开启clash mixin模式，覆写掉clash默认配置文件，将dns enable设置为false即可解决问题。</div><div class="notion-text notion-block-bd9bc2dc0ab342e99d8943af48e456f7">&gt;  The company has its own dns server. After clash enabled the system proxy, the local dns service was also enabled by default. As a result, some Intranet websites of the company could not be accessed.</div><div class="notion-text notion-block-7569f10df5dc4497b3bfcc76a7906fe9">See the workaround in github/clash issue, enable clash mixin mode, override clash&#x27;s default configuration file, and set dns enable to false to resolve the issue.</div><div class="notion-blank notion-block-97912f8a3e1d4c4795dcfbb394e2111f"> </div><div class="notion-blank notion-block-0b929573178446d2b869b826c69e150d"> </div><div class="notion-text notion-block-3b105552883f4ff68b02d6860f028a29">同时建议设置clash的时候可以开启DOT或者DOH，可以减小域名解析污染方面的问题。详见参考文章2</div><div class="notion-text notion-block-c459543f346d4118997910320d17d7b1">It is also recommended to enable DOT or DOH when setting clash, which can reduce the problem of domain name resolution pollution. See article 2 for details</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-6f572aa000fa4e99a3b05e227b2c33dd" data-id="6f572aa000fa4e99a3b05e227b2c33dd"><span><div id="6f572aa000fa4e99a3b05e227b2c33dd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#6f572aa000fa4e99a3b05e227b2c33dd" title="参考文章"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">参考文章</span></span></h2><div class="notion-text notion-block-18518b3c0f364f2bab3a123904cff135">1、<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/Dreamacro/clash/issues/495">在 Clash 的 nameserver 里添加公司内网DNS后，部分公司内网域名无法解析 · Issue #495 · Dreamacro/clash (github.com)</a></div><div class="notion-text notion-block-1c071b61306548e9bf02cb123a3d9001">2、<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.xkww3n.cyou/2022/02/08/use-clash-dns-anti-dns-hijacking/">使用 Clash DNS 分流解析与加密 DNS 防止 DNS 劫持 - xkww3n&#x27;s site</a></div><div class="notion-text notion-block-dc5f316930fc4e9f85fbfdce4b08580d">致谢：</div><div class="notion-callout notion-gray_background_co notion-block-984099cb85ec4928b49ca8be1866b693"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💡">💡</span></div><div class="notion-callout-text">有关Notion安装或者使用上的问题，欢迎您在底部评论区留言，一起交流~</div></div><div class="notion-blank notion-block-67c451373ead4c71884db3d263493ede"> </div><div class="notion-blank notion-block-8171874ed5284761be854f5ec6aa9e3f"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[MyBatis-Plus Paging Query]]></title>
            <link>https://blog.battleboy.top/article/772af1a3-fd42-4061-b2c0-3519c2f69b05</link>
            <guid>https://blog.battleboy.top/article/772af1a3-fd42-4061-b2c0-3519c2f69b05</guid>
            <pubDate>Wed, 22 Mar 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Mybatis-plus can do paging queries in both the service and mapper layers, but it is recommended to do it in the mapper layer]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-772af1a3fd424061b2c03519c2f69b05"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-4ddc2e3d7b4249249a2478492b5a7ff0" data-id="4ddc2e3d7b4249249a2478492b5a7ff0"><span><div id="4ddc2e3d7b4249249a2478492b5a7ff0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#4ddc2e3d7b4249249a2478492b5a7ff0" title="🤔 如何使用Mybatis-plus的分页查询插件"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🤔 如何使用Mybatis-plus的分页查询插件</span></span></h2><ol start="1" class="notion-list notion-list-numbered notion-block-3e268d191a5b4646ba72f6e9d41b66e6"><li>首先在pom.xml中添加Mybatis-plus的依赖</li></ol><ol start="1" class="notion-list notion-list-numbered notion-block-c5ebea13ce4848f8be685f13e83bb9e0"><li>在Mapper接口中，继承BaseMapper，使用自带的分页方法</li></ol><ol start="1" class="notion-list notion-list-numbered notion-block-d5866fae5ac6433f9cd70bf61c4136be"><li>在Service层中，调用Mapper接口的分页方法</li></ol><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-371cb48ba29143efbbcdb9b78e1fae49" data-id="371cb48ba29143efbbcdb9b78e1fae49"><span><div id="371cb48ba29143efbbcdb9b78e1fae49" class="notion-header-anchor"></div><a class="notion-hash-link" href="#371cb48ba29143efbbcdb9b78e1fae49" title="📝主旨内容"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">📝主旨内容</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-cc03b5dafd814376bbcd71e9b5b6ff5d" data-id="cc03b5dafd814376bbcd71e9b5b6ff5d"><span><div id="cc03b5dafd814376bbcd71e9b5b6ff5d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#cc03b5dafd814376bbcd71e9b5b6ff5d" title="观点1"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">观点1</span></span></h3><div class="notion-text notion-block-41a6f26c9fef47a7aaffaf286ff965d5">Mybatis-plus是一款非常方便实用的ORM框架，分页查询插件是其重要的特性之一。</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-f3cfb3558c1048f3b59d95b08f3ff1b0" data-id="f3cfb3558c1048f3b59d95b08f3ff1b0"><span><div id="f3cfb3558c1048f3b59d95b08f3ff1b0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f3cfb3558c1048f3b59d95b08f3ff1b0" title="观点2"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">观点2</span></span></h3><div class="notion-text notion-block-d6a3e546202d41438b9f93af5cfce318">使用Mybatis-plus的分页查询插件，可以轻松地实现分页查询，避免手动编写SQL语句的繁琐。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-28d85dcc6b6041f6b436a3621f7e5f3e" data-id="28d85dcc6b6041f6b436a3621f7e5f3e"><span><div id="28d85dcc6b6041f6b436a3621f7e5f3e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28d85dcc6b6041f6b436a3621f7e5f3e" title="🤗总结归纳"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🤗总结归纳</span></span></h2><div class="notion-text notion-block-bd401ca8942445c8ab6405522f5ccaa0">Mybatis-plus的分页查询插件是一款方便实用的工具，能够极大地提高开发效率。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-0bf7952e9eb74ae2b601b815f61e252b" data-id="0bf7952e9eb74ae2b601b815f61e252b"><span><div id="0bf7952e9eb74ae2b601b815f61e252b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0bf7952e9eb74ae2b601b815f61e252b" title="参考文章"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">参考文章</span></span></h2><ul class="notion-list notion-list-disc notion-block-4f967ca660264fec98233ee92ea511d9"><li><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://baomidou.com/pages/24112f/">MyBatis-Plus (baomidou.com)</a></li></ul><ul class="notion-list notion-list-disc notion-block-14ed6085df314c9eb5c8917d3eb107d2"><li><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://mp.weixin.qq.com/s/zhYJpU7H6Uo_6dGgBtF9mg">MyBatis-Plus实战教程</a></li></ul><div class="notion-blank notion-block-5953dd3612a54750b27d68597fb3eb07"> </div><div class="notion-blank notion-block-af49fd3c8a494d4184151e05532e0095"> </div><div class="notion-blank notion-block-bd64caa1f2284297811aa7e23c5ab1c4"> </div><div class="notion-blank notion-block-adb2904c788e480b8e6fabb01f9e5641"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[USC Deposit Bug]]></title>
            <link>https://blog.battleboy.top/article/2344deb3-1ee4-4cec-a5c6-c8fc086b487a</link>
            <guid>https://blog.battleboy.top/article/2344deb3-1ee4-4cec-a5c6-c8fc086b487a</guid>
            <pubDate>Tue, 02 May 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2344deb31ee44ceca5c6c8fc086b487a"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-a5434a9b81fe4e26acf3ccf2eae61d5c">方法一：中国时间已经5月2日，显示deadline过期。因为项目选择必选项选择框是灰色的，选不了。这时候只要F12检查网页元素找到这个选择框的属性`disabled`然后删除这个属性即可勾选该选择框。选择之后，下一步支付的界面就可以进入了。说明USC只做了前端是否超出时间→能否勾选表单选择框的校验，后台并没有对当前时间做验证（大概率，需要验证）。理论上来说，任何时间哪怕过了占位费ddl很久之后都可以进入下一步交钱。</div><div class="notion-text notion-block-fac3b4df7920425e816ec8ab180474c7">Method 1: It&#x27;s already May 2nd in China, and the deadline is shown as expired. Because the required selection box for project selection is grayed out and cannot be selected. At this time, you only need to inspect the webpage elements by pressing F12 and find the attribute <code class="notion-inline-code">disabled</code> of this selection box, then delete this attribute to enable the selection box. After selecting, you can proceed to the payment page. This indicates that USC only performs front-end validation to check whether the deadline has passed and whether the form selection box can be checked, but the back-end does not validate the current time (most likely, validation is needed). In theory, at any time, even long after the deadline for paying the deposit, you can proceed to the next step of payment.</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-543968a17cdb4eea91e04ec5926ad782"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fbd8c385d-d421-4bd6-bbc0-5faffc68b4fa%2FUntitled.png?table=block&amp;id=543968a1-7cdb-4eea-91e0-4ec5926ad782" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1b120fbdc3214b2a95f741b3f6669929">选择该元素属性，删掉</div><div class="notion-text notion-block-a383a7607d964be98f19c0aac3c3dcbc">Choose the element attribute and delete it</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3ba643a182104fef996fba02d4a14f14"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa4cf7505-5934-4c8b-8830-6022861308eb%2FUntitled.png?table=block&amp;id=3ba643a1-8210-4fef-996f-ba02d4a14f14" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-00cc4de06463451191b5d7231b91e4aa">你现在即可勾选选择框</div><div class="notion-text notion-block-fb1564a2c19b4ab1a183e1db5f48caeb">You can now check the checkbox.</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-53b9ef7365ba44a3b30cda4aad0e6119"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe5c282bd-d34b-4360-824e-e986dc3e5eaf%2FUntitled.png?table=block&amp;id=53b9ef73-65ba-44a3-b30c-da4aad0e6119" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-9337413f63a14922a6a3401ede75394e">点击下一步交费</div><div class="notion-text notion-block-722040c9d9b44994942bbb44d60fa0cc">Click on the next step to make a payment.</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-d3be6223440d4f9d8fb628bd6998ea0d"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdce2dcb7-afb9-4766-817a-0147f7c9bdd9%2FUntitled.png?table=block&amp;id=d3be6223-440d-4f9d-8fb6-28bd6998ea0d" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-df901a44b1d14b26ad391b2fd3d523d6"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F11913328-5519-48e0-bdee-a5eee7fbccd3%2FUntitled.png?table=block&amp;id=df901a44-b1d1-4b26-ad39-1b2fd3d523d6" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1bed8288e126438c905664ff698f4bd7">方法二：改时区（仅限于太平洋时间UTC-12 还在DDL当日），改成时间仍为DDL内的时间，网页会获取系统时间来判定是否勾选项目进入下一步流程。（亲测 用此方法成功交费）</div><div class="notion-text notion-block-0e83d718cbca47b995d1ba61e6f28c91">Method 2: Change time zone (only applicable if Pacific Time UTC-12 is still on the deadline day) to a time that is still within the deadline. The webpage will check the system time to determine whether to proceed to the next step. (Tested and successfully paid using this method)</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-8cdf87f78717440683c059e4ee3cb537"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F9ec34c65-ea14-4f3e-a1b9-313e8a2d0fa9%2FUntitled.png?table=block&amp;id=8cdf87f7-8717-4406-83c0-59e4ee3cb537" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-a44d601e4dab4c4eb16c91d138f19d9e"> </div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>