CRYPTOHACK BLOCK CIPHERS
创始人
2024-02-24 09:02:28
0

一、ECB CBC WTF

题目:

from Crypto.Cipher import AESKEY = ?
FLAG = ?@chal.route('/ecbcbcwtf/decrypt//')
def decrypt(ciphertext):ciphertext = bytes.fromhex(ciphertext)cipher = AES.new(KEY, AES.MODE_ECB)try:decrypted = cipher.decrypt(ciphertext)except ValueError as e:return {"error": str(e)}return {"plaintext": decrypted.hex()}@chal.route('/ecbcbcwtf/encrypt_flag/')
def encrypt_flag():iv = os.urandom(16)cipher = AES.new(KEY, AES.MODE_CBC, iv)encrypted = cipher.encrypt(FLAG.encode())ciphertext = iv.hex() + encrypted.hex()return {"ciphertext": ciphertext}

hint:

Here you can encrypt in CBC but only decrypt in ECB. That shouldn't be a weakness because they're different modes... right?

译文:

在这里,您可以在CBC中加密,但只能在ECB中解密。这不应该是一个弱点,因为它们是不同的模式……对吧?

思路:

本题告诉了我们用CBC模式进行加密,但使用ECB进行解密,其中,我们已经知道了CBC模式中加密的IV值的大小,我们又已经知道了将密文用ECB解密的值,通过CBC模式的解密结构,我们知道将第一段密文解密后于IV进行异或运算既是原明文,而第一段密文则是第二段密文加密的IV值,所以解密时将其反过来用,作为IV解密即可:

wp:

import requests
from Crypto.Util.number import *
result=requests.get('http://aes.cryptohack.org/ecbcbcwtf/encrypt_flag')
ciphertext=result.json()["ciphertext"]
# print(result.text)# print(len(bytes.fromhex(ciphertext)))
ciphertext=bytes.fromhex(ciphertext)
c1=hex(bytes_to_long(ciphertext[0:16]))[2:]
c2=hex(bytes_to_long(ciphertext[16:32]))[2:]
c3=hex(bytes_to_long(ciphertext[32:48]))[2:]
print(c1)
print(c2)
print(c3)# C=hex(bytes_to_long(ciphertext))
# print(c1)
# print(c2)
# print(c3)
# c1=0x9d2691928a24ed9215416815e80164d1
# c2=0xf77ea0b2c315db6b56a48c8250b0c9b8
# c3=0x6a61b98b2e5d26af3976d7c36a76a847
# k1=int(c1) ^ int(c2)
# k3=int(c2) ^ int(c3)
a1=requests.get(f'http://aes.cryptohack.org/ecbcbcwtf/decrypt/{c2}')
a2=requests.get(f'http://aes.cryptohack.org/ecbcbcwtf/decrypt/{c3}')
m1=a1.json()["plaintext"]
m2=a2.json()["plaintext"]
M1=int(m1,16)^int(c1,16)
M2=int(m2,16)^int(c2,16)
print(long_to_bytes(M1)+long_to_bytes(M2))

 二、ECB Oracle

题目:

