{"id":1949,"date":"2023-12-20T18:49:00","date_gmt":"2023-12-20T10:49:00","guid":{"rendered":"https:\/\/www.zhiwanyuzhou.com\/?p=1949"},"modified":"2023-12-20T13:34:16","modified_gmt":"2023-12-20T05:34:16","slug":"ctf-pwn%e6%8a%80%e5%b7%a7%e4%b9%8b%e5%a0%86%e7%bb%93%e6%9e%84","status":"publish","type":"post","link":"https:\/\/www.zhiwanyuzhou.com\/index.php\/2023\/12\/20\/ctf-pwn%e6%8a%80%e5%b7%a7%e4%b9%8b%e5%a0%86%e7%bb%93%e6%9e%84\/","title":{"rendered":"CTF-PWN\u6280\u5de7\u4e4b\u5806\u7ed3\u6784"},"content":{"rendered":"\n<h2>\u4e00\u3001\u4ec0\u4e48\u662f\u5806<\/h2>\n\n\n\n<p>\u5728\u7a0b\u5e8f\u8fd0\u884c\u8fc7\u7a0b\u4e2d\uff0c\u5806\u53ef\u4ee5\u63d0\u4f9b\u52a8\u6001\u5206\u914d\u7684\u5185\u5b58\uff0c\u5141\u8bb8\u7a0b\u5e8f\u7533\u8bf7\u5927\u5c0f\u672a\u77e5\u7684\u5185\u5b58\u3002\u5806\u5176\u5b9e\u5c31\u662f\u7a0b\u5e8f\u865a\u62df\u5730\u5740\u7a7a\u95f4\u7684\u4e00\u5757\u8fde\u7eed\u7684\u7ebf\u6027\u533a\u57df\uff0c\u5b83\u7531\u4f4e\u5730\u5740\u5411\u9ad8\u5730\u5740\u65b9\u5411\u589e\u957f\u3002\u6211\u4eec\u4e00\u822c\u79f0\u7ba1\u7406\u5806\u7684\u90a3\u90e8\u5206\u7a0b\u5e8f\u4e3a\u5806\u7ba1\u7406\u5668\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"587\" src=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-13-1024x587.png?v=1703042330\" alt=\"\" class=\"wp-image-1977\" srcset=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-13-1024x587.png?v=1703042330 1024w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-13-300x172.png?v=1703042330 300w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-13-768x440.png?v=1703042330 768w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-13.png?v=1703042330 1232w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2>\u4e8c\u3001\u5806\u7ed3\u6784<\/h2>\n\n\n\n<h4>1\u3001malloc_chunk\u7ed3\u6784\u4f53<\/h4>\n\n\n\n<p>\u5728\u6e90\u7801 <a rel=\"noreferrer noopener\" href=\"https:\/\/www.zhiwanyuzhou.com\/download\/Software\/glibc\/glibc-2.26\/malloc\/malloc.c\" data-type=\"URL\" data-id=\"https:\/\/www.zhiwanyuzhou.com\/download\/Software\/glibc\/glibc-2.26\/malloc\/malloc.c\" target=\"_blank\">glibc-2.26\/malloc\/malloc.c<\/a> \u6587\u4ef6\u4e2d\u5b9a\u4e49\u4e86\u5806\u5757\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5206\u4e3a\u4ee5\u4e0b\u51e0\u4e2a\u5b57\u6bb5<\/p>\n\n\n\n<pre class=\"wp-block-code has-palette-color-4-color has-palette-color-8-background-color has-text-color has-background\"><code>struct malloc_chunk {\r\n\r\n  INTERNAL_SIZE_T      mchunk_prev_size;  \/* Size of previous chunk (if free).  *\/\r\n  INTERNAL_SIZE_T      mchunk_size;       \/* Size in bytes, including overhead. *\/\r\n\r\n  struct malloc_chunk* fd;         \/* double links -- used only if free. *\/\r\n  struct malloc_chunk* bk;\r\n\r\n  \/* Only used for large blocks: pointer to next larger size.  *\/\r\n  struct malloc_chunk* fd_nextsize; \/* double links -- used only if free. *\/\r\n  struct malloc_chunk* bk_nextsize;\r\n};<\/code><\/pre>\n\n\n\n<h4>2\u3001\u6700\u5c0f\u5806\u7ed3\u6784<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>mchunk_prev_size<\/td><td>mchunk_size       <\/td><\/tr><tr><td>fd<\/td><td>bk<\/td><\/tr><tr><td>fd_nextsize<\/td><td>bk_nextsize<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u89e3\u91ca\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul>\n<li>mchunk_prev_size\uff1a\u524d\u4e00\u5806\u5757\u7684\u5927\u5c0f\uff0cfree\u7684\u65f6\u5019\u6709\u6548<\/li>\n\n\n\n<li>mchunk_size\uff1a\u5f53\u524d\u5806\u5757\u7684\u5927\u5c0f\uff0c\u5176\u4e2d\u5305\u542b3\u4e2a\u6bd4\u7279\u4f4d\uff1aA\/M\/P\uff0cA\u8868\u793a\u662f\u5426\u5c5e\u4e8e\u4e3b\u5206\u914d\u533a\uff0cM\u5219\u8868\u793a\u5f53\u524d\u5185\u5b58\u533a\u57df\u83b7\u5f97\u7684\u865a\u62df\u5185\u5b58\uff081\uff1ammap\uff0c0\uff1aheap\u533a\u57df\uff09\uff0cP\u8868\u793a\u524d\u4e00\u4e2a\u5757\u662f\u5426\u6b63\u5728\u4f7f\u7528<\/li>\n\n\n\n<li>fd\uff1a\u540e\u4e00\u5806\u5757\u7684\u5730\u5740\uff0cfree\u7684\u65f6\u5019\u6709\u6548<\/li>\n\n\n\n<li>bk\uff1a\u524d\u4e00\u5806\u5757\u7684\u5730\u5740\uff0cfree\u7684\u65f6\u5019\u6709\u6548<\/li>\n\n\n\n<li>fd_nextsize\uff1a\u540e\u4e00\u5806\u5757\u7684\u5927\u5c0f\uff0cfree\u7684\u65f6\u5019\u6709\u6548\uff0c\u5806\u5757\u4e3aLarge bin<\/li>\n\n\n\n<li>bk_nextsize\uff1a\u524d\u4e00\u5806\u5757\u7684\u5927\u5c0f\uff0cfree\u7684\u65f6\u5019\u6709\u6548\uff0c\u5806\u5757\u4e3aLarge bin<\/li>\n<\/ul>\n\n\n\n<p>\u5173\u4e8e3\u4e2a\u6bd4\u7279\u4f4d\u7684\u5b9a\u4e49\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code has-palette-color-4-color has-palette-color-8-background-color has-text-color has-background\"><code>\/* size field is or'ed with PREV_INUSE when previous adjacent chunk in use *\/\r\n#define PREV_INUSE 0x1\r\n\r\n\/* extract inuse bit of previous chunk *\/\r\n#define prev_inuse(p)       ((p)->mchunk_size &amp; PREV_INUSE)\r\n\r\n\r\n\/* size field is or'ed with IS_MMAPPED if the chunk was obtained with mmap() *\/\r\n#define IS_MMAPPED 0x2\r\n\r\n\/* check for mmap()'ed chunk *\/\r\n#define chunk_is_mmapped(p) ((p)->mchunk_size &amp; IS_MMAPPED)\r\n\r\n\r\n\/* size field is or'ed with NON_MAIN_ARENA if the chunk was obtained\r\n   from a non-main arena.  This is only set immediately before handing\r\n   the chunk to the user, if necessary.  *\/\r\n#define NON_MAIN_ARENA 0x4\r\n\r\n\/* Check for chunk from main arena.  *\/\r\n#define chunk_main_arena(p) (((p)->mchunk_size &amp; NON_MAIN_ARENA) == 0)\r\n\r\n\/* Mark a chunk as not being on the main arena.  *\/\r\n#define set_non_main_arena(p) ((p)->mchunk_size |= NON_MAIN_ARENA)\r\n\r\n\r\n\/*\r\n   Bits to mask off when extracting size\r\n\r\n   Note: IS_MMAPPED is intentionally not masked off from size field in\r\n   macros for which mmapped chunks should never be seen. This should\r\n   cause helpful core dumps to occur if it is tried by accident by\r\n   people extending or adapting this malloc.\r\n *\/\r\n#define SIZE_BITS (PREV_INUSE | IS_MMAPPED | NON_MAIN_ARENA)\r\n\r\n\/* Get size, ignoring use bits *\/\r\n#define chunksize(p) (chunksize_nomask (p) &amp; ~(SIZE_BITS))\r\n\r\n\/* Like chunksize, but do not mask SIZE_BITS.  *\/\r\n#define chunksize_nomask(p)         ((p)->mchunk_size)\n\n......<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u5f97\u51fa\uff0c\u5806\u5757\u7684\u5b9e\u9645\u5927\u5c0f\u4e3amchunk_size &amp; ~(1 | 2 | 4)\u7684\u503c\u3002<\/p>\n\n\n\n<p>\u793a\u4f8b\u4ee3\u7801\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code has-palette-color-4-color has-palette-color-8-background-color has-text-color has-background\"><code>#include &lt;stdlib.h>\r\n#include &lt;stdio.h>\r\n#include &lt;string.h>\r\n\r\nint main(int argc , char* argv&#91;])\r\n{\r\n    char *a = malloc(0x100);\r\n    char *b = malloc(0x100);\r\n    char *c = malloc(0x100);\r\n    free(b);\r\n    strcpy(a,\"1111\");\n    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-palette-color-2-color\">return 0;<\/mark>\n}<\/code><\/pre>\n\n\n\n<p>\u7f16\u8bd1\u540e\u5728main\u51fd\u6570\u7ed3\u5c3ereturn\u5904\u4e0b\u65ad\u70b9\uff0c\u4ee5\u4e0b\u4e3agdb\u8c03\u8bd5\u7684\u65f6\u5019\u67e5\u770b\u7684\u5806\u5757\u60c5\u51b5\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"981\" height=\"415\" src=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-9.png\" alt=\"\" class=\"wp-image-1969\" srcset=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-9.png?v=1703039844 981w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-9-300x127.png?v=1703039844 300w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-9-768x325.png?v=1703039844 768w\" sizes=\"(max-width: 981px) 100vw, 981px\" \/><\/figure>\n\n\n\n<p>\u89e3\u91ca\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul>\n<li>prev_size\uff1a\u503c\u4e3a0\uff0c\u4e0d\u91c7\u7528<\/li>\n\n\n\n<li>size\uff1a\u5f53\u524d\u5806\u5757\u7684\u5927\u5c0f\uff0c\u5927\u5c0f\u5b9e\u9645\u4e3a0x110\uff0cP\u6bd4\u7279\u4f4d\u503c\u4e3a1<\/li>\n\n\n\n<li>\u7528\u6237\u6570\u636e\u4e3a\"1111\"<\/li>\n<\/ul>\n\n\n\n<h2>\u4e09\u3001Bins<\/h2>\n\n\n\n<p>\u4e3a\u4e86\u89e3\u51b3\u5305\u62ec\u8bf8\u591a\u6d6a\u8d39\u95ee\u9898\uff0cfree\u6709\u4e00\u5957\u660e\u786e\u7684\u7b56\u7565\uff1a<\/p>\n\n\n\n<ul>\n<li>\u5982\u679cSize\u4e2dM\u4f4d\u88ab\u6807\u8bb0\uff0c\u8868\u660echunk\u7531mmap\u5206\u914d\uff0c\u5219\u76f4\u63a5\u5c06\u5176\u5f52\u8fd8\u7ed9\u7cfb\u7edf\uff1b<\/li>\n\n\n\n<li>\u5426\u5219\uff0c\u5982\u679c\u8be5chunk\u7684P\u4f4d\u672a\u6807\u8bb0\uff0c\u8868\u660e\u4e0a\u4e00\u4e2achunk\u5904\u4e8e\u91ca\u653e\uff0c\u5411\u4e0a\u5408\u5e76\u6210\u66f4\u5927\u7684chunk\uff1b<\/li>\n\n\n\n<li>\u5982\u679cchunk\u7684\u4e0b\u4e00\u4e2achunk\u672a\u88ab\u4f7f\u7528\uff0c\u5219\u5411\u4e0b\u5408\u5e76\u4e3a\u66f4\u5927\u7684chunk\uff1b<\/li>\n\n\n\n<li>\u5982\u679cchunk\u4e0eTop Chunk\u76f8\u90bb\uff0c\u5c31\u76f4\u63a5\u4e0e\u5176\u5408\u5e76\uff1b<\/li>\n\n\n\n<li>\u5426\u5219\uff0c\u653e\u5165\u9002\u5f53\u7684Bins\u4e2d\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u73b0\u4ee3\u5806\u7ba1\u7406\u5668\u5efa\u7acb\u4e86\u4e00\u7cfb\u5217\u7684Bins\u4ee5\u50a8\u5b58\u4e0d\u4e45\u524d\u88ab\u91ca\u653e\u7684chunk\uff0c\u5305\u62ec\uff1aSmallBin\u3001LargeBin\u3001UnsortedBin\u3001FastBin\u3001TcacheBin\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u7c7b\u522b<\/td><td>\u8bf4\u660e<\/td><\/tr><tr><td>SmallBin<\/td><td>\u603b\u517162\u4e2a\u5faa\u73af\u53cc\u94fe\u8868\uff0c\u5728 32 \u4f4d\u7cfb\u7edf\u4e0a\uff0c\u5c0f\u4e8e 512 \u5b57\u8282\uff08\u6216\u5728 64 \u4f4d\u7cfb\u7edf\u4e0a\u5c0f\u4e8e 1024 \u5b57\u8282\uff09\u3002<\/td><\/tr><tr><td>LargeBin<\/td><td>\u603b\u517163\u4e2a\u5faa\u73af\u53cc\u94fe\u8868\uff0c\u5728 64 \u4f4d\u7cfb\u7edf\u4e0a\u5927\u4e8e\u7b49\u4e8e 1024 \u5b57\u8282\u3002<\/td><\/tr><tr><td>UnsortedBin<\/td><td>\u603b\u51711\u4e2a\u5faa\u73af\u53cc\u94fe\u8868\uff0c\u5f53SmallBin\u548cLargeBin\u90fd\u4e0d\u80fd\u6ee1\u8db3\u7684\u65f6\u5019\u91c7\u7528\u3002<\/td><\/tr><tr><td>FastBin<\/td><td>\u603b\u517110\u4e2a\u5355\u94fe\u8868\uff0c\u6db5\u76d6\u5927\u5c0f\u4e3a 16\u300124\u300132\u300140\u300148\u300156\u300164\u300172\u300180 \u548c 88 \u5b57\u8282\u7684chunk\uff0c\u540c\u6837\u4e0d\u9700\u8981\u989d\u5916\u7684\u6392\u5e8f\u64cd\u4f5c\u3002\u4f46\u7279\u6b8a\u7684\u662f\uff0c\u88ab\u653e\u5165\u8fd9\u91cc\u7684chunk\u5e76\u4e0d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u672a\u88ab\u5229\u7528\u201d\uff0c\u5373\u4e0b\u4e00\u4e2achunk\u7684P\u4f4d\u4e0d\u4f1a\u88ab\u7f6e\u96f6\uff0c\u8fd9\u79cd\u8868\u73b0\u50cf\u662f\u8fd8\u672a\u88ab\u91ca\u653e\u4e00\u6837\u3002<\/td><\/tr><tr><td>TcacheBin<\/td><td>\u603b\u517164\u4e2a\u5355\u94fe\u8868\uff0c\u4eceglibc2.26\u5f00\u59cb\u589e\u52a0\uff0c\u6bcf\u4e2a\u94fe\u5305\u542b\u6700\u591a7\u4e2a\u8282\u70b9\uff0c\u4f18\u5148\u7ea7\u9ad8\u4e8efastbin\uff0c\u5728 64 \u4f4d\u7cfb\u7edf\u4e0a\u5c0f\u4e8e 1024 \u5b57\u8282\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u4ee5\u4e0b\u4ee5TcacheBin\u548cLargeBin\u4e3a\u4f8b\uff0c\u7b80\u5355\u4ecb\u7ecd\u4e00\u4e0b\u8fd9\u4e24\u79cd\u7c7b\u522b\u7684\u533a\u522b\u3002<\/p>\n\n\n\n<h4>1\u3001\u793a\u4f8b\u4ee3\u7801\uff08tcachebins\uff09<\/h4>\n\n\n\n<pre class=\"wp-block-code has-palette-color-4-color has-palette-color-8-background-color has-text-color has-background\"><code>#include &lt;stdlib.h>\n#include &lt;stdio.h>\n\nint main(int argc , char* argv&#91;])\n{\n    char *t&#91;7];\r\n    \r\n    for(int i=0;i&lt;7;i++)\r\n    {\r\n        t&#91;i]=malloc(0x100);\r\n    }\r\n   \r\n    for(int i=0;i&lt;7;i++)\r\n    {\r\n        free(t&#91;i]);\r\n    }\n    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-palette-color-2-color\">return 0;<\/mark>\n}<\/code><\/pre>\n\n\n\n<p>\u7f16\u8bd1\u540e\u5728main\u51fd\u6570\u7ed3\u5c3ereturn\u5904\u4e0b\u65ad\u70b9\uff0c\u4ee5\u4e0b\u4e3agdb\u8c03\u8bd5\u7684\u65f6\u5019\u67e5\u770b\u7684\u5806\u5757\u60c5\u51b5\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"618\" src=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-14-1024x618.png?v=1703042380\" alt=\"\" class=\"wp-image-1978\" srcset=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-14-1024x618.png?v=1703042380 1024w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-14-300x181.png?v=1703042380 300w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-14-768x464.png?v=1703042380 768w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-14.png?v=1703042380 1328w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u89e3\u91ca\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul>\n<li>0x5555555597e0\u4e3atcachebins\u7684\u4e00\u6761\u94fe\u4e2d\u7684\u4e00\u4e2a\u8282\u70b9<\/li>\n\n\n\n<li>prev_size\uff1a\u503c\u4e3a0<\/li>\n\n\n\n<li>size\uff1a\u5f53\u524d\u5806\u5757\u7684\u5927\u5c0f\uff0c\u5927\u5c0f\u5b9e\u9645\u4e3a0x110\uff0cP\u6bd4\u7279\u4f4d\u503c\u4e3a1<\/li>\n\n\n\n<li>fd\uff1a\u5f53\u524dlargebins\u94fe\u4e2d\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u5730\u5740<\/li>\n\n\n\n<li>bk\uff1a\u5f53\u524dlargebins\u94fe\u4e2d\u7684\u4e0a\u4e00\u4e2a\u8282\u70b9\u5730\u5740<\/li>\n<\/ul>\n\n\n\n<h4>2\u3001\u793a\u4f8b\u4ee3\u7801\uff08largebins\uff09<\/h4>\n\n\n\n<pre class=\"wp-block-code has-palette-color-4-color has-palette-color-8-background-color has-text-color has-background\"><code>#include &lt;stdlib.h>\n#include &lt;stdio.h>\n\nint main(int argc , char* argv&#91;])\n{\n    char *t&#91;7];\r\n    \r\n    for(int i=0;i&lt;7;i++)\r\n    {\r\n        t&#91;i]=malloc(0x410+0x10*i);\r\n        malloc(0x10);\r\n    }\r\n   \r\n    for(int i=0;i&lt;7;i++)\r\n    {\r\n        free(t&#91;i]);\r\n    }\r\n    \r\n    malloc(0x500);\n    <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-palette-color-2-color\">return 0;<\/mark>\n}<\/code><\/pre>\n\n\n\n<p>\u7f16\u8bd1\u540e\u5728main\u51fd\u6570\u7ed3\u5c3ereturn\u5904\u4e0b\u65ad\u70b9\uff0c\u4ee5\u4e0b\u4e3agdb\u8c03\u8bd5\u7684\u65f6\u5019\u67e5\u770b\u7684\u5806\u5757\u60c5\u51b5\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"575\" src=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-15-1024x575.png?v=1703042397\" alt=\"\" class=\"wp-image-1979\" srcset=\"https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-15-1024x575.png?v=1703042397 1024w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-15-300x168.png?v=1703042397 300w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-15-768x431.png?v=1703042397 768w, https:\/\/www.zhiwanyuzhou.com\/wp-content\/uploads\/2023\/12\/image-15.png?v=1703042397 1105w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u89e3\u91ca\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul>\n<li>0x55555555a3f0\u4e3alargebins\u7684\u4e00\u6761\u94fe\u4e2d\u7684\u4e00\u4e2a\u8282\u70b9<\/li>\n\n\n\n<li>prev_size\uff1a\u503c\u4e3a0<\/li>\n\n\n\n<li>size\uff1a\u5f53\u524d\u5806\u5757\u7684\u5927\u5c0f\uff0c\u5927\u5c0f\u5b9e\u9645\u4e3a0x440\uff0cP\u6bd4\u7279\u4f4d\u503c\u4e3a1<\/li>\n\n\n\n<li>fd\uff1a\u5f53\u524dlargebins\u94fe\u4e2d\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u5730\u5740<\/li>\n\n\n\n<li>bk\uff1a\u5f53\u524dlargebins\u94fe\u4e2d\u7684\u4e0a\u4e00\u4e2a\u8282\u70b9\u5730\u5740<\/li>\n\n\n\n<li>fd_nextsize\uff1a\u5f53\u524dlargebins\u94fe\u4e2d\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u5730\u5740\uff1f\uff1f\uff1f<\/li>\n\n\n\n<li>bk_nextsize\uff1a\u5f53\u524dlargebins\u94fe\u4e2d\u7684\u4e0a\u4e00\u4e2a\u8282\u70b9\u5730\u5740\uff1f\uff1f\uff1f<\/li>\n<\/ul>\n\n\n\n<h2>\u56db\u3001\u53c2\u8003\u94fe\u63a5<\/h2>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/Tokameine\/article\/details\/119297245\">https:\/\/blog.csdn.net\/Tokameine\/article\/details\/119297245<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/m0_52343643\/article\/details\/126945803\">https:\/\/blog.csdn.net\/m0_52343643\/article\/details\/126945803<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.51cto.com\/u_15346415\/3675227\">https:\/\/blog.51cto.com\/u_15346415\/3675227<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.cnblogs.com\/hyq2\/p\/15998570.html\">https:\/\/www.cnblogs.com\/hyq2\/p\/15998570.html<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/alimingh\/article\/details\/110931455\">https:\/\/blog.csdn.net\/alimingh\/article\/details\/110931455<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u4ec0\u4e48\u662f\u5806 \u5728\u7a0b\u5e8f\u8fd0\u884c\u8fc7\u7a0b\u4e2d\uff0c\u5806\u53ef\u4ee5\u63d0\u4f9b\u52a8\u6001\u5206\u914d\u7684\u5185\u5b58\uff0c\u5141\u8bb8\u7a0b\u5e8f\u7533\u8bf7\u5927\u5c0f\u672a\u77e5\u7684\u5185\u5b58\u3002\u5806\u5176\u5b9e\u5c31\u662f\u7a0b\u5e8f\u865a\u62df\u5730\u5740\u7a7a\u95f4\u7684\u4e00\u5757\u8fde\u7eed\u7684\u7ebf\u6027\u533a\u57df\uff0c\u5b83\u7531\u4f4e\u5730\u5740\u5411\u9ad8\u5730\u5740\u65b9\u5411\u589e\u957f\u3002\u6211\u4eec\u4e00\u822c\u79f0\u7ba1\u7406\u5806\u7684\u90a3\u90e8\u5206\u7a0b\u5e8f\u4e3a\u5806\u7ba1\u7406\u5668\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[23],"tags":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/posts\/1949"}],"collection":[{"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/comments?post=1949"}],"version-history":[{"count":16,"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/posts\/1949\/revisions"}],"predecessor-version":[{"id":1981,"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/posts\/1949\/revisions\/1981"}],"wp:attachment":[{"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/media?parent=1949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/categories?post=1949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhiwanyuzhou.com\/index.php\/wp-json\/wp\/v2\/tags?post=1949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}