from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpadKEY = ?
FLAG = ?@chal.route('/ecb_oracle/encrypt//')
def encrypt(plaintext):plaintext &#61; bytes.fromhex(plaintext)padded &#61; pad(plaintext &#43; FLAG.encode(), 16)cipher &#61; AES.new(KEY, AES.MODE_ECB)try:encrypted &#61; cipher.encrypt(padded)except ValueError as e:return {"error": str(e)}return {"ciphertext": encrypted.hex()}</code></pre> 
<h3>hint&#xff1a;</h3> 
<blockquote> <p>ECB is the most simple mode, with each plaintext block encrypted entirely independently. In this case, your input is prepended to the secret flag and encrypted and that&#39;s it. We don&#39;t even provide a decrypt function. Perhaps you don&#39;t need a padding oracle when you have an "ECB oracle"?</p> <p><em>译文&#xff1a;</em></p> <p>ECB是最简单的模式&#xff0c;每个明文块完全独立加密。在本例中&#xff0c;您的输入被预先添加到秘密标志并加密&#xff0c;仅此而已。我们甚至不提供解密函数。或许当你有了“欧洲央行的预言者”&#xff0c;你就不需要填充预言了?</p> 
</blockquote> 
<h3>思路&#xff1a;</h3> 
<p> 本题为一道典型的ECB加密解密问题&#xff0c;首先&#xff0c;我们即不知道明文也不知道密文。我们可以发现题目中给与了我们加密算法&#xff0c;所以我们可以自己设置明文代入进行尝试&#xff1a;</p> 
<pre><code class="language-python">import requests
from tqdm import tqdm
from Crypto.Util.number import *
# m &#61; &#39;&#39;
for i in range(30):m &#61; i*&#39;61&#39;result &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)try:a &#61; result.json()["ciphertext"]print(i,len(a)//2)except:pass</code></pre> 
<p>从输出的值中&#xff0c;我们可以发现代码在第6和第22时发生改变。于是&#xff0c;我们可以推断明文为26bits长&#xff08;32 - 6、48 - 22&#xff09;&#xff0c;而加密算法中是以16bits为块进行加密和解密&#xff08;22 - 6&#xff09;。</p> 
<p>所以&#xff0c;我们可以代入15*a进行加密&#xff0c;这样前16为就为15 * a加上明文第一位&#xff0c;接着&#xff0c;我们对十六位进行暴力破解即可得到我们所需的明文第一位&#xff0c;第一到第十五位都为这个思路&#xff1a;</p> 
<pre><code class="language-python">k&#61;&#39;&#39;
for i in range(15):m &#61; &#39;61&#39;*(15-i)print(bytes.fromhex(m))result &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)m &#61; result.json()["ciphertext"]m1 &#61; m[:32]# print(m1)for j in range(32,127):m &#61; &#39;61&#39; * (15-i) &#43; km &#43;&#61; str(hex(j)[2:])result1 &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)n &#61; result1.json()["ciphertext"]n1 &#61; n[:32]# print(n1)try:if n1 &#61;&#61; m1:k &#43;&#61; str(hex(j)[2:])print(bytes.fromhex(k))breakexcept:pass# b&#39;crypto{p3n6u1n5&#39;</code></pre> 
<p>后11位思路类似&#xff0c;仅需要我们将代码扩张到前32位进行暴力破解运算&#xff1a;</p> 
<pre><code class="language-python">k&#61;&#39;63727970746f7b70336e3675316e35&#39;
for i in range(11):m &#61; &#39;61&#39;*(16-i)print(bytes.fromhex(m))result &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)m &#61; result.json()["ciphertext"]m1 &#61; m[32:64]# print(m1)for j in range(32,127):m &#61; &#39;61&#39; * (16-i) &#43; km &#43;&#61; str(hex(j)[2:])result1 &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)n &#61; result1.json()["ciphertext"]n1 &#61; n[32:64]# print(n1)try:if n1 &#61;&#61; m1:k &#43;&#61; str(hex(j)[2:])print(bytes.fromhex(k))breakexcept:pass</code></pre> 
<h3>wp&#xff1a;</h3> 
<pre><code class="language-python">import requests
from tqdm import tqdm
from Crypto.Util.number import *
# m &#61; &#39;&#39;
# for i in range(30):
#     m &#61; i*&#39;61&#39;
#     result &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)
#     try:
#         a &#61; result.json()["ciphertext"]
#         print(i,len(a)//2)
#     except:
#         passk&#61;&#39;&#39;
for i in range(15):m &#61; &#39;61&#39;*(15-i)print(bytes.fromhex(m))result &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)m &#61; result.json()["ciphertext"]m1 &#61; m[:32]# print(m1)for j in range(32,127):m &#61; &#39;61&#39; * (15-i) &#43; km &#43;&#61; str(hex(j)[2:])result1 &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)n &#61; result1.json()["ciphertext"]n1 &#61; n[:32]# print(n1)try:if n1 &#61;&#61; m1:k &#43;&#61; str(hex(j)[2:])print(bytes.fromhex(k))breakexcept:pass# b&#39;crypto{p3n6u1n5&#39;k&#61;&#39;63727970746f7b70336e3675316e35&#39;
for i in range(11):m &#61; &#39;61&#39;*(16-i)print(bytes.fromhex(m))result &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)m &#61; result.json()["ciphertext"]m1 &#61; m[32:64]# print(m1)for j in range(32,127):m &#61; &#39;61&#39; * (16-i) &#43; km &#43;&#61; str(hex(j)[2:])result1 &#61; requests.get(f&#39;http://aes.cryptohack.org/ecb_oracle/encrypt/{m}&#39;)n &#61; result1.json()["ciphertext"]n1 &#61; n[32:64]# print(n1)try:if n1 &#61;&#61; m1:k &#43;&#61; str(hex(j)[2:])print(bytes.fromhex(k))breakexcept:pass</code></pre> 
<h1>三、FLIPPING COOKIE</h1> 
<h3>题目&#xff1a;</h3> 
<pre><code class="language-python">from Crypto.Cipher import AES
import os
from Crypto.Util.Padding import pad, unpad
from datetime import datetime, timedeltaKEY &#61; ?
FLAG &#61; ?&#64;chal.route(&#39;/flipping_cookie/check_admin/<cookie>/<iv>/&#39;)
def check_admin(cookie, iv):cookie &#61; bytes.fromhex(cookie)iv &#61; bytes.fromhex(iv)try:cipher &#61; AES.new(KEY, AES.MODE_CBC, iv)decrypted &#61; cipher.decrypt(cookie)unpadded &#61; unpad(decrypted, 16)except ValueError as e:return {"error": str(e)}if b"admin&#61;True" in unpadded.split(b";"):return {"flag": FLAG}else:return {"error": "Only admin can read the flag"}&#64;chal.route(&#39;/flipping_cookie/get_cookie/&#39;)
def get_cookie():expires_at &#61; (datetime.today() &#43; timedelta(days&#61;1)).strftime("%s")cookie &#61; f"admin&#61;False;expiry&#61;{expires_at}".encode()iv &#61; os.urandom(16)padded &#61; pad(cookie, 16)cipher &#61; AES.new(KEY, AES.MODE_CBC, iv)encrypted &#61; cipher.encrypt(padded)ciphertext &#61; iv.hex() &#43; encrypted.hex()return {"cookie": ciphertext}</code></pre> 
<h3>hint&#xff1a;</h3> 
<blockquote> <p>You can get a cookie for my website, but it won&#39;t help you read the flag... I think.</p> <p><em>译文&#xff1a;</em></p> <p>你可以为我的网站获得一块cookie&#xff0c;但它不会帮助你读flag…我认为。</p> 
</blockquote> 
<h3>思路&#xff1a; </h3> 
<p>这是一到典型的CBC字节翻转问题&#xff0c;我们已知CBC的加密模式&#xff0c;其中&#xff0c;第一段密文为第一段明文于IV进行异或运算再进行AES加密&#xff0c;最终得到我们所需的第一段密文&#xff0c;第二段相比第一段既是将输入的IV改为我们求得的第一段密文。</p> 
<p>我们已知第一段明文为&#xff1a;</p> 
<pre>a1 &#61; b&#39;admin&#61;False;expi&#39;</pre> 
<p>我们需要将admin改为True&#xff0c;从而让网站以为我们拥有网站的控制权&#xff0c;因为我们通过代码可知&#xff0c;当admin&#61;True&#xff1b;时网站会返回我们flag值。所以我们需要构建一个新的IV使密文被加密后为True&#xff0c;从而骗过网站。</p> 
<p>Dec (m1) &#61; c1 ^ IV</p> 
<p>c1_new  &#61; Dec (m1) ^ IV_new</p> 
<p>其中&#xff0c;各个条件我们都已知&#xff0c;除了IV_new&#xff0c;于是&#xff0c;我们可以构建出IV_new&#xff0c;并将新的IV返回到网站中输入&#xff0c;最终求得flag。</p> 
<h3>wp&#xff1a;</h3> 
<pre><code class="language-python">import requests
from Crypto.Util.number import *result &#61; requests.get(&#39;http://aes.cryptohack.org/flipping_cookie/get_cookie&#39;)
m &#61; result.json()["cookie"]
M &#61; bytes.fromhex(m)
# print(m)
IV &#61; m[:32]
k &#61; m[32:]a1 &#61; b&#39;admin&#61;False;expi&#39;
a2 &#61; b&#39;admin&#61;True;00000&#39;
m1&#61;hex(bytes_to_long(a1))
m2&#61;hex(bytes_to_long(a2))
# print(m1)
IV_new &#61; int(m1,16)^int(m2,16)^int(IV,16)
# print(IV_new)
IV_new &#61; hex(IV_new)[2:]
print(IV_new)
result2 &#61; requests.get(f&#39;http://aes.cryptohack.org/flipping_cookie/check_admin/{k}/{IV_new}&#39;)
l &#61; result2.json()
print(l)
</code></pre> 
<h1>四、LAZY CBC</h1> 
<h3>题目&#xff1a;</h3> 
<pre><code class="language-python">from Crypto.Cipher import AESKEY &#61; ?
FLAG &#61; ?&#64;chal.route(&#39;/lazy_cbc/encrypt/<plaintext>/&#39;)
def encrypt(plaintext):plaintext &#61; bytes.fromhex(plaintext)if len(plaintext) % 16 !&#61; 0:return {"error": "Data length must be multiple of 16"}cipher &#61; AES.new(KEY, AES.MODE_CBC, KEY)encrypted &#61; cipher.encrypt(plaintext)return {"ciphertext": encrypted.hex()}&#64;chal.route(&#39;/lazy_cbc/get_flag/<key>/&#39;)
def get_flag(key):key &#61; bytes.fromhex(key)if key &#61;&#61; KEY:return {"plaintext": FLAG.encode().hex()}else:return {"error": "invalid key"}&#64;chal.route(&#39;/lazy_cbc/receive/<ciphertext>/&#39;)
def receive(ciphertext):ciphertext &#61; bytes.fromhex(ciphertext)if len(ciphertext) % 16 !&#61; 0:return {"error": "Data length must be multiple of 16"}cipher &#61; AES.new(KEY, AES.MODE_CBC, KEY)decrypted &#61; cipher.decrypt(ciphertext)try:decrypted.decode() # ensure plaintext is valid asciiexcept UnicodeDecodeError:return {"error": "Invalid plaintext: " &#43; decrypted.hex()}return {"success": "Your message has been received"}</code></pre> 
<h3>hint&#xff1a;</h3> 
<blockquote> <p>I&#39;m just a lazy dev and want my CBC encryption to work. What&#39;s all this talk about initialisations vectors? Doesn&#39;t sound important.</p> <p><em>译文&#xff1a;</em></p> <p>我只是一个懒惰的开发人员&#xff0c;希望我的CBC加密工作。这些关于初始化向量的讨论是怎么回事?听起来不重要。</p> 
</blockquote> 
<h3>思路&#xff1a;</h3> 
<p>在这道题中&#xff0c;我们有密文的生成代码&#xff0c;和密文的解密代码&#xff0c;以及flag的获得代码</p> 
<p>CBC的生成思路&#xff1a;</p> 
<p>c1 &#61; Dec(m1) ^ IV  ——&#xff08;1&#xff09;</p> 
<p>c2 &#61; Dec(m2) ^ m1  ——&#xff08;2&#xff09;</p> 
<p>c3 &#61; Dec(m3) ^ m2  ——&#xff08;3&#xff09;</p> 
<p>由于密文明文我们都可以自己设置&#xff0c;于是我们不妨让m2&#61;&#61;0&#xff1b;m1&#61;m3&#xff0c;于是让&#xff08;1&#xff09;和&#xff08;3&#xff09;进行异或运算&#xff0c;可以求得我们所需的IV值&#xff0c;将其返回网站即可&#xff1a;</p> 
<h3>wp&#xff1a;</h3> 
<pre><code class="language-python">import requests
from Crypto.Util.number import *
# a &#61; b&#39;0&#39;*16
# A &#61; hex(bytes_to_long(a))
# print(A)b &#61; &#39;61616161616161616161616161616161&#39;*3
result &#61; requests.get(f&#39;http://aes.cryptohack.org/lazy_cbc/encrypt/{b}&#39;)
m &#61; result.json()["ciphertext"]
print(m)
k1 &#61; m[:32] &#43; &#39;0&#39;*32 &#43; m[:32]
k &#61; requests.get(f&#39;http://aes.cryptohack.org/lazy_cbc/receive/{k1}&#39;)
k&#61;k.json()
print(k)b1 &#61; &#39;6161616161616161616161616161616116874d46ae7c02bcd5fe3d27fcba5b60966f8a5cc032ff235c45da24d505e288&#39;
# result1 &#61; requests.get(f&#39;http://aes.cryptohack.org/lazy_cbc/encrypt/{b1}&#39;)
# result1 &#61; result1.json()
# print(result1)key &#61; hex(int(b1[:32],16)^int(b1[64:96],16))[2:]
print(key)
m &#61; requests.get(f&#39;http://aes.cryptohack.org/lazy_cbc/get_flag/{key}&#39;)
m &#61; m.json()
print(m)M &#61; 0x63727970746f7b35306d335f703330706c335f64306e375f3768316e6b5f49565f31355f316d70307237346e375f3f7d
print(long_to_bytes(int(M)))</code></pre> 
<p></p>                <!--end::Text-->
            </div>
            <!--end::Description-->
            <div class="mt-5">
                <!--关键词搜索-->
                            </div>
            <div class="mt-5">
                <p class="fc-show-prev-next">
                    <strong>上一篇:</strong><a href="/news/show-1552400.html">创业怎么解决资金问题(创业的问题和解决方案) 创业资金都怎么解决 解决创业资金有哪些方法</a><br>
                </p>
                <p class="fc-show-prev-next">
                    <strong>下一篇:</strong><a href="/news/show-1552402.html">创业补贴,创业社保补贴 再创业可以申请一次性创业补贴吗 江阴市自主创业一次性创业补贴</a>                </p>
            </div>
            <!--begin::Block-->
            <div class="d-flex flex-stack mb-2 mt-10">
                <!--begin::Title-->
                <h3 class="text-dark fs-5 fw-bold text-gray-800">相关内容</h3>
                <!--end::Title-->
            </div>
            <div class="separator separator-dashed mb-9"></div>
            <!--end::Block-->
            <div class="row g-10">
                

            </div>


        </div>
        <!--end::Table widget 14-->
    </div>
    <!--end::Col-->

    <!--begin::Col-->
    <div class="col-xl-4 mt-0">
        <!--begin::Chart Widget 35-->
        <div class="card card-flush h-md-100">
            <!--begin::Header-->
            <div class="card-header pt-5 ">
                <!--begin::Title-->
                <h3 class="card-title align-items-start flex-column">
                    <!--begin::Statistics-->
                    <div class="d-flex align-items-center mb-2">
                        <!--begin::Currency-->
                        <span class="fs-5 fw-bold text-gray-800 ">热门资讯</span>
                        <!--end::Currency-->
                    </div>
                    <!--end::Statistics-->
                </h3>
                <!--end::Title-->
            </div>
            <!--end::Header-->
            <!--begin::Body-->
            <div class="card-body pt-3">

                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962038.html" class="text-dark fw-bold text-hover-primary fs-6">阳光照明2024年营收31.7...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">4月21日,阳光照明发布2024年年报。报告显示,公司2024年营业收入为31.76亿元,同比增长3...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962035.html" class="text-dark fw-bold text-hover-primary fs-6">进击2025:别再一门心思向前...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">来源:浪_潮新消费过去一年的消费市场,资本退潮、流量见顶、市场愈发“挑剔”,寒流平等地吹向每一个人。...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962036.html" class="text-dark fw-bold text-hover-primary fs-6">期货日报|“期权+”理念赋能 ...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">“豫见期权·衍生未来”——期权分析师培训班(第1期)在郑州举办期货日报 记者 韩乐“期权市场的蓬勃发...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962032.html" class="text-dark fw-bold text-hover-primary fs-6">疫苗销售收入减少,康华生物一季...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">转自:贝壳财经成都康华生物制品股份有限公司(以下简称“康华生物”)近日交出2024年和今年一季度的成...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962037.html" class="text-dark fw-bold text-hover-primary fs-6">创源股份2024年营收19.3...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">4月21日,创源股份发布2024年年报。报告显示,公司2024年营业收入为19.39亿元,同比增长4...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962034.html" class="text-dark fw-bold text-hover-primary fs-6">安通控股:第一季度净利润同比增...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">转自:财联社【安通控股:第一季度净利润同比增长372%】财联社4月21日电,安通控股(600179....</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962031.html" class="text-dark fw-bold text-hover-primary fs-6">哈佛、耶鲁抛售“私募资产”?美...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">最近,美国常青藤名校耶鲁大学的一项举动引发了市场的广泛关注。据报道,在总统特朗普的持续施压下,耶鲁正...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962033.html" class="text-dark fw-bold text-hover-primary fs-6">天准科技一季度营收2.19亿元...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">4月21日,天准科技发布2025年一季报。报告显示,公司一季度营业收入为2.19亿元,同比增长13....</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962028.html" class="text-dark fw-bold text-hover-primary fs-6">深天马A(000050.SZ)...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">深天马A(000050.SZ)发布2025年一季度报告,第一季度,公司实现营业收入83.12亿元,同...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962027.html" class="text-dark fw-bold text-hover-primary fs-6">全球首款!宁德时代重大发布!</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">一天之内,宁德时代发布了多个“全球首款”。4月21日下午,宁德时代在主题为“边界觉醒”的超级科技日上...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962030.html" class="text-dark fw-bold text-hover-primary fs-6">兴齐眼药2024年净利润同比增...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">兴齐眼药(300573)4月21日晚披露2024年年度报告,报告期内,公司实现营业收入19.43亿元...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962025.html" class="text-dark fw-bold text-hover-primary fs-6">昀冢科技控股子公司拟增资扩股不...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">4月21日,昀冢科技(688260)发布公告,控股子公司池州昀冢电子科技有限公司拟增资扩股并引入地方...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962029.html" class="text-dark fw-bold text-hover-primary fs-6">益禾堂活动玩出新花样,竟敢把老...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">转自:衡水日报四月春风和煦,正是放风筝的好时节。潍坊作为世界风筝的发源地,今年开启了“第42届潍坊国...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962023.html" class="text-dark fw-bold text-hover-primary fs-6">北京再推六项审评创新举措,促医...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">转自:北京日报客户端记者从市药监局了解到,北京今年推出创新服务站与产业园区联动、精准前置服务、“AI...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962021.html" class="text-dark fw-bold text-hover-primary fs-6">赵聪,已任新职</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">文化和旅游部网站最新信息显示,赵聪已任艺术司司长。▲赵聪(资料图 来源:中央民族乐团)公开信息显示,...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962026.html" class="text-dark fw-bold text-hover-primary fs-6">云中马:2024年度净利润约1...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">云中马(SH 603130,收盘价:22.75元)4月21日晚间发布年度业绩报告称,2024年营业收...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962024.html" class="text-dark fw-bold text-hover-primary fs-6">降雨结束,沙尘又来!</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">转自:西安发布今天我市小到中雨转多云降雨将于今晚结束明日我市再遇浮尘天气4月21日16时西安市气温实...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962022.html" class="text-dark fw-bold text-hover-primary fs-6">第八届浙江国际青年电影周定档今...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">来源:每日商报第八届浙江国际青年电影周定于2025年9月20日至26日在杭州举行。本届青年电影周由中...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962017.html" class="text-dark fw-bold text-hover-primary fs-6">梅花生物十大流通股东格局生变:...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">4月21日消息,梅花生物公告显示,截止2025年3月31日,相较于上一报告期,十大流通股东发生了以下...</span>
                    </div>
                    <!--end::Title-->
                </div>
                                <!--begin::Item-->
                <div class="d-flex flex-stack mb-7">
                    <!--begin::Symbol-->
                    <div class="symbol symbol-60px symbol-2by3 me-4">
                        <div class="symbol-label" style="background-image: url('/uploadfile/[db:缩略图]')"></div>
                    </div>
                    <!--end::Symbol-->
                    <!--begin::Title-->
                    <div class="m-0">
                        <a href="/news/show-1962019.html" class="text-dark fw-bold text-hover-primary fs-6">第三届中国(安徽)科交会将启 ...</a>
                        <span class="text-gray-600 fw-semibold d-block pt-1 fs-7">中新网合肥4月21日电 (记者 赵强)记者21日从安徽省政府新闻办召开的新闻发布会上获悉,第三届中国...</span>
                    </div>
                    <!--end::Title-->
                </div>
                
            </div>
            <!--end::Body-->
        </div>
        <!--end::Chart Widget 35-->
    </div>
    <!--end::Col-->
</div>



</div>
<!--end::Content container-->
</div>
<!--end::Content-->
</div>
<!--end::Content wrapper-->
<!--begin::Footer-->
<div id="kt_app_footer" class="app-footer">
    <!--begin::Footer container-->
    <div class="app-container container-xxl d-flex flex-column flex-md-row flex-center flex-md-stack py-3">
        <!--begin::Copyright-->
        <div class="text-dark order-2 order-md-1">
            <span class="text-muted fw-semibold me-1">2025 &copy;</span>
            奥飞商务网<a href="http://www.cnpinshuo.cn/">品说网</a><a href="http://yule.kcwzh.com/">卡擦娱乐网</a><a href="http://www.bitekongjian.com/">比特空间</a><a href="http://www.xingshan.vip/">星闪网</a><a href="http://cn.fadeduo.com/">发的多信息网</a><a href="http://share.office369.com/">办公分享网</a><a href="http://www.hcygmm.com/">汇川网</a><a href="http://wap.kcwzh.com/">瓦普生活网</a><a href="http://www.80hlw.com/">八零商务网</a><a href="http://www.zzdfzj.cn/">东方游戏网</a><a href="http://www.kthtea.cn/">太和茶叶网</a><a href="http://cn.yexian114.com/">野仙生活网</a><a href="http://www.hgjy100.com/">汉高教育网</a>
<a href="http://cn.gangyiku.com/">港易生活网</a>        </div>
        <!--end::Copyright-->
        <!--begin::Menu-->
        <ul class="menu menu-gray-600 menu-hover-primary fw-semibold order-1">
                        <li class="menu-item">
                <a href="/news/" target="_blank" class="menu-link px-2">资讯</a>
            </li>
                        <li class="menu-item">
                <a href="/minsheng/" target="_blank" class="menu-link px-2">民生</a>
            </li>
                        <li class="menu-item">
                <a href="/shenghuo/" target="_blank" class="menu-link px-2">生活</a>
            </li>
                    </ul>
        <!--end::Menu-->
    </div>
    <!--end::Footer container-->
</div>
<!--end::Footer-->
</div>
<!--end:::Main-->
</div>
<!--end::Wrapper-->
</div>
<!--end::Page-->
</div>
<!--end::App-->
<div id="kt_scrolltop" class="scrolltop" data-kt-scrolltop="true">
    <!--begin::Svg Icon | path: icons/duotune/arrows/arr066.svg-->
    <span class="svg-icon">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
            <rect opacity="0.5" x="13" y="6" width="13" height="2" rx="1" transform="rotate(90 13 6)" fill="currentColor"></rect>
            <path d="M12.5657 8.56569L16.75 12.75C17.1642 13.1642 17.8358 13.1642 18.25 12.75C18.6642 12.3358 18.6642 11.6642 18.25 11.25L12.7071 5.70711C12.3166 5.31658 11.6834 5.31658 11.2929 5.70711L5.75 11.25C5.33579 11.6642 5.33579 12.3358 5.75 12.75C6.16421 13.1642 6.83579 13.1642 7.25 12.75L11.4343 8.56569C11.7467 8.25327 12.2533 8.25327 12.5657 8.56569Z" fill="currentColor"></path>
        </svg>
    </span>
    <!--end::Svg Icon-->
</div>
<!--begin::Javascript-->
<script>var hostUrl = "/static/default/pc/";</script>
<!--begin::Global Javascript Bundle(mandatory for all pages)-->
<script src="/static/default/pc/plugins/global/plugins.bundle.js"></script>
<script src="/static/default/pc/js/scripts.bundle.js"></script>
<!--end::Global Javascript Bundle-->

<!--end::Javascript-->
</body>
<!--end::Body-->
</html>